Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Plugins (ausführbare Programme)
Diese Art von Plugins sind Skripten, die über die Hintergrundverarbeitung (Bkg.API) manuell gestartet, sowie zeitgesteuert oder ereignisgesteuert ausgeführt werden.
Beschreibung
Ausführbare Plugins sind dadurch gekennzeichnet, dass sie eine öffentliche Klasse des Basistyps AutomationScriptBase
implementieren. Dadurch erhält das Plugin einen Einsprungpunkt für die Laufzeitumgebung, in den hineingestartet werden kann. Kompilierung und Bindung an die Laufzeitumgebung erfolgt dabei mit dem gleichen Mechanismus, der auch mit direkt in Hintergrund-Jobs eingebetteten Skripten zum Einsatz kommt. Der Vorteil bei der Verwendung eines Plugins liegt hier darin, dass die in CAATS integrierte Entwicklungsumgebung zum Erstellen und Bearbeiten dieser Skripten verwendet werden kann, und die so erstellen Programme getestet und abgespielt werden können, ohne zuvor eine Hintergrund-Job-Definition hochladen zu müssen.
Beispiel
- runnable_plugin_example.cs
public class ExampleWorker : AutomationScriptBase { public ExampleWorker(ScriptedAutomator scriptHost, IdentityBase executiveIdentity, IEventBus eventBus) : base(scriptHost, executiveIdentity, eventBus) { } public override bool Execute() { /* Ein minimales Beispiel eines direkt ausführbaren CAATS-Plugins */ VolatileScriptOutputRepository.Add( Job, BackgroundJobStage.JsgAutomation, BackgroundJobOutputMessageLevel.BjomlSuccess, $"{Job.Name.First().Content} successfully completed" ); return true; } }
Fehlercodes und Lösungen
Beim Programmieren von ausführbaren Plugins können - abseits von den Warnungen und Fehlermeldungen des C# Compilers - folgende CAATS-spezifische Fehlercodes vorkommen:
Fehlercode | Bedeutung | Lösung |
---|---|---|
CAATS0002 | No suitable public type for runnable plugin Each kind of plugin must use a well-known namespace and interface/base type for its main class, so the automation can instantiate and call it | Definiern Sie in Ihrem Skript eine öffentliche Klasse des verlangten Basistyps |
CAATS0004 | Runnable plugin exposes more than one main class Each plugin script must export exactly one main class that satisfies the automator's type constraints | Reduzieren Sie die Anzahl der öffentlichen Klassen des angegebenen Basistyps in Ihrem Skript auf 1 |