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.

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

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"

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.12 | Datenschutz