OXID eShop Update ab v6.0.0


#41

Danke erstmal, aber ich habe eigentlich nach nem Link gesucht (wie das: https://github.com/OXID-eSales/development-wiki/blob/master/shop/changelog/changelog_v6.0.1.rst) das man öffentlich einsehen kann.

Leider sind die Changes alle privat und demnach kann ich damit nichts anfangen.
Bei Git schaue ich selbst regelmäßig nach und werde auch bei Updates benachrichtigt, wenn ich die composer.json von Git ansehe sehe ich leder nicht direkt welche Versionen das benötigt und weiß demnach nicht was ich eintragen muss.

Mein Problem ist aktuell, dass alles eben bei OXID gehalten wird und das ist auch ok, aber manche Infos sollte man eben ohne erst nachfragen zu müssen erreichen können, gerade was man zum Updaten benötigt.

Die aktuellen Infos für 6.1.0 (ja man weis jetzt nicht ob ich 6.0.1 oder 6.1.0 meine :joy:) die habe ich von deinem Artifact, mega fettes Danke an dich nochmal an der Stelle! :heart:


#42

Oh - hab jetzt grad erst auf meinen eigenen Link geklickt und gesehen, worum es eigentlich geht. Du meinst so etwas hier, oder? https://github.com/OXID-eSales/oxideshop_metapackage_ce/blob/v6.1.0/composer.json

Das Metapackage schiesst Dir im Grunde alle Komponenten der Compilation zusammen. Du kannst Dich dort natürlich wie gewohnt innerhalb der Branches und Tags bewegen. Releases ist aber eigentlich am spannendsten: https://github.com/OXID-eSales/oxideshop_metapackage_ce/releases. Beweg Dich dort einfach mal über den Link hinter a58083f rein :wink:

Passt das so?


#43

Ja und nein.

Das ist ja genau das, was ich damit meinte:

Um erfolgreich upzudaten (von 6.0.x auf 6.1.x) muss man nicht nur (wie von 6.0.x auf 6.0.x) oxid-esales/oxideshop-metapackage-ce auf verändern, sondern auch die anderen Abhängigkeiten.

Also auch folgendes:

"require-dev": {
    "oxid-esales/testing-library": "^v5.0.3",
    "oxid-esales/coding-standards": "^v3.0.5",
    "incenteev/composer-parameter-handler": "~v2.0",
    "oxid-esales/oxideshop-ide-helper": "^v3.1.1",
    "oxid-esales/azure-theme": "^v1.4.1"
  }

Bei dem Update auf 6.1.0 gibt es sonst folgenden Fehler (Danke @Earlybird) FEHLER

Woher soll ich bitte die Infos bekommen um erfolgreich das Update durch zu führen?
Momentan müsste ich 6.1.0 frisch irgendwo installieren um dort die composer.json auszulesen.
Gottseidank stellst du die Artifacts (oder Artifakte?) zur Verfügung, welche die richtige (compilierte?) composer.json beinhaltet, die mir die Wertvollen Infos liefert, auf welche Version en ich die Abhängigkeiten setzen muss, damit das Update funktioniert.

Hier nochmal zum Vergleich, damit das Problem klar wird.

Aus der composer.json von Git bekomme ich nicht die benötigten Infos die ich brauche (aus der fertig kompilierten aber schon --> composer.json, die gibt es aber ohne Artifacts nirgends!) um meine composer.json im Livesystem zu editieren damit ich das Update erfolgreich ausführen kann. Und ohne die Infos funktioniert das Update (auf 6.1.0) nicht.
Von 6.0.x auf 6.0.x musste man die composer.json eigentlich nicht mal editieren, jetzt schon.

Ich hoffe nun ist klar, was ich meine ansonsten können wir gerne privat schreiben will hier nicht voll spammen.

Meiner Meinung nach sollten sich die Abhängigkeiten jedoch mit jedem Update selbst verändern, denn dazu ist ja der composer da?

tl;dr : Um auf 6.1.0 upzudaten brauchen wir diesmal mehr Infos, die wir nicht bekommen, ohne Infos gehts nicht.
Infos kann man bekommen wenn man mit deutlichem Mehraufwand extra irgendwo eine frische Installation aufsetzt, nur um an die compilierte composer.json zu gelangen.


#44

Nachtrag: (kann mein Post oben irgendwie nicht bearbeiten)

Die meisten Infos sind ja vorhanden, diese jedoch nicht:

"oxid-esales/testing-library": "^v5.0.3"

Diese Info steht nicht in der composer.json von Git, der Rest steht drin.

Muss mich korrigieren, die Infos sind tatsächlich alle vorhanden… #shameOnMe!
"oxid-esales/testing-library" steht mit "dev-master" drin und die aktuelle Version ist momentan 5.0.3 …

Heißt: streng genommen sind alle Infos da, dass Problem selber besteht trotzdem.
Und zwar ist das folgendes Problem: wenn man auf 6.0.x ist und (wie in der Anleitung)

composer update --no-plugins --no-scripts
composer update

ausführt, dann wird nicht geupdated, weil man händisch Änderungen in der composer.json vornehmen muss. (sonst Fehler)
Ich bin mir nicht zu fein dafür und werde dass in Zukunft auch so machen, aber eventuell sollte man sich da etwas überlegen um das eben nicht immer machen zu müssen, denn die zwei Befehle sollten für ein Update ausreichen.

Damit wäre die Anleitung auch nicht vollständig, bzw man sollte erwähnen dass man nicht nur oxid-esales/oxideshop-metapackage anpassen muss, sondern auch alle anderen Abhängigkeiten.


#45

@Marco,

unter den beiden Links, die Du angibst, stehen in der composer.json die erforderlichen Daten für ein Update gar NICHT drin, sondern nur in der Compilation 6.1.0 zip, wenn man diese runterlädt/entpackt - sonst ist das nirgend wo zu finden. Und daraus muss man aber nur folgenden Teil in der “eigenen” composer.json austauschen:

  "require": {
"oxid-esales/oxideshop-metapackage-ce": "v6.1.0"

},
“require-dev”: {
“oxid-esales/testing-library”: “^v5.0.3”,
“oxid-esales/coding-standards”: “^v3.0.5”,
“incenteev/composer-parameter-handler”: “~v2.0”,
“oxid-esales/oxideshop-ide-helper”: “^v3.1.1”,
“oxid-esales/azure-theme”: “^v1.4.1”
},

D.h. diese Codeblöcke müssten per composer Updatebefehl automatisch ersetzt werden und damit wäre ein Update kein Problem mehr.