Benutzerdaten für Moodle mit einer Tabellenkalkulation erzeugen
Moodle bietet die Möglichkeit des CSV-Uploads, um Datenbestände zu pflegen. Wenn man in der – nach meiner Ansicht – bedauernswerten Lage ist, keine schon vorhandene externe Authentifizierungsmöglichkeit nutzen zu können, kann das ein einigermaßen komfortabler Weg sein, um Userdaten zu verwalten. Moodle bietet einige nützliche Funktionen, um Nutzernamen aus Tabellendaten zu erzeugen – vielseitiger ist aber der Weg über die Tabellenkalkulation.
Jede Tabellenkalkulation besitzt Formeln für Text – wenn man sich nur diese anzeigen lässt, wird man sehr schnell fündig.
- KLEIN() wandelt einen Text in Kleinbuchstaben um
- LINKS() liefert den linken Teil einer Zeichenkette zurück, durch zusätzliches Argument kann ich sagen, wie lang der Teil sein soll, standardmäßig gilt die Länge 1.
- VERKETTEN() verknüpft zwei Zeichenketten
A | B | C | |
1 | Riecken | Maik |
Um den Benutzernamen „mriecken“ zu generieren, gebe ich in der Zelle A1 folgende Formel ein:
=KLEIN(VERKETTEN(LINKS(C1);B1))
Gehen wir das mal von innen nach außen durch:
=LINKS(C1) gibt den Buchstaben „M“ zurück
=VERKETTEN((LINKS(C1);B1) gibt die Zeichenkette „MRiecken“ zurück
=KLEIN(VERKETTEN(LINKS(C1);B1)) macht diese Zeichenkette 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 schnippelt die eben rechts
=TEIL() – schneidet in der Mitte aus
=GROSS() gibt es auch…
Das geht auch für Passwörter, die man dann gleich per Serienbrief mitteilen kann. Gefunden/geklaut/neu zusammengefasst habe ich das (von) hier. Dafür nimmt man ein eigenes Tabellenblatt und erstellt folgenden Inhalt:
- Zelle A1 bis A9: Zahlen 1 bis 9
- Zelle A10 bis A35: Kleinbuchstabden a bis z
- Zelle A36 bis A61: Großbuchstaben A bis Z
Dann in eine leere Zelle folgende 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 sechsstellige Passwörter. Für mehr Stellen, muss man einfach noch zusätzliche „&INDIREKT(„A“&ZUFALLSBEREICH(1;61)“ am Ende einfügen. Diese Formel kopiert man im separaten Tabellenblatt einfach herunter und fügt dann über „Inhalte einfügen“ die erstellten Passworte in die Tabelle im Passwortfeld ein, die die Nutzerdaten enthält. Man kann das nicht direkt im gleichen Tabellenblatt machen, da die Formel spätestens bei einem neuen Aufruf der Datei neue Passwörter erzeugt…
Für die ganz Bequemen gibt es hier zwei Downloads für ein Mustertabellenblatt zur Generierung von Passworten. Dabei habe ich bereits Zeichen eliminiert, die der Nutzer gerne verwechselt, etwa den Buchstaben „O“ und die Null oder den Buchstaben „l“ (gerne mit der Eins verwechselt). Die Tabelle bietet in der ersten Spalte den Pool an Zufallzeichen, in der zweiten ein sechsstelliges und in der dritten ein achtstelliges Zufallspasswort an. Sie lässt sich leicht an die eigenen Bedürfnisse anpassen.
- Datei im OpenOffice-Format: zufallspassworte_openoffice
- Datei im Excel-Format: zufallspassworte_excel
Zusammen mit den anderen Möglichkeiten, die durch den CSV-Import in Moodle gegeben sind, lassen sich damit spannende Dinge anstellen.