Skripte
Einführung in Skripte in ConSol CM
Skripte liefern die Logik für die in ConSol CM modellierten Prozesse. Sie sind eine Schlüsselkomponente für die Anpassung des Systems an die benötigten Anwendungsfälle. ConSol CM hat eine umfassende API, die Methoden zur Verfügung stellt, mit denen ConSol CM-Objekte abgerufen und geändert werden können.
Konzepte, Begriffe und Definitionen
Konzept |
Andere Begriffe |
Definition |
---|---|---|
Skript |
|
Ein Skript ist Code, der auf dem ConSol CM-Server oder im Browser ausgeführt wird. |
Groovy |
|
Groovy ist die Programmiersprache, die für die meisten Skripte in ConSol CM verwendet wird. Sie ist mit Java kompatibel. |
Java |
|
Java ist eine objektorientierte Programmiersprache, die in Groovy-Skripten verwendet werden kann. |
JavaScript |
|
JavaScript ist eine Programmiersprache, die in Widget- und Feldvisualisierungsskripten in ConSol CM verwendet werden kann. |
ConSol CM-API |
|
Die ConSol CM-API bietet Methoden für den Zugriff und die Änderung von Objekten in der ConSol CM-Datenbank. |
Zweck und Verwendung
Skripte werden verwendet, um die Prozesse in ConSol CM mit zusätzlicher Logik auszustatten. Sie definieren das Verhalten des Systems in verschiedenen Bereichen, beispielsweise E-Mails, Aktionen, Widgets oder Workflows.
Die meisten Skripte werden in Groovy geschrieben, einer objektorientierten Programmiersprache, die mit Java kompatibel ist. Für Skripte, die Widgets und Feldvisualisierungen im Web Client implementieren, können Sie JavaScript verwenden.
Skripte, die im Workflow verwendet werden, können entweder auf der Seite Skripte oder direkt im Workflow gespeichert werden, siehe Verwalten von Workflow-Skripten. Alle anderen Skripte werden auf der Seite Skripte gespeichert.
Verfügbare Einstellungen für Skripte
Ein Skript hat drei Einstellungen:
- Name: Dies ist der Name, über den das Skript referenziert wird.
- Typ: Der Typ bestimmt den Zweck des Skripts. Bei der Erstellung eines neuen Skripts wird die Vorlage für den ausgewählten Typ automatisch in den Quellcode eingefügt. Zusätzlich werden die Skripte an den Stellen, an denen sie referenziert werden, nach dem passenden Typ gefiltert.
- Letzte Änderung: Dies ist das Datum, an dem das Skript zuletzt geändert wurde.
Die folgende Tabelle zeigt die verfügbaren Skripttypen:
Typ |
Beschreibung |
Link |
---|---|---|
Abhängige sortierte Liste |
Definiert hierarchische Datenstrukturen für Datenfelder. Wird der Datenfeldgruppe zugewiesen. |
|
Bedingung für Aktionsformular |
Bestimmt, ob ein Aktionsformular für eine Kontakt-, Ressourcen- oder Suche-Aktion angezeigt wird. Wird der Aktion zugewiesen. |
|
Bedingung für Webformular |
Bestimmt, ob ein Client auf ein Webformular zugreifen kann. Wird dem Webformular zugewiesen. |
|
Duplizieren |
Ändert die Werte, mit denen ein durch Duplizieren eines Vorgangs neu erstellter Vorgang automatisch vorbefüllt wird. Wird der Queue zugewiesen. |
|
|
Verwaltet ein- und ausgehende E-Mails. Einige E-Mail-Skripte sind Teil der Lieferung von ConSol CM. Wird der Queue zugewiesen. |
|
Feldvisualisierung |
Konfiguriert die Visualisierung von Datenfeldern. Wird dem Datenfeld zugewiesen. |
|
Integration |
Implementiert Services, die die Webhook-Schnittstelle von ConSol CM nutzen. |
|
In Workflow eingebettet |
Skript, das an einem Workflow-Element hängt. |
|
Kalenderintegration |
Liefert Verbindungsinformationen für die Integration von Microsoft Exchange-Kalendern. Wird in der Seitenanpassung des Kalenderabschnitts referenziert. |
|
Kontaktaktion |
Implementiert eine Kundenaktion. Wird der Aktion zugewiesen. |
|
Kontaktbedingung |
Bestimmt, ob eine Kundenaktion verfügbar ist. Wird der Aktion zugewiesen. |
|
News |
Konfiguriert die News-Funktion. |
|
Relationsgraph |
Konfiguriert die Graphendarstellung der Relationen im Relationsabschnitt des Web Clients. Wird in der Seitenanpassung des Abschnitts referenziert. |
|
Ressourcenaktion |
Implementiert eine Ressourcenaktion. Wird der Aktion zugewiesen. |
|
Ressourcenbedingung |
Bestimmt, ob eine Ressourcenaktion verfügbar ist. Wird der Aktion zugewiesen. |
|
Seitenanpassung |
Liefert Einstellungen für die Seitenanpassung. Wird im Abschnitt der Seitenanpassung referenziert. Der Skripttyp Widget kann statt dieses Typs verwendet werden. Wir empfehlen, den Typ Seitenanpassung für die Skripte zu verwenden, die in den Bereichen und Typen der Seitenanpassung referenziert werden, und den Skripttyp Widget für die Skripte zu verwenden, in denen Dashboard-Widgets implementiert werden. So können Sie die Skripte einfach auseinanderhalten. |
|
Seitenvisualisierung |
Konfiguriert die Visualisierung einer Seite. Wird dem Seitentyp in der Seitenanpassung zugewiesen. |
|
Standardwerte |
Befüllt Datenfelder bei der Erstellung eines neuen Vorgangs. Wird der Queue zugewiesen. |
|
Suche-Aktion für Kontakte |
Implementiert eine Aktion für eine Detailsuche nach Kontakten. Wird der Aktion zugewiesen. |
|
Suche-Aktion für Ressourcen |
Implementiert eine Aktion für eine Detailsuche nach Ressourcen. Wird der Aktion zugewiesen. |
|
Suche-Aktion für Vorgänge |
Implementiert eine Aktion für eine Detailsuche nach Vorgängen. Wird der Aktion zugewiesen. |
|
Suche-Bedingung für Kontakte |
Bestimmt, ob eine Aktion für eine Detailsuche nach Kontakten verfügbar ist. Wird der Aktion zugewiesen. |
|
Suche-Bedingung für Ressourcen |
Bestimmt, ob eine Aktion für eine Detailsuche nach Ressourcen verfügbar ist. Wird der Aktion zugewiesen. |
|
Suche-Bedingung für Vorgänge |
Bestimmt, ob eine Aktion für eine Detailsuche nach Vorgängen verfügbar ist. Wird der Aktion zugewiesen. |
|
Systemdokumentation |
Konfiguriert den Export der Systemkonfiguration. |
|
Task |
Implementiert Tasks, die beliebigen Code im System ausführen können. |
|
Text-Autovervollständigung |
Definiert skriptbasierte Autocomplete-Listen für Datenfelder. Wird dem Datenfeld zugewiesen. |
|
Vorbelegung für Aktionsformular |
Befüllt Datenfelder in einem Aktionsformular. Wird der Aktion zugewiesen. |
|
Widget |
Implementiert Widgets, die auf einem Dashboard angezeigt werden können. Wird im Abschnitt der Seitenanpassung referenziert. Der Skripttyp Seitenanpassung kann statt dieses Typs verwendet werden. Wir empfehlen, den Typ Seitenanpassung für die Skripte zu verwenden, die in den Bereichen und Typen der Seitenanpassung referenziert werden, und den Skripttyp Widget für die Skripte zu verwenden, in denen Dashboard-Widgets implementiert werden. So können Sie die Skripte einfach auseinanderhalten. |
|
Widget-Visualisierung |
Implementiert generische Widgets, die jeglichen HTML-Inhalt anzeigen können. Wird dem Widget in der Seitenanpassung zugewiesen. |
|
Workflow |
Skripte, die in Workflows referenziert werden. |
Grundlegende Aufgaben
Suchen nach Skripten
Die Liste der Skripte wird direkt nach dem Öffnen der Seite Skripte der Web Admin Suite angezeigt. Sie können die Liste filtern, um ein Skript leichter zu finden:
-
Textsuche: Führen Sie eine Freitext-Suche im Skriptnamen oder -inhalt durch.
Geben Sie Text in das Feld Suchen ein und wählen Sie Im Namen, um im Namen der Skripte zu suchen, oder Im Inhalt, um im Quellcode der Skripte zu suchen.
-
Skripttyp: Zeigen Sie nur Skripte eines bestimmten Typs an.
Wählen Sie den Skripttyp in der Drop-down-Liste Alle Typen außer eingebettete aus.
-
Änderungsdatum: Sortieren Sie die Skripte nach Änderungsdatum.
Wählen Sie in der Spaltenauswahl Letzte Änderung und sortieren Sie die Liste der Skripte nach dem Datum der letzten Änderung, um vor Kurzem geänderte Skripte oben in der Liste anzuzeigen.
-
Ungespeicherte Änderungen: Zeigen Sie nur Skripte an, die ungespeicherte Änderungen haben.
Wählen Sie Nur geänderte in der Drop-down-Liste Alle Typen außer eingebettete aus.
-
Verwendung: Zeigen Sie nur Skripte mit oder ohne Verwendung an:
Wählen Sie In Verwendung oder Keine bekannte Verwendung in der Dropdown-Liste Alle Verwendungen aus.
Sie können Skripte, die Sie häufig verwenden, als Favoriten markieren, indem Sie neben dem Skriptnamen auf das Sternchen klicken. Danach können Sie die Favoriten an den Tabellenanfang bewegen, indem Sie auf das Icon in der Tabellenkopfzeile klicken. Wenn das Icon aktiviert ist, werden die Favoriten immer oben in der Tabelle angezeigt, auch dann, wenn das Skript nicht zu den anwendeten Filtern im Suchfeld oder zum ausgewählten Skripttyp passt.
Arbeiten mit Skripten
Sie können für Skripte folgende Aktionen ausführen:
-
Neues Skript erstellen
Klicken Sie über der Liste der Skripte auf den Button Neues Skript. Wählen Sie den Skripttyp und geben Sie einen eindeutigen Namen für das Skript ein. Siehe Verfügbare Einstellungen für Skripte. Über den Ablegebereich können Sie Skriptinhalt aus einer Datei importieren.Wenn das neue Skript einem vorhandenen Skript ähnelt, können Sie eine Kopie des Skriptes erstellen, indem Sie in der Zeile dieses Skripts auf das Icon Duplizieren klicken. Sie müssen einen eindeutigen Namen für das Skript angeben und Sie können den Skripttyp ändern.
-
Skriptnamen oder -typ bearbeiten
Klicken Sie auf das Icon Bearbeiten, um den Typ oder den Namen eines Skripts zu ändern. -
Quellcode eines Skripts bearbeiten
Klicken Sie auf die Zeile eines Skripts, um den Quellcode zu öffnen. Der Quellcode kann direkt bearbeitet werden. Im Quellcodebereich sind folgende Aktionen möglich:-
Änderungen speichern: Speichern Sie Ihre Änderungen.
Sie können die Aktion Alle Änderungen speichern wählen, um alle geänderten Skripte, die durch einen pinken Namen und ein Sternchen gekennzeichnet sind, gleichzeitig zu speichern.
-
Änderungen verwerfen: Machen Sie Ihre Änderungen rückgängig.
-
Importieren: Ersetzen Sie das Skript durch den Inhalt einer Datei.
-
Exportieren: Speichern Sie das Skript in eine Datei.
-
Vollbild: Öffnen Sie den Vollbildmodus, sodass das gesamte Fenster den Quellcode zeigt. Klicken Sie auf Zurück, um den Vollbildmodus zu verlassen.
-
Text umbrechen: Wenn eine Textzeile den verfügbaren Platz überschreitet, können Sie entweder den Text umbrechen oder einen Scroll-Balken anzeigen.
Details zu den Funktionen des Skripteditors finden Sie in Verwenden der Funktionen des Skripteditors.
-
-
Skript löschen
Sie können ein Skript löschen, indem Sie auf das Icon Löschen klicken. Wenn das Skript schon in Verwendung ist, beispielsweise weil es einer Aktion zugewiesen ist, wird eine Fehlermeldung angezeigt und Sie können das Skript nicht löschen.
Erweiterte Aufgaben
Verwenden der Funktionen des Skripteditors
Der Skripteditor hat folgende Funktionen:
-
Syntax-Hervorhebung
Der Editor verwendet Syntax-Hervorhebung für Groovy. -
Code-Vervollständigung
Sobald Sie einen Punkt eingeben, werden die Methoden für das aktuelle Objekt vorgeschlagen. Sie können weitere Zeichen eingeben, um die Suche zu verfeinern. Es werden nur Methoden für explizit deklarierte Variablen angezeigt.Sie können STRG + Leertaste drücken, um Vorschläge für Service-Klassen anzuzeigen.
-
Code-Validierung
Die Ergebnisse der Code-Validierung werden angezeigt, wenn Sie mit der Maus über die Zeile mit dem Fehler fahren. Es gibt drei Modi:- Keine Validierung: Die Code-Validierungsfunktion ist ausgeschaltet.
- Einfache Validierung: Es wird eine einfache Code-Validierung durchgeführt.
- Strenge Validierung: Es wird eine detailliertere Code-Validierung durchgeführt, die zusätzlich prüft, ob die aufgerufenen Methoden für die Objekte existieren.
-
Code-Snippets
Sie können Code-Snippets zu folgenden Objekten in Ihre Skripte einfügen:- Skriptgeneratoren: Code für E-Mail- oder Suche-Skripte auf Basis der in einem Modalfenster vorgenommenen Einstellungen generieren und einfügen
- Bezeichnungen: Bezeichnung mit oder ohne Locale einfügen
- Datenfelder: Werte von Vorgangs-, Kontakt- und Ressourcenfeldern lesen und setzen, technische und lokalisierte Werte von sortierten Listenfeldern lesen, über Listenfelder iterieren, Zeilen zu Listenfeldern hinzufügen
- Queues: Queue einfügen
- Skripte: Skript ausführen
- System-Properties: System-Property einfügen
- Templates: Template mit oder ohne Locale einfügen
Sie können auf die Code-Snippets zugreifen, indem Sie die Option >> Code-Snippet einfügen aus den Vorschlägen der Autovervollständigung auswählen, auf den Button Code-Snippet einfügen klicken oder die Tastenkombination STRG + J drücken.
Das Fenster Code-Snippets enthält ein Suchfeld, in dem Sie nach dem gewünschten Code suchen können, z. B. Suche nach einem Kontakteld, um die verfügbaren Snippets anzuzeigen. Sie können zusätzliche Filter anwenden, indem Sie den Typ des Objekts gefolgt von einem Doppelpunkt eingeben:
- label: sucht nach Bezeichnungen
- property: sucht nach System-Properties
- queue: sucht nach Queues
- resource: sucht nach Ressourcenfeldern
- script: sucht nach Skripten
- template: sucht nach Templates
- ticket: sucht nach Vorgangsfeldern
- unit: sucht nach Kontaktfeldern
-
Tastenkombinationen
Es gibt Tastenkombinationen für häufige Vorgänge. Beispiele:- Speichern: STRG + S
- Rückgängig machen: STRG + Z
- Suchen: STRG + F
- Code-Snippet einfügen: STRG + J
- Autovervollständigung: STRG + Leertaste
- Zu Zeile springen: STRG + L
- Zum referenziertem Skript springen: ALT + J
- Vorschau des referenzierten Skripts öffnen: ALT + P
- Vorschau des Skript-Templates anzeigen: ALT + T
- Code formatieren: ALT + F
Die Tastenkombinationen zu den referenzierten Skripten sind nur dann verfügbar, wenn der Benutzer den Skriptnamen im Code ausgewählt hat.
-
Texthervorhebung
Sie können auf ein Wort doppelklicken oder einen Text markieren, um dessen Vorkommen im Skript farblich hervorzuheben.
Sie können das aktuelle, noch nicht gespeicherte Skript mit der zuletzt gespeicherten Version des Skriptes vergleichen, indem Sie auf den Button Mit letzter gespeicherter Version vergleichen klicken. Die Änderungen werden in einer Ansicht mit beiden Skripten nebeneinander hervorgehoben.
Sie können auf den Button Verwendung klicken, um zu sehen, wo ein Skript verwendet wird. Im Popup-Fenster sind die Stellen aufgeführt, an denen das Skript referenziert wird, und Sie können über die Links zu den referenzierenden Objekten springen.
Wenn jemand anderes das Skript, an dem Sie gerade arbeiten, speichert, wird eine rote Warnung über dem Editor angezeigt, und Sie können Ihre Änderungen mit der neusten Serverversion des Skriptes vergleichen.
Verwenden von Spezialaktionen
Je nach Skripttyp wird in der linken oberen Ecke des Skripteditors ein zusätzlicher Button mit einer Spezialaktion angezeigt. Aktuell sind zwei Spezialaktionen verfügbar:
Skripttyp |
Aktion |
Beschreibung |
---|---|---|
Integration |
Webhook-Konfiguration |
Öffnet die Konfigurationsseite des Webhooks, zu dem das Skript gehört. Siehe Webhooks. |
Task |
Task ausführen |
Erzeugt einen Task mit dem aktuellen Task-Skript und führt ihn aus. Siehe Tasks. |
Auf Entwicklungssystemen (siehe cmas-core-shared, system.flavour) können Sie ein Task direkt über das Inline-Icon Task ausführen in der Zeile des Task-Skriptes starten.
Verwalten von Workflow-Skripten
Zur Verwendung von Skripten im Workflow Skripte können Sie die Skripte entweder direkt im Workflow speichern oder ein auf der Seite Skripte gespeichertes Skript aus dem Workflow referenzieren. Im Workflow gespeicherte Skripte können auf der Seite Skripte angezeigt und durchsucht werden, indem Sie im Typfilter die Option In Workflow eingebettet auswählen.
Bei eingebetteten Skripten wird nur die installierte Version des Skriptes angezeigt, d. h. wenn das Skript in einer gespeicherten, aber noch nicht installierten Workflow-Version geändert wurde, wird der Skriptinhalt, der zur zuletzt installierten Version angezeigt.
Vorteile vom Speichern von Workflow-Skripten auf der Seite Skripte:
- Sie können dasselbe Skript an mehreren Stellen verwenden, z. B. in unterschiedlichen Aktivitäten oder Workflows.
- Sie können das Skript ändern, ohne den Workflow installieren zu müssen, da die Änderungen auf der Seite Skripte sofort nach dem Speichern wirksam werden.
Vorteile vom Speichern von Workflow-Skripten im Workflow:
- Sie müssen nicht zwischen den Seiten wechseln, wenn Sie an einem Workflow arbeiten.
- Die Skripte sind versioniert, d. h. jede Workflow-Version enthält das mit dieser Version installierte Skript.
Wenn der Entwicklungsmodus, siehe Deployment-Modus, auf der Seite Workflows ausgewählt ist, können Sie auf der Seite Skripte auch die Skripte editieren, die nur im Workflow gespeichert sind. Die Änderungen werden sofort wirksam und es gibt keine Versionierung.
Gehen Sie folgendermaßen vor, um ein Workflow-Skript auf der Seite Skripte zu speichern:
-
Erstellen Sie ein Skript des Typs Workflow auf der Seite Skripte.
-
Referenzieren Sie das Skript an der gewünschten Stelle im Workflow.
scriptExecutionService.execute("myscript.groovy")
Optional können Sie Parameter an das Skript übergeben, beispielsweise den Vorgang oder Hauptkontakt:
def params = [ "myticket": workflowApi.ticket ]
scriptExecutionService.execute("myscript.groovy", params)
Über die Variable myticket kann das Skript danach auf den Vorgang zugreifen. Alternativ können Sie den Vorgang mit Methoden des Objekts workflowApi direkt im Skript abrufen.
Weitere Informationen über eingebettete Skripte finden Sie auf der Seite des jeweiligen Workflow-Elements, siehe Workflows.