Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
developer:client [2019/01/28 19:02] oesi |
developer:client [2019/08/13 13:48] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== FH-Complete Client ====== | ||
- | |||
- | Clients können verwendet werden um die Funktionalität von FH-Complete zu erweitern. | ||
- | |||
- | * 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. | ||
- | |||
- | {{:developer:clientaufbau.png?600|}} | ||
- | |||
- | ===== Struktur ===== | ||
- | |||
- | Ein Template für eine Client Applikation steht unter folgendem Link zur Verfügung: | ||
- | https://github.com/FH-Complete/FHC-Client-Template | ||
- | |||
- | 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. | ||
- | |||
- | * config | ||
- | * 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 | ||
- | * hooks | ||
- | * CoreClient.hooks.php.ex -> Beispiele für Hooks zwischen FHC-Client und Core API | ||
- | * js | ||
- | * CoreClient.js.ex -> Beispiel für Kommunikation zwischen FHC-Client und Enduser | ||
- | * 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> | ||
- | |||