Beschreibung des Fehlers:
Einige Team Captains konnten die Ergebnisse von Mannschaftskämpfen nicht online (im Front-end) melden. Ihnen wurde eine Liste (Auswahl) der Runden angezeigt:
Wenn sie darauf klickten, bekamen sie den Fehler 404 (= die angeforderte Seite wurde nicht gefunden):
Ursache des Fehlers:
Einer oder mehrere Joomla User Accounts sind von einem "Bösen Buben" oder versehentlich gelöscht worden.
Beispiel und Details:
Der Mannschaftsleiter des Teams ist XY. Dieser hat in der aktuellen Saison im CLM die ID 589 mit Bezug auf den Joomla-User 1068. Doch diesen Joomla-User gibt’s gar nicht mehr. Der Joomla-User-Account 1068 ist gelöscht worden. Jeder CLM-User braucht einen Joomla-User als Bezug.
Meldung im CLM: Warning JUser: :_load:
Unable to load user with ID: 1068
Die Existenz des Joomla-Users und vieles mehr wird getestet, doch leider bringt die Routine keine ordentliche Fehleranzeige, wie wir jetzt feststellen. Ich selbst habe auch noch nie eine solche Dateninkonsistenz gesehen.
Lösung des Problems:
Es ist offensichtlich, daß die Dateninkonsistenz behoben werden muß. Mit anderen Worten: Die Zuordnung des CLM-Users zu einem Joomla-User muß wiederhergestellt werden.
Möglichkeit 1:
Alle CLM-User, denen kein Joomla-User zugeordnet ist, werden im CLM gelöscht. Dazu muß man im CLM Backend, User, jeden User anklicken. Wenn dem CLM-User kein Joomla-User zugeordnet ist, erscheint eine Warnmeldung oben im Fenster.
Vor dem Löschen sollte man die E-Mail-Adresse kopieren, denn nach der Aktion muß man alle diese User anschreiben und auffordern, sich erneut zu registrieren. Danach können diese User wieder im CLM angelegt werden.
Nachteil: das Ganze dauert recht lange und weitere Einträge z.B. bei Mannschaften als Team Captain sind nötig.
Möglichkeit 2:
Man legt alle fehlenden Joomla-User direkt in der Tabelle #_users in der Datenbank an. Dazu greift man mittels phpMyAdmin auf die Datenbank zu, exportiert man diese Tabelle (#_users) als csv-Datei, öffnet sie mit LibreOfficeCalc (Spreadsheets) (oder einen anderen Tabellenkalkulation-Programm) und trägt dort die fehlenden Daten ein.
Die Daten (Joomla-ID, Name, E-Mail-Adresse) entnimmt man einfach aus dem CLM Backend, Anzeige der User Details. In die Spalte "password" kopiert man bei allen einzurichtenden Usern den code eines bekannten Passwortes.
Die weiteren Spalten sind dann für alle gleich: block = 0, sendEmail = 0, register date = 2019-05-28 16:21:16 (oder eine andere Angabe), lastvisitDate = 0000-00-00 00:00:00, activation leer lassen, params = {"timezone":"","admin_style":"","admin_language":"","language":"","editor":"","helpsite":""}, lastResettime = 0000-00-00 00:00:00, resetCount = 0, otpKey und otep leer lassen, requireReset = 1 (= bei der Anmeldung muß der Use ein neues Passwort eingeben. Dadurch wird der Makel behoben, daß alle das gleiche Passwort bekommen haben). Alle vorhandenen User Einträge werden gelöscht, so daß nur noch die fehlenden User in der Tabelle stehen, die Tabelle wird unter einem neuen Namen (z.B. #_user-2.csv) als csv-Datei gespeichert und anschließend mittels phpMyAdmin in der Datenbank in die Tabelle #_user importiert. Jetzt geht man ins Joomla Back-end, User, um die importierten User den Joomla User Gruppen zuzuordnen. Hierbei können auch weitere Anpassungen vorgenommen werden, wenn nötig.
Vorteil: das Ganze ist schnell machbar und alles funktioniert danach sofort ohne Fehler.
P.S.: Ich habe dieses Problem wie in Möglichkeit 2 beschrieben, erfolgreich gelöst.
Fragen hierzu bitte per e-mail an: Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!