OPUS4 / application

OPUS 4 application.
Other
15 stars 21 forks source link

Umstieg auf Laminas (Nachfolger von Zend Framework 3) #183

Open j3nsch opened 5 years ago

j3nsch commented 5 years ago

Für 2019 ist der Umstieg von OPUS 4 von Zend Framework 1 auf 3 geplant. Die Planung dafür hat angefangen und es zeichnet sich ab, dass sich dabei sehr viel verändern wird. Fast jede Datei wird verändert oder zumindest verschoben werden.

OPUS 4 Installationen mit den üblichen Anpassungen sollten beim Update keine Probleme haben, aber Veränderungen im Code von Modulen und ähnliches werden manuell migriert werden müssen. Installationen mit größeren Anpassungen sollten sich am besten vorab an das OPUS 4 Entwicklungsteam wenden, z.B. mit einem Kommentar hier oder per E-Mail, so dass überlegt werden kann wie die Migration so einfach wie möglich gestaltet werden kann.

Der Umstieg auf ZF3 ist notwendig, weil ZF1 seit Jahren nicht mehr weiter entwickelt wird und mittlerweile inkompatibel zu aktuellen PHP-Versionen (7.2+) ist. Darüber hinaus unterstützt ZF3 eine modulare Architektur, die es uns ermöglichen wird die Entwicklung von Erweiterungen dezentraler zu gestalten. Ziel ist es z.B. die Entwicklung eines neuen Import- oder Exportformats in einem separaten Repository zu ermöglichen. Eine solche Komponente (Package) kann dann mit Composer zu OPUS 4 Installationen hinzugefügt werden ohne das Eingriffe in den zentralen Code von OPUS 4 notwendig sind.

Die unabhängige Entwicklung von Erweiterungen erfordert natürlich klare und stabile Schnittstellen, damit nicht mit jeder neuen OPUS 4 Version Anpassungen notwendig werden. Die Definition dieser Schnittstellen und internen Formate stellt zusätzliche Arbeit dar, die im Zusammenhang mit dem Umstieg auf ZF3 zumindest geplant und begonnen wird.

Es wird noch zwei oder drei Monate dauern bis der eigentlich Umbau beginnt. Während des Umbaus wird es mehr oder weniger keine parallele Entwicklung geben. Der Umbau selbst, bis zu einer stabilen Version wird vermutlich auch noch einmal mindestens zwei Monate dauern. Die Hoffnung ist, dass wir bis Oktober oder zumindest in 2019 fertig werden.

Nach dem aktuellen Stand der Überlegungen ist abzusehen, dass sich der Code nicht nur innerhalb von Framework und Application verändern wird. Die Module innerhalb von Application werden in eigene Repositorien wandern und manche Funktionen, wie z.B. Export-Formate werden vielleicht noch feiner aufgeteilt werden. Die Application selbst wird voraussichtlich nur noch die Web Resourcen für das User Interface und einige Konfigurationsdateien enthalten.

Einige Details werden sich erst mit dem Umbau ergeben. Der Umbau wird schrittweise erfolgen, so dass in der ersten ZF3-Version vielleicht noch nicht alle hier beschriebenen Ziele umgesetzt sein werden.

hermann77 commented 4 years ago

Hallo Jens, ich wollte Mal nach einem kurzen Update in Sachen Zend Framework 3 fragen. Kann man schon jetzt sagen, wann der Umstieg auf ZF3 (ungefähr) stattfindet.

Danke Dir und beste Grüße Hermann

kaiarn commented 4 years ago

Eventuell wäre auch der Umstieg auf Laravel anzudenken? Habe bei folgendem Beispiel schonmal einiges implementieren versucht: https://github.com/geolba/tethys (getestet mit PostgreSQL, MSSQL, MySQL)

Beste Grüße

j3nsch commented 4 years ago

Im Augenblick gibt es keine Pläne auf Laravel umzusteigen. Der Umstieg auf ZF3 bzw. Laminas ist etwas, das wir tun müssen. Der Umstieg auf eine andere Technologie als Grundlage für OPUS 4, wie Laravel, ist zu diesem Zeitpunkt optional. Ohne Laravel zu bewerten, ob Laravel Sinn macht oder ob es vielleicht noch andere Alternativen gäbe, haben wir dafür einfach nicht die Ressourcen.

roschme commented 3 years ago

Hallo Herr Schwidder,

gibt es zum Umstieg auf Zend Framework 3 Neuigkeiten? PHP7.1 wird ja leider nicht mehr gewartet und ein weiterer Einsatz erscheint mir doch als etwas riskant.
Vielen Dank für Ihre großartige Arbeit, beste Grüße!

j3nsch commented 3 years ago

Ich habe angefangen den OPUS Code auf Laminas (Nachfolger von ZF3) umzustellen. Das wird noch mindestens 1-2 Monate dauern, ist aber im Augenblick noch schwer abzuschätzen. Es müssen viele Anpassungen im OPUS Code vorgenommen werden, da sich die APIs von Zend/Laminas doch in vielen Details verändert haben und einige Konzepte ausgetauscht bzw. neu eingeführt wurden. Ende Februar sollte ich genauer wissen wieviel Arbeit noch zu erledigen ist.

Wir werden auf eine Version von Laminas bzw. einzelne Pakete umsteigen, die auch noch mit PHP 7.0 laufen, also nicht ganz die neueste Version. Dadurch wird die Entwicklung und der Umstieg im Augenblick einfacher. In einer späteren OPUS Version soll dann auf die aktuellen Laminas Pakete gewechselt werden. Das ist vermutlich nur eine einfach Änderungen der Composer Pakete.

Vermutlich wird es vorher noch einen Zwischenrelease, OPUS 4.7.1, geben, in dem schon einige Vorarbeiten für den Umstieg stecken, aber der leider immer noch mit ZF1 läuft. Bestandteile dieses Releases werden zum Teil extern entwickelt.