Anzeige
Tutorialbeschreibung

Batch-Import von beliebig vielen Benutzern in Joomla - low tech

Batch-Import von beliebig vielen Benutzern in Joomla - low tech

In fünf einfachen Schritten eine beliebige Menge Joomla-Benutzer aus Excel-Listen heraus anlegen. Grundkenntnisse in phpMyAdmin & Excel erforderlich. Inklusive „Helfer“-Dateien. Die Kurzanleitung wird als Hilfestellung in Form einer TXT-Datei mit dem Download der Arbeitsdateien mitgeliefert. Denselben Text findet ihr daneben auch in der herunterladbaren PDF-Kurzanleitung.

Noch ein Hinweis: Das Verfahren betrifft nur den Joomla-Core und evtl. bereits installierte Komponenten, die darauf zurückgreifen.


Moin zusammen,

ich stand heute vor der Aufgabe, über 400 neue Nutzer in Joomla anlegen zu müssen – auf Basis einer Excel-Liste. Nun hätte man eine Komponente kaufen können, aber eigentlich geht es auch recht einfach manuell via phpMyAdmin. Da es im Web zusammenfassend nicht wirklich dokumentiert ist (zumindest bin ich nicht so richtig fündig geworden), hier ein kleines Tutorial, inklusive „Helfer“-Dateien. Es erfordert zwar ein wenig Handarbeit, funktioniert aber tadellos und ist in zehn bis fünfzehn Minuten erledigt!

Betroffene Tabellen in Joomla:
[prefix]_users
[prefix]_user_usergroup_map
 

1. (Vom Kunden) gelieferte Excel-Liste aufbereiten

Die Spaltennamen müssen der der DB-Tabelle entsprechen. Oft ist es so, dass die Namen in zwei (oder mehr) Spalten stehen. Diese können mit dem Excel-Befehl VERKETTEN() in einer Spalte zusammengeführt werden. Die Passwörter können als Klartext in der Tabelle stehen (z. B. eine Zahlenfolge, variiert mit der Random-Funktion in Excel). Um die MD5-Kodierung kümmern wir uns in phpMyAdmin. Alternativ gibt es auch die Möglichkeit, ein VBA-Script zu nutzen (-> Google). Da ich in Excel aber nur rudimentärste Kenntnisse habe, war mir das zu kompliziert.

Datei „bsp_gelieferte_tab_optimiert.xls“ zeigt das Zusammenführen des Benutzernamens (Spalte „fullname“).
 

2. Liste für den DB-Import vorbereiten

Zuerst wird die Liste mit den benötigten Spaltennamen eingerichtet. Die Daten übertragen wir spaltenweise via C&P. Die ID muss mit angegeben werden. Die kann mit der üblichen Excel-Funktion erhöht werden. Genauso verfahren wir auch mit den Passwörtern.

Datei „bsp_user.xlsx“
 

3. Import in phpMyAdmin

Als Nächstes wird die Liste als CSV exportiert und in der Tabelle „[prefix]_users“ importiert. Die CSV-Datei darf keine Spaltennamen enthalten. Die Spaltennamen werden kommasepariert in phpMyAdmin eingegeben. Dann Datei wählen und Upload bestätigen. Nun sollten die neuen Datensätze in der Tabelle enthalten sein.
 

4. Passwort MD5-Hash erstellen

Um alle Passwörter, die z. Zt. noch als Klartext in der DB stehen, zu codieren (ansonsten funktioniert der Login auch nicht), nehmen wir den Update-Befehl inkl. MD5-Funktion zu Hilfe. In einer neuen Excel-Liste tragen wir in eine Spalte die Basis-Query, in die nächste die ID und abschließend den Marker. In einer weiteren Spalte wird die komplette Abfrage mit dem Verketten-Befehl zusammengesetzt. Durch einfaches Herunterziehen (Excel-Funktion) der markierten Zellen können wir einfach inkrementiert so viele Queries erstellen, wie wir an eingefügten Benutzern haben. Die Spalte mit den kompletten Abfragen kopieren wir einfach in das SQL-Eingabefeld der Tabelle „[prefix]_users“ und schon sind alle Passwörter codiert.

Beispieldatei „set md5.xlsx“
 

5. Benutzerrechte zuweisen

Abschließend müssen nur noch die Benutzerrechte zugewiesen werden. Diese werden in die Tabelle „[prefix]_user_usergroup_map“ geschrieben. Das Vorgehen ist denkbar einfach: Wir bereiten eine zweispaltige Tabelle mit den gleichen Spaltennamen vor und aus der User-Tabelle kopieren wir die Spalte mit den IDs. Die Benutzerrechte setzen wir mit der entsprechenden Zahl aus der Tabelle „[prefix]_usergroups“. Diese können wir wieder excelmäßig (durch Herunterziehen) auf alle anderen Zeilen übertragen. Danach wird die Liste wieder als CSV exportiert und nach demselben Schema wie oben in die Tabelle „[prefix]_user_usergroup_map“ importiert.

Beispieldatei „usergroupmap.xlsx“
 

6. Fertig – Bier genießen :-)


Ich hoffe, dass ich dem ein oder anderen damit helfen konnte. C & C willkommen.

Sonnige Grüße,

Tom

PS: Die Dateien befinden sich in der angehängten ZIP.

Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von franzg
  • 14.10.2016 - 01:26

Vielen Dank für das Tut!

Portrait von Domingo
  • 12.10.2016 - 01:14

Klasse!

Portrait von ninafee
  • 11.10.2016 - 23:30

Vielen Dank für das Tutorial.

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 11.10.2016 - 22:41

Danke für das Tutorial.

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 11.10.2016 - 21:35

Vielen Dank

Portrait von bariton
  • 11.10.2016 - 21:13

Danke für das Tutorial.

Portrait von MARIA52
  • 11.10.2016 - 20:32

Danke für das Tutorial.

Portrait von jmittendorf
  • 11.10.2016 - 20:29

Danke für das Tutorial.

Aber wieso werden da 20 Punkte abgezogen, wenn da steht: Tutorial lesen (0 Pkt.)

Portrait von rocking_sid
  • 11.10.2016 - 19:47

Vielen Dank für das ausführliche Tutorial!

x
×
×
teststefan