Module — an external executable file that implements the integration of the platform with an external system. The module is called with command-line arguments and exchanges data through standard input-output streams.
Plugin — a mechanism for extending the platform's functionality without changing its source code. The plugin registers event and function handlers via an XML file.
Before studying this section, it is recommended to familiarize yourself with the developer documentation for COREmanager, since BILLmanager inherits part of the mechanisms from the base platform.
The article describes methods for extending BILLmanager functionality: plugins and modules. Plugins allow changing platform behavior without modifying the source code, while modules implement integration with external systems, such as payment gateways, domain registrars, and service providers.
Definitions of plugins and modules
Plugin
A plugin is a mechanism for modifying existing and adding new behavior to the BILLmanager platform without modifying the source code. Plugins can be written in almost any programming language, however, using Python is preferred. ISPsystem provides an SDK (Software Development Kit) that simplifies working with:
XML data;
sessions and request parameters;
database;
error handling.
Some functionality is available only in C++. In such cases, C++ and header files from the directory /usr/local/mgr5/include should be used.
A module is an extension and automation mechanism that does not modify the behavior of the BILLmanager platform, but implements integration with external systems. Modules can also be written in almost any programming language. Using Python and SDK reduces development time. Unlike plugins, modules allow implementing any functionality.