Working with Extensions

Describes the handling of extensions (interfaces)

Product line

Standard

|

Expert

Operating mode

CLOUD ABO

|

ON-PREMISES

Modules

Services & CRM

Budget & Phases

Purchases

Resource Planning

Business Intelligence

Created: 20.02.2003
Machine translated
Updated: 15.03.2024 | Note COM Forwarding added to Cloud capability.

Interfaces to external programs are implemented in Vertec in the form of Extensions. An extension is a software component that is usually delivered as a Python script and can be included by Vertec at runtime.

The advantage of the extension concept is that in the Vertec application only the general support for a specific type of extension (e.g. Address Import) is implemented. The actual program-specific connection to an external application is present in the extension and thus independent of the Vertec code. Support for other third-party programs can usually be upgraded without any changes to the Vertec core.

The individual scripts can be found in the Extensions subfolder in your Vertec installation directory. There are also a number of cloud-ready extensions, of which the code is built in directly.

Installation

Extensions must be installed in Vertec for their functionality to be available.

The extensions can be found in the folder Settings > Interfaces > Extensions.

Double-click to open the single screen. To install the extension, click on the button Installieren:

The button then changes its designation to Deinstallieren. Click on it if you want to uninstall the extension again.

Information on the extension entry

Cloud capability

The extensions have one of the following options:

  • None: The extension can only be loaded in the desktop app.
  • Cloud app only: The extension can be used in desktop app and cloud app. This applies to all Com forwarding extensions.
  • Cloud and Web App: Extension can be used in all apps and in Planned tasks .

Auto Load

AutoLoad means that the extension is loaded when Vertec starts.

Normally, an extension is only loaded and initialized when it is accessed for the first time. This is sufficient for accounting interfaces. For telephony interfaces that are supposed to handle incoming calls, this is not possible. These must be loaded independently of the first access when the application is started. For this you need the Auto-Load setting.

Logging

The logging checkbox enables the log output for the corresponding extension. The setting is valid only while the application is running. The log output appears in the Python console or in the output window of the script editor, if these are open.

In addition, the log output also appears in the Vertec Logfile if the DebugCategories are set to Vertec.extensions in the Vertec.ini configuration file in the [Log] section.

[Log]
DebugCategories=Vertec.extensions

Reload

Restarts the extension or reloads the code after a code change, without having to restart the application.

Default Values

Resets all settings of the extension to the values that are initialized when it is installed.

Built-In Code

Vertec comes with many Cloud-ready extensions . The built-in code can be viewed on the Extension object:

Customize the extension

Create an interface script

To create a new interface or customize an existing one, create a new script entry in the Settings > Scripts folder and write the interface code as a Python script.

The designation of the script entry is the module name. Together with the extension’s class name, it forms the Extension ID. You specify this when registering the interface on the Extension object. Module names must be unique. You do not “overwrite” an existing interface by writing a module of the same name, but by writing a new module with a new name and installing the extension class from it instead of the existing one.

Register extension

Then create a new extension in the settings > Extensions folder and fill in as follows:

  • Extension-ID: Composed of the module name (name of the script entry) and the extension class in the code, separated by a period, e.g.

The following attributes are controlled by properties of the class in the code:

  • Description: __doc__
  • Version: __version__
  • Type: __category__ (you can see the different types in the list under settings > Extensions)
  • Cloud-ready: __cloud__ (True or False)