Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Letzte Überarbeitung Beide Seiten der Revision | ||
developer:extensions [2017/11/20 16:24] oesi |
developer:extensions [2021/12/21 00:05] karpenko [Ersteinrichtung] |
||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
Diese sind ab FH-Complete Version 3.3 verfügbar. | Diese sind ab FH-Complete Version 3.3 verfügbar. | ||
Sie werden dazu verwendet um die Standardfunktionalitäten von FH-Complete zu erweitern. | Sie werden dazu verwendet um die Standardfunktionalitäten von FH-Complete zu erweitern. | ||
- | Extensions können die bestehende Datenbank um zusätzliche Tabellen Erweitern, neue Webservice Funktionalitäten hinzufügen und weitere Modifikationen am FH-Complete Core durchführen. | + | Extensions können die bestehende Datenbank um zusätzliche Tabellen erweitern, neue Webservice Funktionalitäten hinzufügen und weitere Modifikationen am FH-Complete Core durchführen. |
Extensions müssen immer am selben Host wie der FH-Complete Core installiert werden. | Extensions müssen immer am selben Host wie der FH-Complete Core installiert werden. | ||
- | Extension folgende der Namenskonvention FHC-Core-XXX | + | |
+ | Extension folgen der Namenskonvention FHC-Core-XXX | ||
+ | |||
+ | ===== Struktur ===== | ||
+ | |||
+ | {{:developer:extensionsaufbau.png|600}} | ||
===== Ersteinrichtung ===== | ===== Ersteinrichtung ===== | ||
- | Vor der Verwendung von Extensions müssen ein paar im FH-Complete Core vorgenommen werden. | + | Vor der Verwendung von Extensions müssen ein paar Anpassungen im FH-Complete Core vorgenommen werden. |
- | Der Webserver brauch Schreibzugriff auf die Extension Verzeichnisse damit diese korrekt installiert werden können. | + | Der Webserver braucht Schreibzugriff auf die Extension-Verzeichnisse damit diese korrekt installiert werden können. |
Dazu werden folgende Befehle im FH-Complete Hauptverzeichnis ausgeführt: | Dazu werden folgende Befehle im FH-Complete Hauptverzeichnis ausgeführt: | ||
<code> | <code> | ||
- | chgrp www-data application/tmp/ application/config/extensions/ application/controllers/extensions/ application/helpers/extensions/ application/hooks/extensions/ application/libraries/extensions/ application/models/extensions/ application/views/extensions/ application/widgets/extensions/ | + | chgrp www-data application/extensions/ application/tmp/ application/config/extensions/ application/controllers/extensions/ application/helpers/extensions/ application/hooks/extensions/ application/libraries/extensions/ application/models/extensions/ application/views/extensions/ application/widgets/extensions/ public/extensions |
- | chmod 775 application/tmp/ application/config/extensions/ application/controllers/extensions/ application/helpers/extensions/ application/hooks/extensions/ application/libraries/extensions/ application/models/extensions/ application/views/extensions/ application/widgets/extensions/ | + | chmod 775 application/extensions/ application/tmp/ application/config/extensions/ application/controllers/extensions/ application/helpers/extensions/ application/hooks/extensions/ application/libraries/extensions/ application/models/extensions/ application/views/extensions/ application/widgets/extensions/ public/extensions |
</code> | </code> | ||
Zeile 28: | Zeile 33: | ||
Extensions werden üblicherweise als TGZ Archiv zur Verfügung gestellt. Auf der oben genannten Seite kann das Archiv hochgeladen werden. Dabei wird die Extension automatisch installiert und aktiviert. | Extensions werden üblicherweise als TGZ Archiv zur Verfügung gestellt. Auf der oben genannten Seite kann das Archiv hochgeladen werden. Dabei wird die Extension automatisch installiert und aktiviert. | ||
+ | |||
+ | <note important>Für die Installation von Extensions benötigen Sie die Berechtigung "system/extensions"</note> | ||
+ | |||
+ | Alternativ können Extensions auch über die Commandline installiert werden. | ||
+ | |||
+ | Der Pfad zur Extension muss URL-Kodiert angegeben werden. (%2F statt /) | ||
+ | <code> | ||
+ | php index.ci.php system/extensions/CLI_Manager uploadExtension FHC-Core-Extension %2Fhome%2Ffhcomplete%2fFHC-Core-Extension.tgz | ||
+ | </code> | ||
+ | |||
+ | <note important>Die Extension Datei wird nach der Installation gelöscht wenn die Installation über die Commandline erfolgt!</note> | ||
===== Update von Extensions ===== | ===== Update von Extensions ===== | ||
Zeile 36: | Zeile 52: | ||
Extensions können deaktiviert werden. Die Daten der Extensions bleiben dabei erhalten. Lediglich die Funktionen dieser Extension werden deaktiviert. | Extensions können deaktiviert werden. Die Daten der Extensions bleiben dabei erhalten. Lediglich die Funktionen dieser Extension werden deaktiviert. | ||
+ | |||
+ | ===== Extensions entwickeln ===== | ||
+ | |||
+ | Folgende Ordner werden automatisch im FH-Complete Core verlinkt um die bestehenden Funktionalitäten zu erweitern: | ||
+ | * config | ||
+ | * controllers | ||
+ | * helpers | ||
+ | * hooks | ||
+ | * libraries | ||
+ | * models | ||
+ | * views | ||
+ | * widgets | ||
+ | |||
+ | Zusätzlich muss im Hauptordner eine Datei mit dem Namen extensions.json vorhanden sein mit folgendem Aufbau: | ||
+ | |||
+ | <code> | ||
+ | { | ||
+ | "name": "FHC-Core-MyExtension", | ||
+ | "description": "My Extension", | ||
+ | "version": "1", | ||
+ | "license": "GPL", | ||
+ | "url": "https://github.com/FH-Complete/FHC-Core-MyExtension", | ||
+ | "core_version": "3.3" | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Mit folgendem Befehl kann aus dem Extension-Code ein Archiv erstellt werden: | ||
+ | <code> | ||
+ | tar --exclude=.git -cvzf FHC-Core-myextension.tgz FHC-Core-myextension | ||
+ | </code> | ||
+ | |||