-
Notifications
You must be signed in to change notification settings - Fork 0
Description
-
git clone des Repositories
-
composer install
-
Einrichten eines virtuellen Apacheservers (s. https://github.com/dataramblers/api-middleware/blob/master/notes/hydras4.conf als Vorlage)
-
Einrichten eines lokalen ES servers. Dazu kann das file https://drive.switch.ch/index.php/s/XgwcgrhuWFmjOwH heruntergeladen werden. Einfach auspacken und server in ES_APP/bin/elasticsearch -d -ppid starten
-
Zugriff auf den ES server ist über port 8080 möglich
Der Zugriff auf den ES server über apimiddleare wird über https://github.com/dataramblers/api-middleware/blob/master/config/packages/elasticsearch_adapter.yml gesteuert.
Die Queries sind konfiguriert -
Der ES server ist im Moment noch auf Basis 5.6. Ich werde das umstellen, kann das im Moment aber nicht alles gleichzeitig machen
-
Status API platform (api-middleware)
-
ich benutze die letzte Version (2.2.x)
-
musste einige Anpassungen machen, damit der Update von 2.1 (auf Basis Symfony 3.4) zu 2.2 (Basis Symfony 4) möglich war
-
Nach dem Start waren jedoch alle entities, die wir in linked-swissbib benutzen, vorhanden
-
ein Testdatenset für den Zugriff liefere ich mit dem ES package mit
-
nach dem Start wird im Moment die swagger UI angezeigt. Das liegt daran, weil dieser Typ (https://github.com/dataramblers/api-middleware/blob/master/src/Swagger/Normalizer/DocumentationNormalizer.php) bei der Umstellung nach 2.2 einen Fehler wirft und ich temporär ausgeschaltet habe. Die API platform zeigt default im content/negotiation html diese UI an. In data.swissbib.ch haben wir unsere eigene page.
-
ich muss noch ein paar Dinge im Zusammenspiel API platform / S4 lernen.
Mein Vorschlag:
- Ich würde gerne use cases des Frontends von @sschuepbach über die API abbilden (mit Zugriff auf ES, zuerst nur lesend, später auch put methods)
- Das kann man Schritt für Schritt machen und dabei die Möglichkeiten der API platform einsetzen. Auch @tobinski könnte so mitwirken und wir hätten ei Zusammenspiel von Frontend / Midleware / Storageserver.
Einsatz von Docker und co: API platform bietet sehr stark Dockercontainer für alle Komponenten an. Was mach dabei störte: Das ist ganz nett für einen maximal schnellen Einstieg. Möchte man die fixen Pfade verlassen (und das macht man sehr schnell) fühle ich mich sehr schnell eingeschränkt und kämpfe erstmal eine Zeitlang mit der Infrastruktur bevor ich etwas machen kann. Ich lasse mich mit guten Argumenten gerne vom Gegenteil überzeugen