Scripts erstellen
Clientscript erstellen
Neue Scripte können in der Vorlagen-Verwaltung unterhalb des Knotens "Skripte" erstellt werden, und zwar über das Kontextmenü, Eintrag "Neu" / "Skript anlegen".
Eigenschaften
Im Reiter Eigenschaften eines Scripts lassen sich Beschreibung und Kommentar einstellen, sowie der Vorlagentyp auswählen.
Der Vorlagentyp bietet die Möglichkeit das Skript mit 4 verschiedenen Optionen zu verwenden:
- Vorlage: Script kann in einem Template aufgerufen und im Generierungs-Kontext ausgeführt werden
- Menü: Aufruf über das Hauptmenü im JavaClient unter dem Punkt Extras > Skript ausführen
- Kontextmenü: Aufruf über das Kontextmenü auf jedem Store-Knoten im Projekt
- Uninterpretiert: Der Inhalt des Scripts kann so im Header eines Templates aufgerufen werden
Darüber hinaus kann über das Feld Tastaturkürzel ein eindeutiges Tastaturkürzel festgelegt werden. Das Skript muss in diesem Fall nicht mehr über das Kontextmenü oder das Menü "Extras" ausgeführt werden, sondern kann direkt über das festgelegte Tastaturkürzel aufgerufen werden.
Für Skripts des Typs Menü kann die Option "Auf der Einstiegsseite verwenden" aktiviert werden. Das jeweilige Skript wird dann, abhängig von den Einstellungen im Bereich "Einblendelogik", auf der Projekteinstiegsseite im Bereich "Meine Aktionen" angezeigt und kann direkt per Klick ausgeführt werden.
Einblendelogik (nur für Menu/Kontextmenu): Über die Einblende-Logik können Skripte abhängig von bestimmten Eigenschaften eingeblendet oder ausgeblendet werden (analog zur Einblendelogik von Arbeitsabläufen, siehe FirstSpirit Dokumentation für Entwickler). Beispielsweise kann ein Skript vom Skripttyp „Kontextmenü“ nur dann angezeigt werden, wenn das Kontextmenü auf einer Seitenreferenz in der Struktur-Verwaltung aufgerufen wird:
//!Beanshell
import de.espirit.firstspirit.access.store.sitestore.PageRef;
storeElement = context.getStoreElement();
return (storeElement instanceof PageRef);
Immer aktiv: Soll die Einblende-Logik deaktiviert werden, kann die Checkbox „Immer aktiv“ aktiviert werden. Das Skript wird in diesem Fall, unabhängig von der Einblende-Logik, immer eingeblendet. Die hinterlegte Einblendelogik wird zwar nicht mehr ausgewertet, bleibt aber enthalten und kann durch das Deaktivieren der Checkbox wieder aktiviert werden.
Formular
Im Formular lassen sich analog zu Seiten- und Absatztemplates individuelle Eingabekomponenten definieren, die zur Laufzeit des Scripts aufgerufen werden können. Die Werte der Eingabekomponenten können an das Skript zur Verarbeitung zurückgegeben werden.
Ausgabekanäle
In den Ausgabekanälen (z.B.: HTML, JSP, print, etc.) steht der eigentliche BeanShell Quellcode. Durch die erste Zeile des Beispiels erkennt FIRSTspirit, dass es sich bei diesem Skript um BeanShell handelt.
//!Beanshell
print("Mein erstes Script!");
Soll das Script in jedem Ausgabekanal ausführbar sein, so muss jeder Kanal mit dem Scriptcode gefüllt werden.