Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
developer:client [2019/01/28 18:38] oesi |
developer:client [2019/08/13 13:48] (aktuell) |
||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
Clients können verwendet werden um die Funktionalität von FH-Complete zu erweitern. | Clients können verwendet werden um die Funktionalität von FH-Complete zu erweitern. | ||
- | Clients kommunizieren mit dem Core über die API. | + | |
+ | * Clients können auf einem eigenem Host installiert werden und müssen nicht am selben Host wie der Core liegen. | ||
+ | * Getrennte Codebasis, Kommunikation mit dem Core erfolgt ausschließlich über die API / REST Services | ||
+ | * Sind zusätzliche Erweiterungen des Core erforderlich muss zusätzlich eine [[developer:extensions|Extension]] erstellt werden. | ||
+ | * FHC-Clients folgen der Namenskonvention FHC-Client-XXX | ||
+ | |||
+ | {{:developer:clientaufbau.png?600|}} | ||
+ | |||
+ | ===== Struktur ===== | ||
Ein Template für eine Client Applikation steht unter folgendem Link zur Verfügung: | Ein Template für eine Client Applikation steht unter folgendem Link zur Verfügung: | ||
https://github.com/FH-Complete/FHC-Client-Template | https://github.com/FH-Complete/FHC-Client-Template | ||
- | |||
- | ===== Aufbau ===== | ||
Die folgenden Dateien dienen als Vorlage und sollten entsprechend angepasst um umbenannt werden: | Die folgenden Dateien dienen als Vorlage und sollten entsprechend angepasst um umbenannt werden: | ||
Die restlichen Dateien dienen Dateien dienen der Kommuniktion und brauchen nicht verändert werden. | Die restlichen Dateien dienen Dateien dienen der Kommuniktion und brauchen nicht verändert werden. | ||
- | config | + | * config |
- | config.php.ex -> Konfiguration für die Anbindung an FH-Complete Core | + | * config.php.ex -> Konfiguration für die Anbindung an FH-Complete Core |
- | config.js.ex -> Konfiguration für die Kommunikation zwischen FHC-Client und Enduser | + | * config.js.ex -> Konfiguration für die Kommunikation zwischen FHC-Client und Enduser |
- | hooks | + | * hooks |
- | CoreClient.hooks.php.ex -> Beispiele für Hooks zwischen FHC-Client und Core API | + | * CoreClient.hooks.php.ex -> Beispiele für Hooks zwischen FHC-Client und Core API |
- | js | + | * js |
- | CoreClient.js.ex -> Beispiel für Kommunikation zwischen FHC-Client und Enduser | + | * CoreClient.js.ex -> Beispiel für Kommunikation zwischen FHC-Client und Enduser |
- | css | + | * css |
- | CoreClient.css.ex -> Beispiel CSS | + | * CoreClient.css.ex -> Beispiel CSS |
+ | |||
+ | ===== Core Anbindung ===== | ||
+ | Um einen Client mit dem Core zu verbinden sind folgende Schritte nötig: | ||
+ | * User im FH-Complete erstellen | ||
+ | * API Key erstellen | ||
+ | * Berechtigungen zuteilen | ||
+ | * Client Whitelist anpassen | ||
+ | |||
+ | |||
+ | ==== User ==== | ||
+ | Für die Anbindung muss ein User im FH-Complete erstellt werden. Dieser kann als Mitarbeiter oder als Student angelegt werden. | ||
+ | |||
+ | ==== API Key ==== | ||
+ | Der Zugriff erfolgt über einen API Key. Dazu muss in der Datenbank in der Tabelle public.ci_apikey ein neuer Eintrag hinzugefügt werden. Wichtig ist hier der Wert "Key". Dieser muss beim Zugriff angegeben werden. | ||
+ | |||
+ | ==== Berechtigung zuteilen ==== | ||
+ | Damit der Zugriff auf die REST Schnittstelle möglich ist, muss der neue User die entsprechenden Berechtigungen für den Zugriff auf die Funktionen erhalten. Dies kann im Vilesci über Stammdaten->Berechtigungen zugeordnet werden. | ||
+ | Siehe auch [[admin:berechtigung|Berechtigung]] | ||
+ | |||
+ | ==== Whitelist ==== | ||
+ | Per Default ist der Zugriff auf die REST Schnittstelle per Whitelist gesperrt. Damit der Zugriff auf die Schnittstelle möglich ist, muss die Client IP in die Whitelist mitaufgenommen werden. | ||
+ | Die entsprechende Konfiguration dazu findet sicht unter /application/config/rest.php | ||
+ | |||
+ | <code> | ||
+ | $config['rest_ip_whitelist'] = '127.0.0.1'; | ||
+ | </code> | ||
- | |||