CURSOR Maskenskript-Editor
Maskenskript-Editor im Windows Client
Grundlagen
Im Administrations-Menü gibt es einen Menü-Eintrag, mit dem man direkt den Skript-Editor öffnen kann. Voraussetzung ist, dass eine Maske geöffnet ist. Ist das nicht der Fall, wird der Schalter grau dargestellt.
Darüber hinaus kann man den Editor über die Tastenkombination STRG+ALT+UMSCHALT+S öffnen.
Um ein gleichzeitige Bearbeitung von Maskenskripten zu verhindern, wird das geöffnete Maskenskript sowie die Skriptbibliothek durch den aktuellen Benutzer gesperrt. Beim Schließen des Skript-Editors wird die Sperre entfernt. Andere Benutzer erhalten beim Bearbeiten eines gesperrten Maskenskriptes eine Hinweismeldung und können das Maskenskript nur noch schreibgeschützt betrachten.
Der Skript-Editor ist von der Anwendung gekoppelt. Es können zeitgleich andere Anwendungsfenster geöffnet werden.
Der Administrator kann in der Admin-Konsole unter Gesperrte Daten die Sperrung für ein Maskenskript explizit aufheben.
![](../../../__attachments/14614529/image2018-9-16_16-9-18.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Skript-Editor
Historie
Am unteren Rand des Skript-Editors werden Informationen über den aktuellen Stand des Skriptes angezeigt.
Zuletzt geändert: Zeitpunkt an dem das Skript letztmalig geändert wurde.
Letzter Bearbeiter: Kürzel des Anwenders, der das Skript zuletzt bearbeitet hat.
Letzter Kommentar: Kommentar zur letzten Änderung
Die Änderungshistorie von BPM-Prozessen, der Skriptbibliothek und des Maskenskripts ist nicht nur im Entwicklungssystem, sondern auch im Produktiv- und Testsystem verfügbar und geht nach einer Systemspiegelung nicht verloren.
Kommentarfeld
Oberhalb der Information des aktuellen Standes befindet sich ein Kommentarfeld, in welches vor dem Speichern ein kurzer Kommentar zur getätigten Änderung bzw. dem neuen Stand eingegeben werden kann. Der Kommentar darf maximal 255 Zeichen lang sein. Das Feld darf aber auch leer gelassen werden. In diesem Fall wird der Eintrag in der Historie später nur mit dem Zeitstempel und dem Benutzerkürzel geschrieben.
Tools
Oberhalb des Baumes befindet sich eine Toolbar, mit den folgenden Aktionen:
Stand wiederherstellen: Ersetzt das aktuelle Skript im Editor durch den im Baum selektierten Stand. Dabei werden ungespeicherte Änderungen, die im aktuellen Stand getätigt wurden überschrieben. Der Anwender wird darauf nochmals mit einer Abfrage hingewiesen.
Alle Knoten aufklappen: Klappt die komplette Baumstruktur auf.
Alle Knoten zuklappen: Klappt die Baumstruktur bis auf die Jahresebene zu.
Vergleichstool auswählen:: Auswahl eines Tools zum Vergleich des aktuellen mit einem historisierten Skript.
![](../../../__attachments/14614529/VergleichstoolWaehlen.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Vergleich von Skripten
Über das Kontextmenü in der Maskenskripthistorie können (mit einer externen Anwendung) historisierte Skripte mit dem aktuellen verglichen werden.
Löschen alter Einträge an eine rechtebehaftete Aktion binden
Alte Einträge (älter als 365 Tage) können nun von einem berechtigten User über das Kontextmenü der Maskenskript-Historie gelöscht werden (Lösche Historie älter als ein Jahr).
![](../../../__attachments/14614529/MaskScriptHistory_rightableAction.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Skriptversion
Zu Gunsten eines besseren logischen Aufbaus des Dialoges, wird die Information zur aktuellen Skriptversion (Datum) unter dem Baum der Historie angezeigt.
Kommentar bei Maskenskript-Änderung erzwingen
Per Systemeinstellung kann nun festgelegt werden, dass ein Administrator bei einer Änderung eines Maskenskripts zwingend ein Kommentar hinterlegen muss, welches die Änderung dokumentiert Systemeinstellung→Allgemein→Maskenskript-Kommentar erzwingen.
Es wird ein Popup angezeigt, falls kein Kommentar eingegeben wurde:
![](../../../__attachments/14614529/MaskScriptHistory_forceCommentPopup.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Sollte man hier wiederum keinen Kommentar eingeben, erscheint der Dialog erneut. Mit Abbrechen wird das Speichern des Skriptes abgebrochen und man steht wieder im Maskenskript-Dialog.
Maskenskript-Editor im Web Client
Der fachliche Umfang des Skript-Editors im Web Client deckt sich den bekannten Funktionen aus dem Windows Client. Technologisch kommt hier allerdings der Monaco-Editor von Microsoft zum Einsatz, welcher eine Vielzahl an nützlichen Features mitbringt, die einem die Skriptentwicklung erleichtern. Zu öffnen ist der Editor auf einer Detailmaske mit dem bekannten Tastenkürzel STRG+ALT+UMSCHALT+S oder mit einem Rechtsklick auf den Titel der Detailansicht und dem korrespondierenden Kontextmenüeintrag.
![](../../../__attachments/14614529/image2021-3-29_9-6-30.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
![](../../../__attachments/14614529/image2021-3-29_7-57-37.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Bedienhinweise
Autovervollständigung
Beim Vervollständigen eines Methodenaufrufs, werden die Parameter der Methode nicht mehr automatisch ins Skript eingefügt. Mit Eingabe der öffnenden Klammer "(" nach dem Methodennamen, wird dann der Parameter-Assistent angezeigt.Syntax-Prüfung
Der Code wird bereits bei der Eingabe einer Syntax-Prüfung unterzogen und fehlerhafte Stellen werden entsprechend markiert.Umbenennung von Methoden, Variablen und Parametern
Mit F2 können Umbenennungen im aktuellen Scope automatisch durchgeführt werden. Alle Verwendungsstellen der Methoden, Variablen oder Parameter werden dann zusammen geändert.Definition / Verwendungsstellen von Methoden, Variablen und Parametern
Mit Strg + Klick auf z.B. einen Methodenaufruf, springt man so dessen Definition (funktioniert nur innerhalb des Skripts, nicht in Util- oder Skript-Klassen). Mit Strg + Klick auf die Definition einer Methode kann man deren Verwendungsstellen einsehen. Analoges Verhalten auch für Variablen und Parameter.Suchen & Ersetzen
erreichbar über Strg + FMulti-Cursor-Bearbeitung
Mit Strg + D lassen sich nach und nach mehrere "gleiche" Texte markieren und zusammen bearbeiten.Anzeigen der Kommando-Palette mit F1
Hier werden alle verfügbaren Aktionen/Werkzeuge des Editors zusammen mit den entsprechende Tastenkürzeln angezeigt. Die Liste kann gefiltert und die Aktionen auch durch Enter ausgelöst werden. Dieses Feature ist sehr hilfreich, wenn man eine Tastenkombination nachschauen oder die Möglichkeiten des Editors entdecken möchte.
Integriertes Diff-Tool
Während man beim Windows Editor noch ein externes Diff-Tool angeben musste, um 2 Skriptstände miteinander zu vergleichen, so verfügt der Web Editor über ein integriertes Werkzeug für diese Zwecke. Erreichbar ist diese Ansicht über die Maskenskript-Historie, indem man einen (Vergleich mit aktuellem Skript) oder zwei Skriptstände (Vergleich der beiden Stände) markiert.
![](../../../__attachments/14614529/image2021-3-29_8-1-35.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Es öffnet sich eine Ansicht bei der man zunächst im linken Bereich den älteren und im rechten Bereich den neueren Skriptstand sieht. Alle Unterschiede sind entsprechend zeilenweise markiert.
![](../../../__attachments/14614529/image2021-3-29_8-3-57.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Oberhalb der beiden Skriptstände befindet sich jeweils eine Toolbar mit den folgenden Aktionen:
Auswahl des jeweiligen Skriptstands (inkl. des aktuellen Editor-Stands) in chronologisch absteigender Reihenfolge
Kopieren des Skriptstands in die Zwischenablage
Download des Skriptstands als Textdatei
Wiederherstellung des Skriptstands im Editor
Maskenskript-Entwürfe
Mit der Version 21.1 wurde das Speichern von Maskenskripten grundlegend umgestellt. Das Speichern eines Skripts führt jetzt nicht mehr dazu, dass es sofort für alle Anwender geändert bzw. einem Customizing-Paket zugeordnet wird.
Mit Zwischenspeichern wird zunächst lediglich ein Entwurf in der Datenbank gespeichert. Dieser Entwurf ist nur in der aktuellen Session aktiv und kann somit vom Skriptentwickler ausgiebig getestet werden, ohne dass andere Anwender etwas von den Skriptänderungen mitbekommen. Diese Entwürfe erzeugen keine Einträge in der Maskenskripthistorie!
Erst mit der Aktion Veröffentlichen werden die Änderungen für alle Anwender spürbar. Erst jetzt findet eine Zuordnung zu einem Customizing-Paket statt und der entsprechende Eintrag in der Maskenskript-Historie wird erstellt.
Beendet man seine Session ohne zu veröffentlichen, bleibt der Entwurf trotzdem erhalten. Bei erneuter Bearbeitung des Skripts in einer anderen Session (bzw. durch einen anderen Anwender), wird dieser Entwurf automatisch wieder geladen (Hinweismeldung erscheint) und kann entsprechend weiter bearbeitet oder verworfen werden.
Ein Skript(entwurf) kann weiterhin nur von einem Anwender gleichzeitig bearbeitet werden (Sperrkonzept).
Beim Customizing-Transport wird auch darauf hingewiesen, falls noch ein unveröffentlichter Skriptentwurf vorliegt. Der Transport kann dann zwar trotzdem durchgeführt werden, allerdings werden die Skriptänderungen dann nicht mitgenommen.