Getting Started with Sendroid Ultimate Module Development

What would you like to know?


Getting Started with Sendroid Ultimate Module Development

Introduction

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;

File Name Description  
index.php This is the main module file that will be loaded when the module is invoked Required
Manifest.txt This is the module manifest file containing vital information used by Sendroid Ultimate while installing the module Required
sql.php 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
eventhook.php 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 Optional


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;


  Language Name
  Author's Name
  system
  1,2,3
  1.0.0

  

As seen on the above code, a module manifest file contains 5 main parameters described below;

Parameter Name Description Possible Values
name (string) 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
author (string) 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
type (string) 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
privileges (string) 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

version (string) 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

Ynet Interactive Ltd. is a Nigeria based Information Technology solutions outfit. We focus on delivering high-performance and scalable web, software & ICT products and solutions to different industries. We have experience of developing and maintaining successful software products, mobile applications, eCommerce portals, marketplaces, social networks, real-time business analytics and composite sync and integrations.

Visit Website