[Kobv-opus-tester] OPUS 4.7.1 und PHP 7.1
Jens Schwidder
schwidder at zib.de
Mo Nov 28 13:57:13 CET 2022
Hallo Alle,
hier der Zwischenstand zur Kompatibilität mit neueren PHP Versionen.
Ich bin dabei OPUS 4 mit Hilfe der "zf1-future"-Library kompatibel zu
PHP 8.1 zu machen. Dafür sind doch viele kleine Anpassungen im OPUS 4
Code notwendig. Für die meisten Packages, einschließlich dem Framework,
habe ich mittlerweile eine Code-Basis (Branch: 4.7.2-zf1f), die mit PHP
7.1, 7.4 und 8.1 kompatibel ist. Für diesen Branch wird auf Github mit
allen drei Versionen automatisch getestet.
Wir haben etwa 6700 Unit Tests, aber bei diesem Wechsel sollte auch im
Betrieb sorgfältig geprüft werden, ob alles den Erwartungen entspricht.
Aufgrund der Änderungen, die mit PHP 8 kommen, kann es durchaus Probleme
geben, die nicht durch die Unit Tests abgedeckt sind.
Es gibt nun ein Projekt mit den Aufgaben für den Umstieg zu PHP 8. Die
Liste ist noch nicht vollständig.
https://github.com/orgs/OPUS4/projects/40/views/1
Für die Suche scheint es nicht möglich zu sein, den Code so anzupassen,
dass er mit PHP 7 und 8 läuft. Dort muss auf eine neue Version der
Solr-Client Library "Solarium" umgestiegen werden, die Änderungen in der
API bringt. Für den Übergang werden für die Suche also zwei Versionen
gepflegt werden müssen.
Wenn die Suche mit PHP 8 funktioniert, können die restlichen Arbeiten an
der Application vorgenommen werden. Der Plan ist jetzt, die nächste
Version, OPUS 4.7.2, kompatibel mit PHP 7.1 und 8.1 zu machen und somit
den Umstieg so einfach wie möglich zu gestalten. Der PHP 7 Support wird
dann später wegfallen. OPUS 4.7.2 soll spätestens im Januar freigegeben
werden.
Viele Grüße
Jens Schwidder
On 10.11.22 08:17, Jens Schwidder wrote:
> Sehr geehrter Herr Heitmann,
>
> vielen Dank, das war mir bisher nicht bewusst und klingt sehr spannend.
> Ich werde einen Branch mit den Anpassungen anlegen, für die Application
> und alle anderen Packages, die von ZF1 abhängig sind, um sämtliche Unit
> Tests laufen lassen zu können. Ich werde versuchen das für PHP 7.4 und
> PHP 8 zu machen, da ja der 7.4 Support auch schon diesen Monat ausläuft.
> Ich werde das erst einmal mit dem Code für 4.7.2 testen. Diese Version
> soll noch in diesem Jahr veröffentlicht werden.
>
> Vielen Dank und schöne Grüße
>
> Jens Schwidder
>
>
>
> On 09.11.22 16:12, Sven Heitmann wrote:
>> Sehr geehrter Herr Schmidt,
>>
>> wir haben festgestellt, dass mindestens die Versionen OPUS 4.7.0.8 und
>> 4.7.1.1 auf einem aktuellen Debian 11 mit PHP 7.4 lauffähig sind,
>> sofern man das Projekt "zf1-future"
>> (https://github.com/Shardj/zf1-future) nutzt um das Zend Framework 1
>> kompatibel mit neueren PHP-Versionen zu machen.
>> Dazu haben wir die composer.json leicht modifziert:
>> - "php": ">=7.0 <7.2",
>> + "php": ">=7.0",
>> - "zendframework/zendframework1": "1.12.*",
>> + "shardj/zf1-future": "1.20",
>>
>> Mit dieser Anpassung lief das System direkt. Bei manuellen Tests haben
>> wir festgestellt, dass es an einer Stelle des Admin-Bereichs (Handling
>> von Dateien) Probleme gibt und die Anwendung keine Seite
>> zurückliefert. Eine Fehlermeldung im Webserver-Log hat aber direkt zur
>> richtigen Stelle geführt. Es musste eine Datei
>> (./opus4/library/Application/Form/Element/FileLink.php) von OPUS an
>> einer Stelle (Parameter der Methode isValid()) angepasst werden:
>> /**
>> * Validierung ist erfolgreich, wenn Opus_File mit ID existiert.
>> *
>> * Wenn die ID nicht existiert wird in setValue eine
>> Application_Exception geworfen.
>> *
>> * @param mixed $value
>> * @return bool
>> */
>> /* UB KL START */
>> // public function isValid($value)
>> public function isValid($value, $context = NULL)
>> {
>> /* UB KL ENDE */
>> $this->setValue($value);
>> $file = $this->getValue();
>>
>> if ($file instanceof Opus_File) {
>> return true;
>> } else {
>> return false;
>> }
>> }
>> }
>>
>> Mehr Modifikationen waren nicht notwendig.
>>
>>
>> Viele Grüße
>> Sven Heitmann
>>
>> --
>> Regionales Hochschulrechenzentrum Kaiserslautern
>> TU Kaiserslautern
>> Abteilung Infrastruktur Softwaresysteme
>> Sven Heitmann
>>
>> Paul-Ehrlich-Straße
>> Gebäude 32, Raum 324
>> D-67663 Kaiserslautern
>>
>> Tel: +49 631 205 2813
>> Fax: +49 631 205 2355
>> E-Mail: heitmann at rhrk.uni-kl.de
>>
>> -----Original Message-----
>> From: Kobv-opus-tester <kobv-opus-tester-bounces at zib.de> On Behalf Of
>> Markus Schmidt
>> Sent: Monday, November 7, 2022 2:28 PM
>> To: Opus-Tester <kobv-opus-tester at zib.de>
>> Subject: [Kobv-opus-tester] OPUS 4.7.1 und PHP 7.1
>>
>> Liebe OPUS Entwickler,
>>
>> wir planen aktuell den Umstieg/Update auf OPUS 4.7.1. Lt.
>> Dokumentation ist die Verwendung von PHP7.1 aufgrund des Zend
>> Framworks zwingend Voraussetzung. Leider hat diese PHP Version ja auch
>> einige Sicherheitsprobleme. Gibt es Erfahrungen bzgl. OPUS 4.7.1 mit
>> PHP8.0 oder Workarounds um PHP7.1 abzusichern?
>>
>>
>> Besten Dank!
>>
>> -- Mit freundlichen Grüßen, Markus Schmidt IT-Dienste Tel: 0234 /
>> 32-22792 Universitätsbibliothek Ruhr-Universität Bochum Universitätsstr.
>> 150 44801 Bochum
>>
>>
>> --
>> Kobv-opus-tester mailing list
>> Kobv-opus-tester at zib.de
>> https://listserv.zib.de/mailman/listinfo/kobv-opus-tester
>
--
==============================================================
Jens Schwidder
Kooperativer Bibliotheksverbund Berlin-Brandenburg (KOBV)
c/o Konrad-Zuse-Zentrum für Informationstechnik Berlin (ZIB)
Takustr. 7, D-14195 Berlin
Telefon: (030) 841 85 - 308
Telefax: (030) 841 85 - 269
E-Mail: schwidder at zib.de
WWW: http://www.kobv.de
==============================================================
Mehr Informationen über die Mailingliste Kobv-opus-tester