A module is a collection of functions that provide additional functionality to Sendroid Ultimate, most commonly used to expand the feature or functionality of Sendroid Ultimate or integrate with third party services and APIs.
Sendroid Ultimate currently support the following module types;
- Message Gateway Modules
- Payment Gateway Modules
- Add-on Modules
- Language Packs
Message Gateway Modules: These are modules that enable integration of Sendroid Ultimate with a message gateway prover's API. A message gateway module becomes necessary when there is a need to integrate an unsupported message API to Sendroid Ultimate, such as SMPP or SOAP based APIs. A message gateway module can also be useful when you need to implement Live Delivery Reporting (DLR) for a message gateway.
Payment Gateway Modules: These are modules that enable connection and integration of other payment service providers to Sendroid Ultimate, A payment gateway module is usually necessary when you need to integrate an Online payment gateway to Sendroid Ultimate.
Add-on Modules: These are modules that enable integration of just about any new feature or functionality to Sendroid Ultimate. An add-on module could be used to achieve any thing from improving an existing feature to creating an entirely new feature. The possibilities are simply endless.
Language Packs: These are module that enable integration of other language translations to Sendroid Ultimate. A language pack is necessary when you need to make Sendroid Ultimate available in other languages.
Sendroid Ultimate Installable Module Structure
A Sendroid Ultimate module is usually a Zip file containing a couple of executable php scripts. Every standard Sendroid Ultimate module most contain a "Manifest.txt", an "index.php" and any other necessary files as described below;
||This is the main module file that will be loaded when the module is invoked
||This is the module manifest file containing vital information used by Sendroid Ultimate while installing the module
||This is the file containing all database queries for required for the module installation. This file will be required if the module needs to add a record or make changes to Sendroid Ultimate database structure during installation
||Required for Message and Payment gateway modules
||This file contains any code that needs to be implemented by the Sendroid Ultimate event hook feature. This file is required if the module needs to execute some functions on system events and must be coded in Sendroid Ultimate's event hook format
Sendroid Ultimate module can also contain any other files or directories with other files if required. This is usually necessary when creating a module with complex structure or a multi-paged module.
Before we wrap-up on this tutorial, we need to have a closer look on the structure of a Sendroid Ultimate module manifest file.
Understanding Sendroid Ultimate Module Manifest File
A Sendroid Ultimate module manifest file is simply a text (.txt) file contain a simple XML code that tells Sendroid Ultimate what to do with the module during installation.
As already mentioned in the table above, the module manifest file plays a very important role in the structure of a Sendroid Ultimate module. It holds some vital information that the Sendroid Ultimate module manager uses to properly integrate the module to its core features.
below is an example of a typical module manifest file;
As seen on the above code, a module manifest file contains 5 main parameters described below;
||This holds the title of the module as should be displayed on the module manager. This can only contain alphabets, numbers, space and _
||Any Valid Text
||This holds the name of the author of the module as should on the module manager. This can only contain alphabets, numbers and space
||Any Valid Text
||This is the module identifier and must be a valid module type.
||sms for message gateways, payment for payment gateways, language for language packs and system for add-on modules
||This is a comma separated list of user role IDs that are permitted to interact with the module.
1 = super admin (required), 2 = Managers, 3 = Resellers, 4 = Customers, 10 = Support, 11 = Account Manager
||This holds the identifier of the current version of the module. This parameter can only accept numbers 0 - 9 and '.'
||Any valid string
Detailed guides on creating the various types of Sendroid Ultimate modules will be covered in different tutorials.
You may also want to take a look at this tutorial Using Sendroid Ultimate Event Hooks