Fehler Class 'JFormFieldPredefinedList' not found' nach Upgrade auf 3.10.x

  • Hallo Joomla User,


    nach gescheitertem Upgradeversuch von Version 3.10.5 auf Version 4 habe ich das Backup eingespielt.


    Frontend funtioniert wieder travel.palme-webdesign.com


    Backend: Oberfläche erscheint, Funktionen wie z.B.: Inhalte, Benutzer, etc bringen Fehler


    >>Class 'JFormFieldPredefinedList' not found <<



    Woran kann das liegen ?


    Provider: Hetzner


    Joomla Version aktuell 3.10.5


    PHP Version 7.4


    Backup: Dateien und MySQL Datenbank



    Für einen Hinweis bin ich sehr dankbar


    Gerhard vulgo Toni

  • Hallo Viviana,

    Nein, ich habe leider nicht alles gelöscht bevor ich das backup eingespielt habe.

    Wußte ich nicht, war vermutlich auch ein Grund des Fehlers.


    Cristine,

    das angehängte Skriptum werde ich durcharbeiten, bin aktuell unterwegs.

    Melde mich heute abends wieder


    Danke erstmal

    Gerhard

  • Hallo Christine und Viviana,


    habe nun folgende Aktionen durchgeführt

    - Verzeichnis ( puplic_html/travel ) gelöscht und Backup eingespielt

    - Datenbank wiederhegestellt (wo ist diese eigentlich gespeichert ? Ich nutze da die Wiederherstellungsfunktion vom Provider Hetzner)


    Ergebnis:

    - Frontend funtkioniert nach wie vor

    - Backend funtkioniert bedingt

    Menüpunkt Kontrollzentrum lässt sich aufrufen, Untermenüs nicht

    da kommt jeweils der Fehler: Class 'JFormFieldPredefinedList' not found)


    Also erstmal nicht erfogreich

    Lässt sich da 'von Hand' etwas ergänzen ?

    Die Schiene mit den Backups scheint ja nun ausgeschöpft


    Liebe Grüße

    Gerhard

  • Das für später: Man updatet nicht von 3.10.5 nach 4. Man geht immer von letzter verfügbarer 3er-Version aus bevor man auf 4 anhebt. Große Sprünge lohnen sich da nicht.


    Wenn ich jetzt also davon ausgehe, dass du tatsächlich auf 3.10.5 bist, lädst du dir hier das ZIP-Paket "Joomla_3.10.5-Stable-Full_Package.zip" herunter.


    - Das entpackst du auf deinem Rechner.

    - Lösche den Ordner /installation/ UND den Ordner /templates/.

    - Den Rest kopierst du via FTP über deine Joomla-Installation drüber. Sollte der FTP-Client fragen, sagst du ihm die Dateien zu ersetzen.

    - Prüfe, ob hinterher Übertragungsfehler angezeigt werden. Das kann bspw. passieren, wenn zu viele gleichzeitige Übertragungen eingestellt sind.

    - Dann löscht du auf FTP die Inhalte der Ordner /cache/, /administrator/cache/ und /tmp/.


    Im Backend gehst du nach Erweiterungen > Datenbank und klickst "Reparieren", egal was angezeigt wird.


    Und jetzt folgen erfahrungsgemäß weitere Posts mit 111 weiteren Vorschlägen wie man das anders machen kann ;) Ich steh halt auf die gründliche, vollständige Version.


    Zumindest kann man hinterher sicher sein, dass jetzt alle Core-Dateien vollständig vorliegen.

  • Und jetzt folgen erfahrungsgemäß weitere Posts mit 111 weiteren Vorschlägen wie man das anders machen kann ;) Ich steh halt auf die gründliche, vollständige Version.


    Zumindest kann man hinterher sicher sein, dass jetzt alle Core-Dateien vollständig vorliegen.

    OK, dann hier die 112. Meldung :)


    Mich irritiert das hier:

    habe nun folgende Aktionen durchgeführt

    - Verzeichnis ( puplic_html/travel ) gelöscht und Backup eingespielt

    - Datenbank wiederhegestellt (wo ist diese eigentlich gespeichert ? Ich nutze da die Wiederherstellungsfunktion vom Provider Hetzner)

    was heißt Datenbank wieder hergestellt bzw. "Wiederherstellungsfunktion?", weil:

    da kommt jeweils der Fehler: Class 'JFormFieldPredefinedList' not found)

    habe daher die Vermutung, dass die DB (vorher) nicht leer war.


    Liebe Grüße

    Christine

  • Die SQL-Dateien, die da versucht werden neu einzuspielen, sind ebenfalls 4er und sollten im Webspace gar nicht mehr vorhanden sein, wenn deine Angaben oben richtig sind, dass du den Webspace zuvor bereinigt hast.


    Kurz: Du hast keine "reinen" Backups für Joomla 3 verwendet, sondern irgendein Mischmasch aus 3 und 4. Oder nur 4, oder den Webspace doch nicht richtig bereinigt oder ...(?)


    Datenbank weiß man natürlich nicht, was du da jetzt momentan hast. Joomla "glaubt" jedenfalls es sei 4.


    (Deshalb bin ich auch Gegner von "Backups vom Provider einspielen". Joomla-Backups legt man selber an. Gibt ja Tools, die man aus dem Backend starten kann. Nur dann ist gewährleistet, dass Webspace und Datenbank garantiert bei der Wiederherstellung zusammenpassen.)


    Was du tun kannst, ist versuchen, beim Provider Backups zu finden, die mit Sicherheit von vor deinem Joomla-4-Versuch stammen. Da man nicht weiß, wie dein Provider vorgeht, wenn man "Datenbank-Backup wieder einspielt", ob er da auch einfach nur gnadenlos mischt oder die Datenbank tatsächlich leert und neu einspielt: Siehe Hinweis von christine2

    habe daher die Vermutung, dass die DB (vorher) nicht leer war.

    (Sie muss nicht immer leer sein, wenn man es richtig macht. Nur nebenbei...)


    Und dann ist auch nicht gewährleistet, dass die Backups vom Provider tatsächlich vollständig sind.

  • Ja, das befürchte ich jetzt auch. Ich habe aktuell keine reine 3er Datenbank


    Ebenso muss ich feststellen, dass ich keine reine 3er Datenbank - als Backup - mehr habe. Mein Provider Hetzner.com sichert automatisch täglich die Dateien und die Datenbank - allerdings nur für 2 Wochen. Da habe ich verpasst eine eigene Sicherung zu machen.

    Habe Hetzner.com angeschrieben, ob dort noch Zugriff auf Backups vom August vorliegen


    Falls nicht, gibt es eine Möglichkeit die Daten (über PHP-Admin kann ich ja auf die DB zugreifen) in eine leere Version 3 DB einzuspielen ?

    Würde das dann funtkionieren ?


    Grüße

    Gerhard

  • Nein, du kannst nicht einfach eine "verschmutzte" Datenbank, egal in welche Joomla-Version reinkopieren und erwarten, dass das dann funktioniert. Vielleicht gerade so, dass du z.B. alle Beiträge etc. im Backend öffnen kannst und neu speichern und so "reparieren". Mit Glück halt.


    Letztlich kommt es bei so Rettungsversuchen darauf an, welche Erweiterungen du verwendest, wer was wo in die DB geschrieben hat. Wie viel darin jatzt Joomla 3 oder Joomla 4 ist. Wie viel es insgesamt ist usw. usf.

  • Habe jetzt (anscheinend ausnahmsweise) noch eine ältere Sicherung vom August von meinem Provider erhalten

    Folgende DB wurde in mein Portal eingespielt:

    DB: wagetravel_backup Server: sql377.your-server.de Login: baum_ Passwort: xyz........

    bisher war es die DB:

    DB: wagetravel Server: sql395.your-server.de Login: baum_ Passwort: 123........


    Da ich nicht per Joomla3 in den Konfigurationssteil reinkomme (Fehler: Call to undefined method Joomla\CMS\Form\Field\PluginsField::getDatabase() )

    kann ich in der Joomla3 Oberfläche die neue DB inkl Passwort nicht zuordnen

    Gibt es da eine andere Möglichkeit, z.B.: über FTP eine Möglichkeit ?

  • Gibt es da eine andere Möglichkeit, z.B.: über FTP eine Möglichkeit ?

    Du kannst das in die configuration.php eintragen.


    Beachten musst du, dass diese Datei per FTP nicht immer schreibbar ist. Dann musst du die Datei-Rechte auf 777 setzen. Hinterher im Backend die Konfiguration 1x speichern, damit sie wieder die alten Rechte bekommt.


    Ein Beispiel der nötigen Einträge: (Nicht neu hinzu. Sondern betshende anpassen).

    Code
    public $host = 'localhost';
    public $db = 'd0wwwwf5d';
    public $dbprefix = 'pkwwwej_';
    public $dbtype = 'mysqli';
    public $password = 'HyWeeeeeeexrY4f';


    So ganz verstehe ich jetzt aber nicht. Du hast jetzt eine Datenbank für Joomla 3? Aber dein Webspace passt nicht dazu, wie wir ja oben in #8 sehen, wo SQL-Dateien aus Joomla 4 versucht werden einzuspielen.


    Zumindest "so ganz schön" kann das Ergebnis nicht werden ;)


    Und diese Fehlermeldung spricht eigentlich nicht dafür, dass es um DB-Zugänge geht. Dann würde Joomla normalerweise schon viel früher abbrechen.

    Da ich nicht per Joomla3 in den Konfigurationssteil reinkomme (Fehler: Call to undefined method Joomla\CMS\Form\Field\PluginsField::getDatabase() )

  • Habe nun die Backup-DB vom 30.08.22 eingespielt und in der configuration.php die Zugriffsdaten angepasst

    Leider keine Verbesserung. Es scheint das die Version zu sein, als ich das erste Mal versucht habe auf Joomla 4 upzudaten.

    Jetzt erscheint im Kontrollzuentrum nämlich der Hinweis

    Ein noch älteres Backup stellt mir der Provider (nach Nachfrage) leider nicht mehr zur Verfügung.


    Macht es Sinn die Aktualisierung anzustossen ? Vermutlich führt das wieder zum Crash, oder ?

  • Macht es Sinn die Aktualisierung anzustossen ?

    Nein Nein Nein.


    Gehe nach erweiterungen > Joomla-Updates/-Aktualisierung > Optionen-Knopf > Stelle Aktualisierungsserver auf "Standard". Wenn das da schon steht, stelle 1x um, speichere, dann wieder "Standard" > speichere.


    Lösche die Joomla-Caches, auch abgelaufene.

    Gehe nach Erweiterungen > Aktualisieren > Klicke "Leeren" > Klicke "nach Updates suchen". OHNE hinterher was zu aktualisieren.

    Melde dich ab > Melde dich an > Wenn dann immer noch Joomla 4 angeboten wird, ist halt nach wie vor was verdreht. Was sowohl Dateien als auch Datenbank sein kann. Das weiß ich nicht auswendig.


    Das für später: Man updatet nicht von 3.10.5 nach 4. Man geht immer von letzter verfügbarer 3er-Version aus bevor man auf 4 anhebt. Große Sprünge lohnen sich da nicht.

    Und vor Joomla 4 geht man zuvor den Update-Checker durch, den Joomla dabei hat. Kaum eine Migration von J3 auf J4 kann man einfach so klicken. Probiere das zuvor auf einer Testseite in einer Subdomain durch.


    Und mache Backups, Backups, Backups. Z.B. mit kostenlosem Akeeba-Backup, aber stelle zuvor in der Profil-Konfiguration das "Count Quota" aus.


    Backups von Providern sollten immer letzte Lösung sein. Sehen wir ja auch an diesem Thread mal wieder. Oder, man weiß was man tut. DB muss halt zu Webspace passen und Post#3 von drmenzelit . Wobei man sich zuvor natürlich die eigenen Backups im Webspace runterziehen sollte auf den eigenen Rechner ;)

  • Ein Blick auf Erweiterungen=> Verwalten=> Datenbank zeigt

    Na ja, sagt halt, dass du immer noch ein Mischmasch aus Joomla 3 und Joomla 4 hast. Im roten Feld reklamiertes ist mit sicherheit Joomla 4.


    Läuft also auf das hinaus.

    Wenn dann immer noch Joomla 4 angeboten wird, ist halt nach wie vor was verdreht. Was sowohl Dateien als auch Datenbank sein kann. Das weiß ich nicht auswendig.

    Betonung auf "Das weiß ich nicht auswendig".


    Lade dir "Joomla_3.10.5-Stable-Update_Package.zip" herunter. (https://github.com/joomla/joomla-cms/releases/tag/3.10.5)

    Nicht entpacken.

    Versuche, ob du es unter Komponenten > Joomla-Aktualisierung >

    IM TABULATOR "Hochladen & Aktualisieren" (!!!!!!)


    installieren kannst.


    Ignoriere die komischen tmp-Warnungen dort!!