Eigene Erweiterungen
Haben Sie sich schon mal gefragt, welche Bereiche Sie in in-STEP BLUE von außerhalb erweitern können? Wenn Sie als Entwickler Kenntnisse in einer COM-fähigen Programmiersprache sind das einige …
Einen Überblick über die Bereiche, die Sie in in-STEP BLUE erweitern können, erhalten Sie im Komponenten-Dialog eines beliebigen Projekts oder einer beliebigen Organisationseinheit (im Hauptmenü mit Projekt/Komponenten bzw.Organisationseinheit/Komponenten). Beachten Sie bitte, dass Ihnen der Befehl Komponenten nur als System- oder Projektadministrator angeboten wird. Die obersten Elemente zeigen Ihnen bereits, welche Bereiche von in-STEP BLUE erweiterbar sind. Die hierfür nötigen Schnittstellen werden von der isExtension.tlb bereitgestellt.
in-STEP BLUE kommuniziert mit seinen Komponenten via COM. Das heißt, bei diesen Komponenten muss es sich entweder um eine ActiveX-DLL oder ein .NET-Assembly handeln, das für COM-Interop registriert wurde. Damit eine Komponente von in-STEP BLUE als gültige Erweiterung erkannt wird, muss die Komponente über mindestens eine Klasse verfügen, die eine Schnittstelle aus der isExtension.tlb implementiert.
Wenn Sie exemplarisch den Knoten isExtension.IAction öffnen, erhalten Sie eine Liste von bereits integrierten Komponenten.
Über die angegebene ProgID (Programmatic Identifier) kann in-STEP BLUE die COM-Klasse identifizieren und laden, sofern die Komponente korrekt unter Windows registriert ist. Eine kleine Exkursion zu diesem Thema können Sie beispielsweise unter folgendem Link wagen: http://www.vbaccelerator.com/progid.htm.
Wie Sie sehen können, werden auch die in in-STEP BLUE bereits existierenden Aktionen durch Erweiterungen bereitgestellt und zwar von der StdExtension.dll.
Für welche Zwecke können Sie diese Schnittstellen nutzen?
Dazu entschlüssele ich die Liste einfach mal:
1. Aktionen für Zustandsautomaten:
Eine Aktion für Zustandsautomaten wird über zwei Schnittstellen realisiert:
- isExtension.IActionPreferences: Diese Schnittstelle stellt Funktionen zur Konfiguration der Aktion bereit.
- isExtension.IAction: Diese Schnittstelle stellt Funktionen zur Ausführung der Aktion bereit.
2. Bedingungen für Zustandsautomaten:
Eine Bedingung für Zustandsautomaten wird über zwei Schnittstellen realisiert:
- isExtension.IGuardPreferences: Diese Schnittstelle stellt Funktionen zur Konfiguration der Bedingung bereit.
- isExtension.IGuard: Diese Schnittstelle stellt Funktionen zur Auswertung der Bedingung bereit.
3. Filterbedingungen für Sichten und Berichte:
Eine Bedingung für Sichten und Berichte wird über zwei Schnittstellen realisiert:
- isExtension IViewFilterPreferences: Diese Schnittstelle stellt Funktionen zur Konfiguration der Bedingung bereit.
- isExtension.IViewFilter: Diese Schnittstelle stellt Funktionen zur Auswertung der Bedingung bereit.
4. Konsistenzprüfungen:
- isExtension.IConsistencyCheck zur Bereitstellung einer Überprüfung für die AufwertungsartKonsistenzprüfungen.
5. Plug-Ins:
- isExtension.ICheckOutPlugIn: Plug-In, das vor und/oder nach dem Ausleihen eines Produkts ausgeführt werden kann.
- isExtension.ICheckInPlugIn: Plug-In, das vor und/oder nach dem Zurückgeben eines Produkts ausgeführt werden kann.
- isExtension.IGetRevisionPlugIn: Plug-In, das vor und/oder nach dem Holen einer Version eines Produkts ausgeführt werden kann.
- isExtension.ICreateProjectPlugIn: Plug-In, das vor und/oder nach der Initialisierung und/oder vor und/oder nach dem Anlegen und/oder beim Tailoring ausgeführt werden kann.
- isExtension.IRequirementsReader: Mit dieser Schnittstelle besteht die Möglichkeit, einen eigenenReader für den Anforderungsimport zur Verfügung zu stellen. Weniger technisch ausgedrückt, bedeutet dies, dass Sie den Anforderungsimport für andere Datei-Erweiterungen zur Verfügung stellen können.
- isExtension.IRevisionNumber: Plug-In zum Berechnen der Versionsnummer eines Produkts.
- isExtension.ITimeManagerPlugIn: Plug-In, das beim Öffnen und/oder Schließen der Zeiterfassung ausgeführt werden kann.
6. Die spezielle Produktart IVirtualProduct:
Das virtuelle Produkt dient zur (virtuellen) Verknüpfung eines Elements aus einer anderen Anwendung in in-STEP BLUE.
- isExtension. IVirtualProductPreferences: Diese Schnittstelle stellt Funktionen zur Konfiguration des virtuellen Produktes bereit.
- isExtension.IVirtualProductConnection: Diese Schnittstelle dient dazu, die Anwendung von in-STEP BLUE zu trennen, wenn in-STEP BLUE geschlossen wird.
- isExtension.IVirtualProduct: Diese Schnittstelle stellt Funktionen zur Initialisierung des virtuellen Produkts bereit.
7. Command-Server (Befehle):
Ein Command-Server stellt Befehle in der Symbolleiste einer Sicht und/oder im Kontextmenü und/oder im Drag-&-Drop-Menü von Elementen zur Verfügung.
- isExtension.ICommandServer: Über diese Komponente erfolgt die Bereitstellung der einzelnen Befehle.
- isExtension.ICommand: Ein Befehl, der über einen Command-Server bereitgestellt wird.
8. Sichten/Berichte:
Für die Entwicklung einer eigenen Sicht stehen einige Schnittstellen zur Verfügung:
- isExtension.IDataProvider/isExtension.IDataProviderMP: Diese Schnittstellen stellen Funktionen zur Ermittlung der Daten zu einer Sicht bzw. einem Bericht bereit. MP steht für Multiprojektmanagement, also für systemübergreifende Sichten.
- isExtension.IDataProviderPreferences: Diese Schnittstelle stellt Funktionen zur Konfiguration einer Sicht bereit.
- isExtension.IDataProviderEx: Diese Schnittstelle stellt erweitere Funktionen für einen Data-Provider bereit.
- isExtension.IBuilderFactory: Diese Schnittstelle stellt Funktionen zur Darstellung der Daten bereit, die über einen Data-Provider übermittelt wurden.
- isExtension.ICalculatedColumn: Diese Schnittstelle stellt Funktionen bereits, über die Sie eigene Spalten entwickeln können, die z.B. aus verschiedenen Werten Berechnungen für das jeweilige Element durchführen (-> aus diesem Anwendungsfall hat sich auch der Name der Schnittstelle ergeben).
9. Sichtengruppen:
- isExtension.IViewGroupLinkItem: Über diese Schnittstelle können Sie eine spezielle Schaltfläche in einer Sichtengruppe bereitstellen.
Wollen Sie für diese Bereiche eigene Erweiterungen entwickeln? Dann sprechen Sie uns doch einfach an – wir helfen Ihnen sehr gerne.
Diskutieren Sie mit.