[Kobv-opus-tester] OPUS 4.7.1 und PHP 7.1

Jens Schwidder schwidder at zib.de
Di Feb 7 16:44:27 CET 2023


Hallo,

wie in der anderen Nachricht, "OPUS 4 mit PHP 8.1 (Beta)" beschrieben 
ist Branch 4.7.2 jetzt kompatibel mit PHP 7.1 bis 8.1. Dafür mussten wir 
einen Fork des ZF1-Future Projektes anlegen, um das Zend Framework an 
PHPUnit 5-8 (mit PHP Namespaces) anpassen zu können.

https://github.com/OPUS4/zf1-future

Nur dadurch können die Tests von OPUS 4 mit den neueren PHP Versionen 
ausgeführt werden. Der Fork entspricht sonst "shardj/zf1-future:1.21.4".

Spätestens mit OPUS 4 v5.0 wird diese Library dann durch Laminas ersetzt 
und nicht weitere verwendet werden.

Viele Grüße

Jens Schwidder


On 11/28/22 13:57, Jens Schwidder wrote:
> 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