Diese Funktionalität ist nur in bestimmten Ausbaustufen verfügbar.

Sie befinden sich hier: Konzepte > IT-Philosophie > Commands und Aktionen

Commands und Aktionen

Commands sind Objekte, die genau eine Methode namens execute haben. Dadurch ist es möglich, eine Sequence aus Methoden aufzurufen, indem eine Liste von Commands zusammengestellt wird. Die wird beispielsweise von den SequenceSelectionActions genutzt.

Die Plugins des Systems stellen Commands über Systembibliotheken zur Verfügung:

Verwaltungsaufgaben, wie beispielsweise das Aktivieren und Deaktivieren des FormelCaches (Start-/StopFormulaCacheCommand) oder das Speichern von Änderungen (SaveObjectCommand) werden als atomare Commands bereitgestellt, aus denen dann eine Sequenz zusammenzustellen ist, um einen Workflow zu automatisieren.

Diese feingranulare Aufteilung in Commands ist sinnvoll, um Möglichkeiten zu Performance-Optimierungen bereitzustellen (z.B. Nutzung eines aktiven Formelcaches für mehrere Commands etc.).

Aufgabe der Aktionen (Actions) ist es, das User Interface (UI) mit der Applikationslogik zu verbinden.

Das System-Objekt Action ist die Oberklasse für alle zukünftig bereitgestellten Möglichkeiten, Commands der Applikationslogik aus der Benutzungsschnittstelle aufzurufen.

Die bisher durch das System bereitgestellten Ausprägungen sind SelectionActions, die immer voraussetzen, dass ein oder mehrere Objekte selektiert sind, für die eine Aktion ausgeführt wird. Darüberhinaus wird es später möglicherweise auch Aktionen geben, die keine Selektion voraussetzen und "global" funktionieren.

Eine SelectionAction nimmt eine Auswahl selektierter Objekte (selectedEOs) (im allgemeinen Fall eine Multiselection) und gibt diese an ihre interne run-Methode weiter

SelectionActions verfügen über die folgenden Attribute:

Anmerkung: Damit die Änderung sichtbar wird, muss die Sicht geschlossen und neu geöffnet werden (oder ein Neustart durchgeführt werden)

Finden von SelectionActions:

Beim Anpassen einer PopUp-Struktur, die aus vielen Aktionen besteht, ist es wichtig, ausgehend von einem PopUp-Eintrag zur entsprechenden Aktion navigieren zu können. Dies ist möglich, indem man die Aktion über das Kontext-Menü ausführt, dabei aber die Taste STRG gedrückt hält.

SelectionActions können über Scripte beliebig angepasst werden. Für das Customizing des UIs ist in diesem Fall aber Scripting-KnowHow erforderlich! Scripte haben im Weiteren den Nachteil, dass im Script-Code festgelegt ist, wann beispielsweise welche Commands aufgerufen werden. Der Zusammenhang zwischen Aktionen und Commands ist nicht modelliert und kann so auch nicht navigiert werden.

Für die Definition einfacher Aktionen ist das System-Objekt SequenceSelectionAction definiert. Es ermöglicht die tabellarische Spezifikation einer Folge von Commands.

Die Zusammenhänge zwischen Aktionen und Commands sind bei der SequenceSelectionAction modelliert, d.h. es ist beispielsweise möglich, mit Standardmechanismen (Alt+Maus) aus der Tabelle mit Commands (siehe Screenshot) direkt zu den Commands zu navigieren.

Bei der Ausführung einer SequenceSelectionAction wird aus der modellierten Folge von Commands im Hintergrund automatisch ein Script erzeugt und dann als allgemeine SelectionAction ausgeführt.