Arbeiten mit Schnittstellen (Extensions)

Produktlinien: Standard, Expert
Module: Leistung & CRM
Erstellt: 20.02.2003, Änderung:
An Vertec 6.3 angepasst.
Mehr ansehen

Schnittstellen zu externen Programmen werden in Vertec in Form von Extensions implementiert. Eine Extension ist eine Software Komponente, die meist als Python Script ausgeliefert wird und von Vertec zur Laufzeit eingebunden werden kann.

Der Vorteil des Extensions Konzepts ist, dass in der Vertec Applikation nur die generelle Unterstützung für eine bestimmte Art von Extension (z.B. Adressen Import) implementiert ist. Die eigentliche programmspezifische Anbindung an eine externe Applikation ist in der Extension vorhanden und damit unabhängig vom Vertec Code. Unterstützung weiterer Fremdprogramme kann damit normalerweise ohne Änderungen am Vertec Kern nachgerüstet werden.

Die einzelnen Scripts sind im Unterordner Extensions in Ihrem Vertec Installationsverzeichnis zu finden. Es gibt auch eine Reihe von cloudfähigen Extensions, von welchen der Code direkt eingebaut ist.

Installation

Extensions müssen in Vertec installiert werden, damit ihre Funktionalität zur Verfügung steht.

Die Extensions finden Sie im Ordner Einstellungen > Extensions.

(In Vertec Versionen vor 6.3 sind die Extensions über Menü Extensions > Einstellungen zu finden.)

Durch Doppelklick öffnet sich die Einzelmaske:

Um die Schnittstelle zu installieren, klicken Sie auf den Button Installieren.

Der Button wechselt daraufhin seine Bezeichnung zu Deinstallieren. Klicken Sie darauf, wenn Sie die Schnittstelle wieder deinstallieren möchten.

Auto Load

AutoLoad bedeutet, dass die Extension beim Start von Vertec geladen wird.

Normalerweise wird eine Extension erst geladen und initialisiert, wenn zum ersten Mal darauf zugegriffen wird. Das ist für Buchhaltungs-Schnittstellen ausreichend. Bei Telefonie-Schnittstellen, die eingehende Anfrufe behandeln sollen, geht das nicht. Diese müssen unabhängig vom ersten Zugriff beim Start der Applikation geladen werden. Dafür braucht es die Auto-Load Einstellung.

Logging

Die Logging-Checkbox schaltet den Log-Output für die entsprechende Extension ein. Die Einstellung gilt nur, solange die Applikation läuft. Der Log-Output erscheint in der Python Konsole oder im Output-Fenster des Script-Editors, falls diese geöffnet sind, sowie im Vertec Logfile.

Reload

Startet die Extension neu bzw. lädt nach einer Code-Änderung den Code neu, ohne dass die Applikation dafür extra neu gestartet werden muss.

Defaultwerte

Setzt alle Einstellungen der Extension auf die Werte zurück, mit denen sie beim Installieren initialisiert werden.

Eingebauter Code

Mit Vertec Version 6.3 wurden auch zwei neue, cloudfähige Extensions mitgeliefert:

Von diesen beiden Schnittstellen befindet sich der Code in der Vertec Applikation und nicht mehr im Extensions Ordner. Er kann auf dem Extension-Objekt auf der Seite Eingebauter Code eingesehen werden:

Schnittstelle kundenspezifisch anpassen

Schnittstellen-Script erzeugen

Um eine neue Schnittstelle zu erzeugen oder eine bestehende anzupassen, erzeugen Sie im Ordner Einstellungen > Scripts einen neuen Scripteintrag und verfassen den Schnittstellen-Code als Python Script.

Die Bezeichnung des Scripteintrags ist der Modulname. Zusammen mit dem Klassen-Namen der Extension bildet er die Extension-ID. Diese geben Sie bei der Registrierung der Schnittstelle auf dem Extension-Objekt an. Modulnamen müssen eindeutig sein. Sie "überschreiben" also nicht eine bestehende Schnittstelle, indem Sie ein Modul gleichen Namens verfassen, sondern indem Sie ein neues Modul mit neuem Namen verfassen und die Extension-Klasse aus diesem statt dem bereits bestehenden installieren.

Extension registrieren

Daraufhin erzeugen Sie im Ordner Einstellungen > Extensions eine neue Extension und füllen Sie wie folgt aus:

  • Extension-ID: Setzt sich zusammen aus dem Modulnamen (Name des Scripteintrags) und der Extension-Klasse im Code, durch Punkt getrennt, z.B.

Folgende Attribute werden durch Eigenschaften der Klasse im Code gesteuert:

  • Beschreibung: __doc__
  • Version: __version__
  • Art: __category__ (die verschiedenen Arten sehen Sie in der Liste unter Einstellungen > Extensions)
  • Cloudfähig: __cloud__ (True oder False)