rethus hat geschrieben:Man schreibt rethus mit h hinter dem t -soviel Zeit muss sein
Bleib mal locker!
Manchmal sind meine Finger einfach schneller wie meine Tastatur (oder umgekehrt)...
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
Hab das aber gerne korrigiert!
rethus hat geschrieben:Es ist keine Core-Erweiterung, die ich beschrieben habe...
rethus hat geschrieben:Das kannst du entweder irgendwo im Core-Code...
Aber wie auch immer, ich drück mich ja auch nicht immer so klar aus, also, nochmal zum Mitschreiben:
CORE = Pfui - wegen Updates
rethus hat geschrieben:
- Anstatt die Chain-Datei in contenido/include/chains abzulegen könnte er es auch in seinem Modul ablegen, und via include verfügbar machen. Aber selbst wenn das nicht gehen würde.. bei einem Upgrade eine Chain-datei rüber zu kopieren... das ist doch kein Aufwand?!
Das hat nichts mit dem Aufwand zu tun! Zum Einen kommt es drauf an wie man sein Update/Upgrade macht (Dateien überschreiben oder Löschen und neu Hochladen) und zum Anderen WER es macht. Ich habe leider in letzter Zeit häufiger Systeme gesehen - sowohl CMS aber auch Shops - bei denen viele individuelle Modifikationen gemacht wurden. Zumeist sind diese aber gar nicht oder nur sehr unzureichend dokumentiert. Gerade in solchen Momenten wäre es hilfreich wenn sich die "alten" Entwickler beim Pimpen des Systems zumindest an ein paar grundlegende Regeln gehalten hätten. Und dazu gehört in meinen Augen, dass man nicht eigene Dateien einfach irgendwo in den Core-Verzeichnissen ablegt, sondern dazu beispielsweise ein eigenes Plugin zum Einbinden nimmt, oder die dafür vorhandenen Ablageorte.
rethus hat geschrieben:
- Den Chainload sehe ich auch nicht als Problem, da ein Upgrade /data/config/production/config.chains.load.php nicht überschreibt. Will man 1000% Nummer-Sicher gehen, packt man den addChainFunction-Befehl mit ins Modul anstatt in die Config.
- Packt er wie von mir empfohlen den Trigger für die Chain (punkt 3 in meiner Beschreibung) nicht in den Core (wovon ich übrigens auch abrate), sondern ins Modul, ist auch hier kein Problem bei upgrades.
Das stimmt auch nicht, denn werden bei einem Update/Upgrade CHAINs hinzu gefügt, so wird sogar empfohlen diese Dateien auszutauschen. Eine eigene CHAIN sollte man daher grundsätzlich entweder per lokaler Konfigurations-Datei oder per Plugin-Konfiguration einbinden. Möchte man wirklich in den Core-Konfigurations-Dateien ändern, dann sollte man aber zumindest eine eigen Umgebung (Enviroment) dafür wählen, so dass des im Core vorhandene Verzeichnis 'production' nicht genutzt wird bzw. einen anderen Namen hat.
Eine Ablage der CHAIN-Einbindung im Modul beschränkt die Anwendung der CHAIN dann auch ausschließlich auf das Frontend und schließt die entsprechende CEC-Funktion von der Anwendung im Backend oder in Plugins komplett aus.
Vielleicht wäre es ja mal eine Idee hier entsprechende Entwickler-Vorgaben auszuarbeiten, die den Umgang für solche Fälle regeln, Anwendungsfälle aufzeigen und das eine oder andere Tutorial enthalten.
Gruß aus Franken
Ortwin