Ergebnis 1 bis 14 von 14

Thema: Update von 3.5: Falsche Modulreihenfolge im BE und eigene Erweiterung wird ignoriert

  1. #1
    Contao-Fan
    Registriert seit
    02.09.2009.
    Beiträge
    307

    Frage Update von 3.5: Falsche Modulreihenfolge im BE und eigene Erweiterung wird ignoriert

    Hallo,

    ich habe in der letzten Woche ein Update einer 3.5.40 auf 4.4.45 per Contao Manager gemacht und habe Probleme sowohl mit einer meiner Erweiterungen als auch mit der Reihenfolge der unter "Inhalte" aufgeführten Module. Ich habe schon ca 30 Installationen von Version 3.5 auf 4.4 geupdated und hatte dieses Problem noch nie.

    Ich bin folgendermaßen vorgegangen (wie bei vielen anderen Updates auch):
    • 3.5er Datenbank in neue Datenbank kopiert
    • Ordner im FTP angelegt (neuer-ordner-c44/web),
    • contao-manager.phar in den web-Ordner hochgeladen und ".php" angehängt
    • Domain mit web-Ordner verknüpft
    • Contao Manager aufgerufen
    • Alle Einstellungen getroffen (u.a. cloud-service aktiviert) und Contao 4.4.45 installiert
    • Installtool aufgerufen und Zugang zu neuer Datenbank (Kopie/s.o.) eingegeben (Datenbank aber noch nicht aktualisiert)
    • Ordner aus 3.5er Installation per FTP rüber kopiert (meine Dateien, meine templates, meine Module)
    • Im Contao Manager den Prod Cache erneuert
    • Installtool aufgerufen und Datenbank aktualisiert (hier tauchten bereits drops von Spalten auf, die nicht auftauchen dürften; habe diese daher nicht ausgeführt)


    Nach dem Login stellte ich fest, dass die Reihenfolge der Module unter "Inhalt" nicht stimmte (u.a. Artikel, Events, Nachrichten, .... statt wie gewohnt Artikel, Nachrichten, Events, ...). Und meine Erweiterung der Events war im Backend auch nicht da (eigene Felder fehlten). Ich habe dann meine Erweiterung - die unter 3.5 ohne Probleme seit Jahren läuft - kontrolliert (z.B. config und autoload, sowie dca) und im Contao Manager den Prod Cache erneuert. Ohne Erfolg.

    Ich habe dann noch einmal von vorn angefangen und bis auf einen fehlenden symlink zum files Ordner lief alles prima, bis ich nach allen Anpassungen abschließend die nicht benötigten Module per Conto Manager deinstalliert habe (FAQ und Kommentare). Beim darauf folgenden Aufruf des Installtools vermutete ich schon, dass ich wieder am selben Punkt wie bei der ersten Installation gelandet war, da erneut benötigte Spalten aus meiner Erweiterung aus der Datenbank gelöscht werden sollten. Auch im Backend wieder die besagte falsche Reihenfolge der Module unter "Inhalte".

    Ich habe daraufhin testweise alle meine Erweiterungen aus dem modules-Ordner gelöscht, den Prod Cache im CM geleert und auch das stellte nicht wieder die normale Reihenfolge im BE unter "Inhalte" her.

    Kennt jemand dieses Problem. Ich habe nicht die geringste Idee, woran das liegen könnte geschweige denn wie ich das lösen könte und hoffe auf Euch.

    Hoster: all-inkl (verzeichnis-geschützte Entwicklungsumgebung auf dem Server)
    Erweiterungen:
    slug-backport von ausi
    3 eigene

    Vielen Dank im Voraus,
    Juju

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Poste deine Erweiterungen.

  3. #3
    Contao-Fan
    Registriert seit
    02.09.2009.
    Beiträge
    307

    Standard

    Hi Spooky,

    danke für Deine Antwort!

    Das wird relativ aufwändig, das hier zu posten, daher vorab die Frage: Wie kann das Problem (der falschen Reihenfolge) weierhin bestehen, obwohl ich meine Erweiterungen deinstalliert habe? Klingt für mich eher nach einem anderen Problem, oder?

    Danke und Grüße
    juju

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Die Reihenfolge ist normal . Bzw. ist zumindest kein Problem.

  5. #5
    Contao-Fan
    Registriert seit
    02.09.2009.
    Beiträge
    307

    Standard

    Hi Spooky,

    bitte entschuldige, aber ich muss nochmal nachhaken: Ich hatte in mehr als 10 Jahren niemals den Fall, dass sich diese Reihenfolge verstellt hat. Daher würde ich dieses Verhalten nicht als "normal" ansehen. Der Redakteur darf ja nicht jedes mal anfangen zu suchen, wo das benötigte Modul nun ist

    Ich habe gerade testweise eine komplett leere Installation der 4.4 vorgenommen (also ohne meine Datenbankkopie, files, templates oder Erweiterungen. Ergebnis: Die Reihenfolge stimmt.
    Nach Installation der Erweiterung slug-backport ist die Reihenfolge wieder geändert (obwohl sie vor der Erweiterung so war wie immer).
    Es liegt also nicht an meinen Erweiterungen.

    Ich teste das jetzt noch mit anderen Vorgehensweisen und melde mich.

    Danke und Grüße
    juju

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von juju Beitrag anzeigen
    bitte entschuldige, aber ich muss nochmal nachhaken: Ich hatte in mehr als 10 Jahren niemals den Fall, dass sich diese Reihenfolge verstellt hat. Daher würde ich dieses Verhalten nicht als "normal" ansehen.
    Es ist "normal" in der Hinsicht, dass es auch in meiner lokalen Contao 4.4 Installation so ist, ohne Erweiterungen - und grundsätzlich nichts mit deinen sonstigen Probleme zu tun hat.

    Du kannst das aber als Bug auf https://github.com/contao/contao/issues melden, mit einer genauen Reproduktion.

  7. #7
    Contao-Fan
    Registriert seit
    02.09.2009.
    Beiträge
    307

    Standard

    Ich habe das ganze jetzt noch einmal mit einer sehr einfachen Erweiterung getestet, mit der ich nur ein einziges Feld hinzufüge:

    Code:
    // system/modules/my-extension/dca/tl_calendar_events.php:
    
    $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default'] = str_replace('{title_legend}', '{title_legend},myfield', $GLOBALS['TL_DCA']['tl_calendar_events']['palettes']['default']);
    
    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['myfield'] = array
    (
        'label'                   => &$GLOBALS['TL_LANG']['tl_calendar_events']['myfield'],
        'exclude'                 => true,
        'inputType'               => 'text',
        'eval'                    => array('tl_class'=>'w50', 'maxlength'=>2, 'rgxp'=>'digit'),
        'sql'                     => "int(2) unsigned NOT NULL default '0'",
    );
    Nach der jungfräulichen Installation (per Contao Manager) ist das Feld zu sehen und speicherbar.

    Ändere ich nun im Contao Manager die Konfiguration, indem ich z.B. das Modul FAQ deinstalliere, so ist anschließend die Reihenfolge der Module unter "Inhalte" verändert und meine Erweiterung wird ignoriert (sowohl im install tool als auch im Backend).

    Mache ich dann z.B. testweise ein downgrade auf Contao 4.4.44, so stimmt danach wieder alles. Ein erneutes installieren des FAQ-Moduls führt dann wieder zu dem beschriebenen Fehlverhalten.

    Kann das jemand nachvollziehen oder kennt das Problem und dessen Lösung?

    Viele Grüße
    juju

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von juju Beitrag anzeigen
    Ändere ich nun im Contao Manager die Konfiguration, indem ich z.B. das Modul FAQ deinstalliere, so ist anschließend die Reihenfolge der Module unter "Inhalte" verändert und meine Erweiterung wird ignoriert (sowohl im install tool als auch im Backend).
    Hast du in deiner Extension die Abhängigkeit zur Calendar Extension entsprechend konfiguriert?

  9. #9
    Contao-Fan
    Registriert seit
    02.09.2009.
    Beiträge
    307

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Hast du in deiner Extension die Abhängigkeit zur Calendar Extension entsprechend konfiguriert?
    Was meinst Du damit? Unter der 3.5 war das doch nicht nötig und da ich das ganze in system/modules/ liegen habe statt in vendor/ oder src/ sollten doch auch die alten "Gesetze" gelten, oder? Unter 3.5 musste nur die Datei in diesem Fall "tl_calendar_events.php" heißen.

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von juju Beitrag anzeigen
    Was meinst Du damit? Unter der 3.5 war das doch nicht nötig
    Doch. Wenn du bspw. die calendar Extension erweiterst, musst du folgendes in deine config/autoload.ini schreiben:
    Code:
    requires[] = "calendar"
    Wenn du das nicht machst, hängt es vom "Zufall" ab, ob deine Extension nach der calendar Extension geladen wird.

  11. #11
    Contao-Fan
    Registriert seit
    02.09.2009.
    Beiträge
    307

    Standard

    Ich habe bisher immer die von Contao 3.5 für meine Module erzeugten autoload.ini Dateien verwendet (ich glaube das tool hieß "autoload-creator") und hatte nie Probleme damit - weder unter 3.5 noch unter 4.4.

    In meiner autoload.ini steht:
    Code:
    [...]
    requires[] = "core"
    [...]
    Aber ich kann gern auch noch
    Code:
    requires[] = "calendar"
    hinzufügen und alles erneut testen...

    Danke und bis später

  12. #12
    Contao-Fan
    Registriert seit
    02.09.2009.
    Beiträge
    307

    Standard

    Hallo Spooky,

    Du lagst richtig. Tatsächlich lag es an dem fehlenden Eintrag in der autoload.ini. Wieder was gerlernt - vielen Dank dafür!!!

    Warum das der autoload creator nicht macht verstehe ich dann allerdings nicht, denn wenn sich im dca-Ordner eine Datei mit dem prefix "tl_calendar" befindet, dann könnte er diese Zeile doch automatisch einfügen.

    Wie auch immer: Danke für Deine Hilfe!

    Das Reihenfolge-Problem besteht allerdings immernoch. Werde ich wie vorgeschlagen als issue posten...

    Viele Grüße
    juju

    Edit: hier der link zum ticket: https://github.com/contao/contao/issues/970
    Geändert von juju (13.11.2019 um 14:44 Uhr)

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Zitat Zitat von juju Beitrag anzeigen
    Warum das der autoload creator nicht macht verstehe ich dann allerdings nicht, denn wenn sich im dca-Ordner eine Datei mit dem prefix "tl_calendar" befindet, dann könnte er diese Zeile doch automatisch einfügen.
    Der autoload creator prüft deine Extension nicht in dieser Hinsicht.

    Generell solltest du nicht mehr im alten Contao 2/3 Stil Erweiterungen programmieren.

  14. #14
    Contao-Fan
    Registriert seit
    02.09.2009.
    Beiträge
    307

    Standard

    Ich pflege auf diese Art auch nur noch bereits unter 3.5 entwickelte

    Werde mich im Dezember mal an die native Erweiterung unter Contao 4 machen...

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •