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> | ||
| - | |||