Thema dieser Dokumentation / FirstSpirit Modul-Grundkonzeption / Komponenten / Komponenten-Typen / Public
Public
Inhaltsverzeichnis |
Neben komplexeren Komponenten wie Editoren oder Webanwendungen existieren im FirstSpirit-System auch Schnittstellen/HotSpots, für die kein spezialisierter Komponenten-Typ definiert wurde. Über die Public-Deklaration des Moduls werden Klassen dem FirstSpirit-Server bekannt gemacht, die solche Schnittstellen implementieren. Diese Klassen müssen über Modul-Bibliotheken (Library-Komponente, siehe Bibliothek und Ressourcen) oder Modul-Ressourcen analog zu einer komponentenlosen Library (siehe Komponentenlose Modul-Implementierung (JDBC-Connector-Modul) und Bibliothek) gefunden werden.
Bei diesem Typ ist keine Implementierung (implements) eines speziellen Interfaces notwendig. |
Public-Komponenten erweitern den <components>-Teil des Modul-Descriptors (Beispiel siehe Public):
<public></public>
Die Definition einer Public-Komponente im Modul-Deskriptor kann über Ressourcen innerhalb des Public-Elements (s.o.) oder als Modul-Ressource umgesetzt werden (vgl. Gültigkeitsbereich).
Eingabekomponenten (SwingGadgets) werden ebenfalls als Public-Komponente (siehe Gadget-Spezifikation) im Deskriptor eingebunden.
Sichtbarkeit
Public-Komponenten sind immer server-weit sichtbar, d.h. sie stehen nach der Installation auf dem Server, im Client, in Scripten und anderen Modulen ohne weitere Aktivierung zur Verfügung (siehe Sichtbarkeit von Komponenten).
Konfiguration
Eine Public-Komponente kann eine serverweite Konfigurationsoberfläche zur Verfügung stellen, die innerhalb des FirstSpirit ServerManagers aufgerufen werden kann (Servereigenschaften – Module, siehe Module (→Dokumentation für Administratoren)).
Die entsprechende Konfigurationsklasse muss dazu das Interface Configuration<ServerEnvironment> implementieren (siehe auch Konfiguration von Komponenten).
Ausführbare Klassen (Public-Executables)
Ressourcen, die als Public-Komponente im Deskriptor eingebunden werden, können ausführbare Implementierungen enthalten („Public-Executables“).
Nach der Installation des Moduls stehen diese ausführbaren Implementierungen auf dem FirstSpirit-Server zur Verfügung und können beispielsweise innerhalb eines Skripts (Auftrags-Skripte im FirstSpirit-Server oder Skripte im FistSpirit SiteArchitect) aufgerufen werden.
Public-Executables können über ihren Namen oder den Klassennamen angesprochen werden:
Syntax (Beispiel):
<public>
<name>AppExecutor-Name</name>
<class>de.espirit.pm.modules.modul.AppExecutor</class>
</public>
Über den Namen:
#!executable-class
AppExecutor-Name
Über den Klassennamen:
#!executable-class
de.espirit.pm.modules.modul.AppExecutor
Zum Ausführen von Skripten siehe Dokumentation:
- Skript ausführen (→Dokumentation für Administratoren)
- Extras (→Handbuch FirstSpirit SiteArchitect)
- Kontextmenü Allgemein (→Handbuch FirstSpirit SiteArchitect)
Gültigkeitsbereich:
Um Konflikte zu vermeiden, sollten alle Ressourcen (Jar-Archive) einer ausführbaren Implementierung, soweit das möglich ist, modul-lokal definiert werden (<resource scope="module">). Eine ausführbare Implementierung kann auch referenziert werden, wenn die Klasse in einem modul-lokalen Jar-Archiv liegt, sie müssen nicht serverweit definiert sein (<resource scope="server">) (vgl. Gültigkeitsbereich).
Beispiel (Ressourcen werden mit modul-lokalem Gültigkeitsbereich definiert):
<module>
<name>Modul 1</name>
<version>1.0</version>
<components>
<public>
<name>AppExecutor-Name</name>
<class>de.espirit.pm.modules.modul.AppExecutor</class>
</public>
</components>
<resources>
<resource scope="module">lib/modul1.jar</resource>
<resource scope="module">lib/jtwitter_api.jar</resource>
</resources>
</module>
Referenzierung der ausführbaren Klasse im Skript-Source-Tab:
#!executable-class
AppExecutor-Name
//this calls class de.espirit.pm.modules.modul.AppExecutor registered in "Modul 1"