From 6941620b6432abb9442f36fa5864e0c42799a73a Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Thu, 18 Sep 2025 14:54:20 +0000
Subject: [PATCH] GS-2317
---
README.md | 97 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 96 insertions(+), 1 deletions(-)
diff --git a/README.md b/README.md
index aa3e813..301183c 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,12 @@
## Setup
+### Env und Settings
+
+Als Erstes wird die ENV Variable "NODE_ENV" gebraucht. Diese muss gesetzt sein.
+Je nach ENV (dev, test, prod, ...) muss dann auch die settings Datei angepasst werden.
+
+
### Service
Der REST-Service an sich muss auf dem gleichen Rechner laufen auf dem auch die ILIAS DB läuft (ansonsten die Config anpassen).
@@ -24,8 +30,97 @@
pm2 save
+
+### PHP Komponente
+
+globus-ilias-rest benötigt eine PHP Komponente um die ILIAS internen Funktionen nutzen zu können.
+Dazu den Ordner "php/globus-ilias-rest" im Projektverzeichnis symlinken in den ILIAS Basisordner (wo sich auch ilias.php befindet).
+
+ cd $ILIASBASEDIR
+ cp -ar $RESTPROJ/php/globus-ilias-rest globus-ilias-rest
+
+#### PROBLEM mit api.php
+
+Auf globusfm-dev2 gibt es das Problem, dass die api.php nicht aufgerufen werden kann. Es erfolgt immer ein Redirect auf login.php.
+Das passiert nicht auf DEV.
+
+#### Workaround
+
+api.php zu login.php umbenennen.
+Pfad in den settings entsprechend anpassen.
+
+#### Testen
+
+Folgende URL sollte dann funktionieren für die PHP Komponente:
+https://globusfm-dev2.minervis.com/globus-ilias-rest/login.php?token=$PHPTOKEN&command=getUser&usr_id=573
+
+Die API dann über:
+https://globusfm-dev2.minervis.com/popcorn/api/user/userid/573?token=$TOKEN
+
+__Achtung__ die Tokens sind unterschiedlich!
+
+
+
### Apache Config
Apache muss als Proxy für globus-ilias-rest fungieren und Verbindungen an diesen weiterreichen.
-todo
+__ACHTUNG__
+Der Service __muss__ unter https laufen. Ansonsten kann das AUTH-TOKEN ausgelesen werden.
+
+#### MOds aktivieren
+
+ a2enmod proxy
+ a2enmod proxy_http
+
+#### Apache Config anpassen
+
+z.B. unter `/etc/apache2/sites-available/globusfm-dev2.minervis.com.conf`
+
+ # Proxy all requests to /popcorn/... to the globus-ilias-rest service
+ ProxyPreserveHost On
+ ProxyPass /popcorn http://localhost:4101
+ ProxyPassReverse /popcorn http://localhost:4101
+
+
+_testen_
+
+ https://globusfm-dev2.minervis.com/popcorn/users?token=AUTHTOKEN
+
+
+## Usage
+
+Es wird ein Auth-Token gebraucht um den Service zu benutzen. Dieses wird in settings.js definiert.
+
+Dann kann der Service angesprochen werden (test mit curl):
+
+ curl localhost:4101/users?token=AUTHTOKEN
+
+Die Antwort prettyfeien:
+
+ curl localhost:4101/users?token=AUTHTOKEN | jq .
+
+
+### globusfm-dev2
+
+Kann zugegriffen werden über
+
+ https://globusfm-dev2.minervis.com/popcorn/users?token=$TOKEN
+
+
+## Routes
+
+Verfügbare Routen sind:
+
+ GET /users
+ GET /users/count
+ GET /user/login/:login
+ GET /user/userId/:userId
+
+ GET /kurs
+ GET /kurs/items/:ref_id
+ GET /kurs/teilnehmer/:ref_id
+ GET /kurs/teilnehmer/:ref_id/count
+
+
+
--
Gitblit v1.8.0