Technikai fórum

csoportok feltöltése

 
Takács Ottó
csoportok feltöltése
Takács Ottó írta 2008. január 8., kedd, 13:59 időpontban
 

Néhány kurzus alá sok csoportot kell felraknom 1.5.3+ ban. A helpben találtam leírást -csoportok feltöltése néven - hogy milyen legyen a feltöltendő csv, csak az nem derül ki honnan tudom indítani az uploadot?

A felhasználók tömegesnél az adminisztrációból megy és itt? Tudja valaki az okosat?

Kép
Tárgy: csoportok feltöltése
Papp Gyula írta 2008. január 9., szerda, 18:11 időpontban
 

Nos, első lépésben ellenőrízni kell, hogy a hitelesítés mi alapján történik. Ehhez adminisztrátorként be kell menni az Adminisztrációs felületre és ott a Felhasználó szakasz alatt a Hitelesítést kell választani. A helyes beállítás a "Csak kézzel létrehozott felhasználói azonosítól". Ha nem ez lenne beállítva, a művelet (feltöltés) erejéig át kell állítani.

A további eljárásnak a lényege az lesz, hogy úgy teszünk, mintha új felhasználókat rendelnénk (töltenénk fel) az oldalhoz, akár így van ez, akár nem.

Ha a csoportba való feltöltés során valóban feltöltünk új felhasználókat is, a művelet előtt be kell állítani, hogy mely mezőket szeretnénk zárolni a felhasználói rekorban. Például ne változtathassa meg a nevét, mert általában név szerint keresünk (Én egyszer rég kerestem X Y-ont, de sehogysem akaródzott megtalálni, majd pár nap múlva megláttam a képét, s kiderült, hogy Tapsi Hapsi-nak nevezte át magát. mosoly) Aztán célszerű – a későbbiekben a beiratkozások miatt kitölteni az Azonosítószám nevű mezőt (ez szintén egyedi azonosító) – zárolni, nehogy megváltoztassa, mert az sok bajt okozhat.

Ha belőttem a zárolásokat (Figyelem: ezt hitelesítési tipusonként külön-külön kell elfátszani!), jöhet a CSV összeállítása. A következő mezők kellenek:

  • username;
  • password;
  • lasztname;
  • firstname;
  • email;
  • course1, course2, .. course5;
  • group1, group2 .. group5.

Ahol a course1-től 5-ig alatt azoknak a kurzusoknak a rövid nevét adjuk meg, amikre be szeretnénk iratni a tanulókat. A group1-től 5-ig alatt azoknak a csoportoknak a neve szerepeljen – !kurzusonként –, amelyekbe be akarom sorolni a tanulókat. Azért csak öt, mert csak öt ismétlődésre van megírva a kód. Jobban mondva a tömb ami tárolja az infókat csak öt kurzust képes kezelni.

No, de azért szeretjük a szabad forráskódot mert máris módosíthatjuk. vigyor

A bátrak a következő állományt módosítsák:

http://host/moodle/admin/uploaduser.php

Nekem már csak 1,6-os forrás van kéznél, abban a 109. sorban kezdődik a móka (a kuezusok felsorolása.) Nos, kinek mennyi kurzusra van szüksége, annyival toldja meg a sort.

Fihyelem!: A kurzusból és csoprtból ugyanannyinak kell lenni. (már nem emlékszem, hogy 1.5.x-ben létezik-e a type mező, de ha igen, azt is szinkronba kell hozni)

Íme a forrás:

    // make arrays of valid fields for error checking
    $required = array("username" => 1,
            "password" => !$createpassword,
            "firstname" => 1,
            "lastname" => 1,
            "email" => 1);
    $optionalDefaults = array("institution" => 1,
            "department" => 1,
            "city" => 1,
            "country" => 1,
            "lang" => 1,
            "auth" => 1,
            "timezone" => 1);
    $optional = array("idnumber" => 1,
            "icq" => 1,
            "phone1" => 1,
            "phone2" => 1,
            "address" => 1,
            "url" => 1,
            "description" => 1,
            "mailformat" => 1,
            "maildisplay" => 1,
            "htmleditor" => 1,
            "autosubscribe" => 1,
            "idnumber" => 1,
            "icq" => 1,
            "course1" => 1,
            "course2" => 1,
            "course3" => 1,
            "course4" => 1,
            "course5" => 1,
            "group1" => 1,
            "group2" => 1,
            "group3" => 1,
            "group4" => 1,
            "group5" => 1,
            "type1" => 1,
            "type2" => 1,
            "type3" => 1,
            "type4" => 1,
            "type5" => 1,
            "password" => $createpassword,
            "oldusername" => $allowrenames);

Aztán ugyanezt el kell játszani a beirató eljárás megfelelő soraival is (kb. a 196. sor tájékán)

Ismét egy forrás:

                    $user->confirmed = 1;
                     $user->timemodified = time();
                    $linenum++;
                    $username = $user->username;
                    $addcourse[0] = $user->course1;
                    $addcourse[1] = $user->course2;
                    $addcourse[2] = $user->course3;
                    $addcourse[3] = $user->course4;
                    $addcourse[4] = $user->course5;
                    $addgroup[0] = $user->group1;
                    $addgroup[1] = $user->group2;
                    $addgroup[2] = $user->group3;
                    $addgroup[3] = $user->group4;
                    $addgroup[4] = $user->group5;
                    $addtype[0] = $user->type1;
                    $addtype[1] = $user->type2;
                    $addtype[2] = $user->type3;
                    $addtype[3] = $user->type4;
                    $addtype[4] = $user->type5;

No és a következő jellegű sorokban is javítani kelll az 5-öt...

                    for ($i=0; $i<5; $i++) {

Vissza az eredeti témához! Kész a feltöltendő CSV állomány. Létrehoztam minden kurzust, benne minden csoportot. Jöjjön a feltöltés!

A nyitó oldalon az Adminisztrációs blokkban válasszuk a Felehasználó menüpontot, majd a Felhasználók feltöltése menüpontot. Ott az űrlap segítségével feltöltjül a CSV állományt.

Ha a feltöltendő felhasználók már benn vannak a rendszerben, mindenkire kapunk egy hibaüzenetet, hogy már létezik, nem hajlandó létrehozmi, majd kurzusonként egy nyugtázást – hogy az xy kurzusra beíratta. Ha sok embert töltünk így fel érdemes a nyugtázó oldalról egy másolatot (mentést) Ikészíteni, hogy utólag is át lehessen nézni a listát, nem tartalmaz-e olyan hibaüzenetet, amely elkerülte a figyelmünket.

Azt hiszem kész.... mosoly

Takács Ottó
Tárgy: csoportok feltöltése
Takács Ottó írta 2008. január 16., szerda, 12:00 időpontban
 

Amit írtál az a következő lépés lesz, ha felraktam a csoportokat. A kurzusban még nincs létrehozva az a közel 200 csoport ami kell ott. De nem szeretném egyenként létrehozni, hanem feltölteni csv-ből.

A help ír ilyet: (Upload Groups)

Ennek a segítségével csoportokat tölthet fel a Moodle-ba.

Íme egy példa egy megfelelő importálási állományra:

groupname,idnumber,lang,description,picture

group1, Phil101, en, this group requires extra attention!, 0

group2, Math243, , ,

Ez mind rendben. Megcsináltam ennek megfelelően a csv-t. De hogyan töltöm fel?

Kép
Tárgy: csoportok feltöltése
Papp Gyula írta 2008. január 16., szerda, 21:24 időpontban
 
A csoportimportálás helye: a kurzus "Adminisztráció" blokkja --> "Importálás" --> "Csoportok importálása".
Ki kell választani a cvs állományt és feltölteni (importálni). Jó munkát!
Takács Ottó
Tárgy: csoportok feltöltése
Takács Ottó írta 2008. január 17., csütörtök, 11:43 időpontban
 

Sajnos 1.5.3+ ban én nem látok "Importálás" --> "Csoportok importálása" részt.

Ilyen a kurzus menűm:

kurzusadmin

Kép
Tárgy: csoportok feltöltése
Papp Gyula írta 2008. január 17., csütörtök, 14:00 időpontban
 
Sajnos ez igaz. Ha a szerver paraéterei engedik célszerű upgrade-elni. Vagy 1.6.5+-ra, vagy 1.8-ra. Az 1.7-es sorozatot javaslom kihagyni. Egyben őszinte részvétem a csoportgyártás miatt :-(
Kép
Tárgy: csoportok feltöltése
Bíró Péter írta 2009. január 6., kedd, 10:35 időpontban
 

Sziasztok!

Az lenne a kérdésem, hogy lehet-e globális csoportokat létrehozni és ahhoz embereket rendelni, amit a moodle felületen mindenhonnan elérek.
Az szeretném,  hogy csinálok minden osztálynak egy csopotot, és ha egy osztályt kell beíratni egy kurzusra, akkor csak ezt a csoportot kellene hozzáadni a szerepek hozzárendelésénél, nem a sok ember közül válogatni.
kösz

Kép
Tárgy: csoportok feltöltése
Bánhidi Árpád írta 2009. január 6., kedd, 12:36 időpontban
 
Szervusz!

A problémára két megoldást javaslok.

Az első módszer a kézi beiratás egyszerű állomány segítségével. A súgó jól leírja, hogy milyen mezőket kell tartalmazzon a fájl. Minden osztályra kell készíteni egy ilyet kurzusonként és feltölteni a szerverre.
Ehhez hasonló az, ha külső adatbázist használsz a beiratásokra. Egy táblát kell létrehozni és az beiratkozási beállításoknál megadni a mezőhozzárendeléseket.

A másik megoldás, ha metakurzusokat használsz. Erről a 2007-es MoodleMoot-on tartottam előadást, érdemes megnézni annak az anyagát. A lényeg, hogy készítesz egy kurzust (nevezzük osztályfőnöki kurzusnak), ahova beiratod a diákokat. Ez után minden tantárgyi kurzust metakurzussá kell alakítani és megadni neki a megfelelő osztály kurzusát alkurzusként.

A globális csoportokkal nem tudod megoldani ezt a problémát. Azok csak arra valók, hogy bizonyos jogokat meghatározott felhasználókhoz rendelj. A kurzustagság nem ilyen.

Jó példa a globális csoportok használatára, ha létrehozol egy Shared Question Creator csoportot olyan felhasználóknak, akik a "feladatbank" (globális kérdés adatbázis) kérdéseit szerkeszthetik és egy Shared Question User csoportot azoknak, akik használhatják ezeket a kérdéseket. Így bármely tantárgyi kurzus esetében ezek a felhasználók el tudják érni a központi kérdéseket és azokból irathatnak tesztet.


Jó munkát!
Kép
Tárgy: csoportok feltöltése
Bíró Péter írta 2009. január 6., kedd, 23:29 időpontban
 

Szia!
Az első megoldáson már én is gondolkoztam, azt fogom alkalmazni. A másodikat pedig - ha időm engedi - akkor tesztelem :) (metakurzust még nem használtam soha). Köszönöm a tippeket!
Üdv

Kép
Tárgy: csoportok feltöltése
Bánhidi Árpád írta 2009. január 7., szerda, 12:40 időpontban
 
Szia!

Csak a teljesség kedvéért...

Közben eszembe jutott még egy módja az első megoldásnak. Az Felhasználók -> Fiókok -> Felhasználók feltöltése menüpontban nem csak felhasználókat tudsz feltölteni, hanem a meglévő felhasználók adatait is módosítani. Ilyen lehet például a kurzustagság is. Tegnap kipróbáltam, elég, ha csak a következő néhány adatot adod meg (az első sor a mezőket írja le):

username,course1
tesztuser,kon08

Ezzel a módszerrel akár a kurzuson belüli csoportbeosztásokat is lehet automatizálni, ha a group1 mezőt hozzátesszük.

Jó munkát!