Impact verfügt über einen leistungsstarken Mechanismus, mit dem viele Aufgaben automatisiert werden können, und zwar mittels Scripts (in VBScript geschrieben) oder kompilierten Pluginbibliotheken (in verschiedenen Sprachen geschrieben) oder Makros (in unserer proprietären Makrosprache IML geschrieben).
Automatisierung kann an vielen Stellen in Impact eingesetzt werden, zum Beispiel um:
- benutzerdefinierte Tools für Ihre Benutzer zu erstellen
- benutzerdefinierte Aufgaben zu erstellen, die automatisch ausgelöst werden (zum Beispiel bei jeder Projektspeicherung)
- benutzerdefinierte Textelemente zu erstellen, die automatisch berechnet werden (um beispielsweise in einem Bericht zu erscheinen)
- spezifische Werte in eine Datenbank zu schreiben (Wertzuordnungen)
COM
Impact verfügt über eine umfangreiche Anwendungsprogrammierschnittstelle (API), die auf Microsofts Component Object Model (COM) basiert und Hunderte von Funktionen umfasst. Die Interaktion Ihres Scripts oder Plu-ins mit Impact erfolgt über diese COM-API.
Das Impact-Objektmodell entspricht weitgehend Objekten, die Ihnen bereits von der Benutzeroberfläche vertraut sind, und Zeichnungen, Layer, Blöcke, Linien, Kreisbögen, Paletten usw. darstellen.
Die COM-Schnittstellen werden in einem separaten Dokument ausführlich beschrieben, zusammen mit zahlreichen Codebeispielen. Dieses Dokument ist auf Anfrage bei Arden Software erhältlich.
Scripte
Scripte können in Microsoft Visual Basic Scripting Edition (herkömmlicherweise als VBScript oder VBS bezeichnet) geschrieben werden. Für diese Sprache gibt es eine Vielzahl von Onlineressourcen. VBScript ist eine interpretierte Sprache – sie muss nicht kompiliert werden. Impact führt Skripte mit Microsoft Script Control aus, einem Kernbestandteil von Windows.
Oft sind Skripte kurze Codeabschnitte zur Ausführung relativ einfacher Aufgaben. Obwohl lange, komplexe Skripte entwickelt werden können, ist es in der Regel besser, solche Entwicklungen als Plugin zu gestalten.
Skriptautoren verwenden oft den Scripteditor, um kleine bis mittelgroße Codeabschnitte zu schreiben und zu testen. Wenn ein Script jedoch länger wird, ist es normalerweise besser, einen Codeeditor mit erweiterten Funktionen (z. B. Notepad++) zu verwenden.
Plugins
Für komplexere Entwicklungen hat es viele Vorteile, einen Plugins zu erstellen anstatt ein Script zu schreiben. Erstens haben Sie eine große Auswahl an Sprachen – jede Sprache, die COM unterstützt, zum Beispiel VB.Net, C#, Delphi Pascal. Zweitens verwenden Sie eine Entwicklungsumgebung wie Visual Studio oder Delphi mit leistungsstarken Entwicklungstools, einschließlich Debuggern und Tools zur Gestaltung der Benutzeroberfläche. Drittens verteilen Sie binäre DLLs anstelle von textbasierten Skripten, was Ihren Code sicherer macht.
Plugins können mit dem Tool Pluginmanager registriert und ausgeführt werden.
Makros
Impact verfügt zwar über eine eigene Makrosprache (IML), ihr Gebrauch ist jedoch nicht mehr empfehlenswert. Makros verwenden eine eigene ältere API, die sehr begrenzt ist und nicht mehr weiterentwickelt wird im Gegensatz zur COM-basierten API, die ständig erweitert wird.
Makros können mit den Makrofunktionen kompiliert und ausgeführt werden. Wir raten Automatisierungsentwicklern jedoch davon ab, Makros zu erstellen, und stattdessen bestehende Makros durch Scripte oder Plugins zu ersetzen.
Installationseinstellungen
Viele automatisierungsbezogene Einstellungen finden sich im Abschnitt Automatisierung – Tools der Datenbankinstallationseinstellungen. Dazu gehören Autoaufgaben (siehe unten), dauerhafte globale Variablen, eingerichtete Funktionen and VBScript-Include-Dateien.
Benutzerdefinierte Funktionen
Benutzerdefinierte Automatisierungsfunktionen lassen sich auf zwei verschiedenen Weisen der Benutzeroberfläche hinzufügen. Erstens können Sie diese dem Automatisierungsmenü Automatisierungsmenü hinzufügen, indem Sie das Element (Skript, Plug-in oder Makro) in den Einstellungen Automatisierungsfunktionen einrichten. Dadurch machen Sie die Funktion allen Benutzern sichtbar.
Zweitens können Sie das Element einem benutzerdefinierten Menüpunkt oder einer Schaltfläche hinzufügen, indem Sie die Funktion Individualisieren verwenden und Neue Menüpunkte wählen. In diesem Fall ist die Funktion speziell für Sie, bis Sie es zu einem Teil einer gespeicherten Formatierung machen.
Autoaufgaben
Sie können Scripte, Plugins oder Makros mit bestimmten Ereignissen verknüpfen, z. B. wenn der Benutzer ein Projekt öffnet oder speichert, ausplottet oder einen Standard ausführt. Es gibt viele solcher Ereignisse, mit denen Sie eine Automatisierungsaufgabe auslösen können; Sie können diese im Abschnitt Automatisierung – Autoaufgaben der Datenbankinstallationseinstellungen einrichten.
Wertzuordnungen
Wertzuordnungen dienen häufig dazu, Werte mittels eines Scripts zu berechnen und sie dann in die Datenbank zu schreiben. Ähnlich wie Autoaufgaben lassen sich Wertzuordnungen mit bestimmten Ereignissen wie der Ausführung eines Standards oder einer Projektspeicherung verknüpfen.
Diese Zuordnungen werden über die Haupteinstellung Wertzuordnungen erstellt und anschließend im Abschnitt Wertzuordnungen der Datenbankinstallationseinstellungen eingerichtet.
Textelemente
Der Inhalt einer Textentität kann ganz oder teilweise mit einem Script, Plugin oder Makro berechnet werden. Ein auf diese Weise berechnetes Textelement könnte in einem Projekt verwendet werden, häufiger jedoch in einem Symbol oder einer Berichtsvorlage.
Der Automatisierungscode kann im Falle eines Skripts eingebettet oder – für Skripte, Plug-ins oder Makros – aus einer Datei mit dem Dialog Texteditor verwiesen werden.
Scriptsignatur
Indem ein Script mit einer digitalen Signatur versehen wird, kann der Entwickler sicherstellen, dass es seit seiner Erstellung nicht verändert wurde. Signaturen erscheinen als Block von Kommentarzeilen am Ende des Scriptcodes, und Impact überprüft die Signatur vor der Skriptausführung. Wenn die Signatur fehlt oder nicht mit dem Script übereinstimmt, kann ein Fehler oder eine Warnung angezeigt werden.
Sowohl eingebettete Scripte als auch Scriptdateien können signiert werden. Eine Signatur kann einem Script mit jedem beliebigen Formular hinzugefügt werden, das die Eingabe von Scriptcode erlaubt, insbesondere der Scripteditor.
Von Arden Software bereitgestellte Skripte werden oft vor der Übergabe signiert. Falls ein anderer Skriptentwickler seine Scripte signieren möchte, sollte er ein eigenes Zertifikat von einer Zertifizierungsstelle (CA) wie VeriSign oder Comodo beziehen.
Die Überprüfung von Scriptsignaturen kann im Abschnitt Sicherheit der Arbeitsstationseinstellungen bestimmt werden.
Plugins werden nicht auf die gleiche Weise wie Scripte signiert – die Entwicklungsumgebung, z. B. Visual Studio, stellt Tools fürs Signieren von DLL-Assemblies bereit. Makros dürfen nicht signiert und sollten weitmöglichst vermieden werden.
Impact Auto-Plugins (IAPs)
IAPs ermöglichen einem Script- oder Pluginentwickler, Pakete mit angepasster Funktionalität einfach und effektiv an andere Impact-Anwender zu verteilen. Diese Benutzer profitieren von der nahtlosen Integration dieser Automatisierungsfunktionen in ihren Formatierungseinstellungen.
Impact nServer
Mit der Software nServer kann man Automatisierungsaufgaben auf einem Server ausführen, ganz unabhängig von irgendeiner Impact-Arbeitsstation eines Benutzers. Dies ist ein separates Produkt, das als COM+-Dienst ohne Benutzeroberfläche läuft und dieselben COM-Schnittstellen wie Impact bietet. Bitte wenden Sie sich an Arden Software für weitere Informationen über das Produkt nServer.