Usage
The plugin registers a link within the Tools menu called "Extension Generator".
About the Extension Generator
The Extension Generator is a plugin that allows users to automatically generates basic files and methods for a Blesta extension using relatively simple web forms.
Tie-Ins*
Widgets | Nav Links | Client Cards | Automation Tasks | Email Templates | ACL Permissions | Search | Events | Service Management |
---|
| | | | | | | | |
* Plugins are powerful and are not limited to the tie-ins listed above, these are just some of the most common
Installing the Extension Generator
- Visit [Settings] > [Company] > [Plugins] > Available.
- Click the "Install" button within the Extension Generator plugin listing.
Usage
The plugin registers a link within the Tools menu called "Extension Generator".
Creating an extension
Creating an extension with the generator is relatively simple. Click the "+" icon and follow the form. There are many tooltips and "More Info" links to help you understand the various fields. There is also a nifty node based progress bar to keep track of your progress and allow you to just to different steps. The primary barrier to creating an extension using the generator is understanding the various terms relating to each extension type. Below is a glossary for each extension type to help you understand the different portions of each form.
Module Glossary
Basic Info
Term | Description |
---|
Author | An author is typically considered to be the individual/company who created the module and/or the individual/company who funded the module. Their names will be shown in the module listing as well as at the top of a few files in the module code. |
Module Group | A group of module rows. This can be assigned to a package to allow service to be distributed across multiple module rows. |
Module Row | A module row typical contains information for connection to a remote server. These are assigned to packages and are used, among other things, to provision services. |
Module Fields
Term | Description |
---|
Module Row Fields | These are the form fields displayed when an admin is adding or editing a module row. |
Name Key (Module Row) | For module rows, if a field is selected as the "name key" then that is the field the will be shown in the module row list when managing the module, when adding/editing a package, and in various other locations. |
Package Fields | These are the form fields pulled in from the module and displayed when an admin is adding or editing a package. These are never seen by clients. |
Name Key (Package) | This acts mostly as a backup for the service name field. If no service field is labeled as a name key then this field may be used to label services. |
Service Fields | These are the form fields pulled in from the module and displayed when an admin or client is adding or editing a service. It is possible to modify these fields to limit where the can be seen (add or edit) and who can see them (admin or client). |
Name Key (Service) | For services, if a field is selected as the "name key" it will be used to label services. |
Additional Features
Term | Description |
---|
Service Management Tab | These create additional pages attached to a service. They can be seen by admins and/or client and can do essentially whatever a developer wants. Examples of common uses are: initiating a password reset, starting/stopping/suspending an attached server, displaying attached server information. |
Cron Task | These are blocks of code that are automatically run by a background process on the Blesta server. Each runs either at a certain time during the day or after a certain time interval since the last run (addition time restrictions such as running on the first day of the month need to be added internally in the code). These can do essentially whatever a developer wants. Some examples are: syncing services with their expiration on a remote server, sending an email report, notifying a user of a stopped server. |
Optional Function | This is an actual method in the code that is not required for a module to function, but may be helpful depending on your use case. |
Confirmation
Term | Description |
---|
Blesta Modules Directory | This specifically refers to the /components/modules directory in your Blesta install |
Blesta Uploads Directory | This is defined by the system settings under Settings > System > General |
Plugin Glossary
Basic Info
Term | Description |
---|
Author | An author is typically considered to be the individual/company who created the plugin and/or the individual/company who funded the plugin. Their names will be shown in the plugin listing as well as at the top of a few files in the plugin code. |
Database Info
Term | Description |
---|
Database Table | Plugins are powerful and may define database tables for any number of reasons. |
Core Integrations
Term | Description |
---|
Action | "Actions" represent plugin pages that are accessible through the core interface. This includes navigation links in the admin and client areas, widgets in the admin and client area, and links on the admin client profile sidebar. There is a predefined list of possible locations for an Action to appear. |
Event | This is the "hook" or "trigger" system in Blesta. An event is registered and triggered by either the core or a plugin. See a full list of core events on the Event Handlers page. |
Event Handler | Plugins register Event Handlers to be notified whenever an event is triggered and execute a block of code. |
Client Card | These are summary boxes displayed on a client's profile in the admin or client area. They typically show basic statistics in a visually appealing way and can link to other pages. |
Additional Features
Term | Description |
---|
Service Management Tab | These create additional pages attached to a service. They can be seen by admins and/or client and can do essentially whatever a developer wants. The only current example of this feature being used by a plugin is here https://github.com/blesta/plugin-ip_unblocker |
Cron Task | These are blocks of code that are automatically run by a background process on the Blesta server. Each runs either at a certain time during the day or after a certain time interval since the last run (addition time restrictions such as running on the first day of the month need to be added internally in the code). These can do essentially whatever a developer wants. Some examples are: sending an email report, deleting old and neglected support tickets, automatically approving/provisioning paid orders. |
Optional Function | This is an actual method in the code that is not required for a plugin to function, but may be helpful depending on your use case. |
Confirmation
Term | Description |
---|
Blesta Plugins Directory | This specifically refers to the /plugins directory in your Blesta install |
Blesta Uploads Directory | This is defined by the system settings under Settings > System > General |
Merchant Gateway Glossary
Basic Info
Term | Description |
---|
Author | An author is typically considered to be the individual/company who created the gateway and/or the individual/company who funded the gateway. Their names will be shown in the gateway listing as well as at the top of a few files in the gateway code. |
Configuration Fields
Term | Description |
---|
Configuration Field | Typically these are fields defining how to communication with the gateway api (e.g. Use SSL, API Key, API Username, etc.) |
Supported Features
Term | Description |
---|
Supported Feature | Merchant gateways may support one or more ways of paying or recording payment information. Each "supported feature" adds unique functionality and corresponds to a PHP interface by which Blesta can recognize how to handle the gateway. |
Confirmation
Term | Description |
---|
Blesta Merchant Gateway Directory | This specifically refers to the /components/gateways/merchant directory in your Blesta install |
Blesta Uploads Directory | This is defined by the system settings under Settings > System > General |
Non-Merchant Gateway Glossary
Basic Info
Term | Description |
---|
Author | An author is typically considered to be the individual/company who created the gateway and/or the individual/company who funded the gateway. Their names will be shown in the gateway listing as well as at the top of a few files in the gateway code. |
Configuration Fields
Term | Description |
---|
Configuration Field | Typically these are fields defining how to communication with the gateway api (e.g. Use SSL, API Key, API Username, etc.) |
Additional Features
Term | Description |
---|
Optional Function | This is an actual method in the code that is not required for a gateway to function, but may be helpful depending on your use case. |
Confirmation
Term | Description |
---|
Blesta Non-Merchant Gateway Directory | This specifically refers to the /components/gateways/nonmerchant directory in your Blesta install |
Blesta Uploads Directory | This is defined by the system settings under Settings > System > General |