====== 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. * 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: 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 $config['rest_ip_whitelist'] = '127.0.0.1';