Module Creator – Creating a custom module
The “Module Creator” is a component of Deepser designed to allow administrative users to create new custom modules intuitively and through a graphical interface, respecting the Deepser data structure.
Accessing the Module Creator
To access the “Module Creator” you need to go to the menu: System > Module Creator.
Once done, the screen below will open:
Creation
To proceed with the creation, it will then be necessary to click on the “Create new module” button at the top right. The screen that will then appear will be as follows:
General Settings Fields List
Below is a list of the fields in the “General Settings” tab and their meanings:
Field | Description |
Module name | Name of the new custom module you want to create.
NOTE: It can only contain letters or numbers, but no other characters (no spaces allowed). |
Admin menu title | This field indicates the name of the module in the left-hand menu |
Icon Class | Through this field it is possible to associate an icon to the new custom module which will then always be displayed in the main menu. As a result, this field refers to the section that is accessible to all users of the backend. |
Icon Color | This field allows you to select the color to be applied to the icon and label displayed on the menu. As a result, this field refers to the section that is accessible to all users of the backend. |
Admin parent menu ID | Through this field it will be possible to decide the exact point in the menu where the operational references of the new module will be displayed. As a result, this field refers to the section of the new form that is accessible to all users of the backend.
The selection within the menu must be made by clicking on the note of the “Select menu parent and position” field. |
Admin menu sort order | This read-only field, will be automatically populated based on the selection made through the “Admin parent menu ID” field. |
Configuration Icon Class | Field used to associate an icon with the configuration section of the newly created custom form. As a result, this field refers to the section accessible to Deepser admin users. |
Configuration Icon Color | Through this field it is possible to select the color to be applied to the icon and the configuration label of the new custom module displayed on the menu. As a result, this field refers to the section accessible to Deepser admin users. |
Configuration Admin parent menu ID | Using this field it will be possible to decide the exact point in the menu where to display the references to the configuration section of the new module. As a result, this field refers to the section accessible to Deepser admin users.
The selection within the menu must be made by clicking on the note of the “Select menu parent and position” field. Normally, the configuration section is located in the System menu. |
Configuration Admin menu sort order | This read-only field, will be automatically populated based on the selection made through the “Configuration Admin parent menu ID” field. |
Module Creator – Selecting the Location in the Menu
To proceed with the selection of the position of the new module within the menu, it is necessary to click on “Select menu parent and position” and then on “Insert here” in the selection popup. Here’s an example:
In the example above, according to the screenshot, the new module would be inserted between the “Service” and “IT Asset” sections of the menu.
Saving the module
Once you have finished filling in the fields of the “General Settings” tab, you need to navigate to the “Entities” tab because to proceed with saving, it is necessary for the new form to have at least one entity associated with it. To accomplish this, simply click on the “Add entity” button located at the top right corner. Each new entity is divided into “Settings” and “Fields/Attributes:
Settings
Through the “Settings” section, it will be possible to enable modules for some of Deepser’s standard management tasks, such as the ability to associate categories, configure types, and more.
To proceed to fully view all the fields in the “Settings” or “Fields / Attribute” section, click on the “+” icon next to them. Below is the screenshot of all the configurable fields for the “Settings” section:
Settings Fields
Below is a list of the fields in the “Settings” section and their meanings:
Field | Description |
Label singular | Label of the new custom module in singular form. |
Label plural | Label of the new custom module in plural form. |
Entity code singular | The value entered in this field (which should refer to the name of the new module) will be used for the names of variables, files, and tables within Deepser. This approach simplifies the process of making configurations via the scripting area if necessary. Keep in mind that in this field, the value should be specified in singular form. |
Entity code plural | It serves the same purpose as the “Entity code singular” field, except that in this case you need to specify the value in plural form. |
Manage Advanced Permissions with Groups and Companies | If you set this value to YES, the “Owner Group”, “Owner Company”, and “Owner User” fields will be created. Through these fields it will be possible to manage the entity of the new module through custom group rules. |
Manage Advanced Accesses | Setting this field to YES will create the “Access Group”, “Access Companies”, and “Access Users” fields that are typically used to “expand” visibility for the records. |
Associate Categories | Setting this field to YES will create the fields “category1”, “category2”, “category3”, “category4”, and you will then be able to associate the standard Deepser categories with the entity of this new module as well. |
Add Type Entity | By setting this field to YES, the “Type” field will be created and you will then be able to manage the types on this entity of the new module. |
Manage History Changes | Setting this field to YES will create the “History Changes” field for this new form. Through this field it will be possible to have the history of all the changes made on a record of that entity. |
Visible on Portal | By setting this field to YES, it will be possible to manage the new entity also on the end customer portal side. |
Add Routing | By setting this field to YES, you will also be able to use the new entity in Deepser routing rules. |
Use Icon | Setting this field to YES will create an “icon” selection field, enabling you to associate an icon to the new entity. |
Icon Class | This field allows you to select an icon to display in the menu for this new entity. |
Icon Color | Field linked to the previous “Icon Class” that allows you to select a color for the icon and label of the entity. |
Fields/Attributes
Once you have finished filling in the “Settings” section, you will need to consider creating new dedicated fields for the new entity. To access the details of the “Fields / Attribute” section, you will need to click on the “+” icon. From here, you can add new fields to the entity. To do this, simply click on the “Add field / attribute” button. Here’s the screenshot:
Fields/Attributes List
Below is the list of configurable fields for a new field/attribute:
Field | Description |
Attribute code | This field indicates the field code that will be used for tables and variables in Deepser. Therefore, it is necessary to adhere to some guidelines: – The first character must be a letter – Only lowercase letters, numbers, or underscores (_) can be entered – Reserved names such as “data” or “child” cannot be used. |
Attribute label | This field indicates the label of the field that will be displayed in the forms. |
Attribute Type | Through this field you can indicate the type of field you want to create. |
Acts as name | Each entity must have an attribute to function as its “Name”. This attribute will be used to distinguish between different entities and will also appear in dropdown menus with entities. This option is only available for text, numeric, and decimal attributes.
NOTE: Only one of the defined fields can have this flag. Normally you should use it for the main field of the entity you’re creating. |
Required | If set to Yes, it indicates a required field. |
Use WYSIWYG editor | If set to Yes, it indicates that the field can be managed by editor. The field is activated only if the type of field created is “Textarea”. |
Show in admin grid | When set to Yes, includes the new field in the entity’s default grid. |
Options in select | Useful field to indicate a list of values for select or multiselect fields. All values entered in this field must be separated by a pipe (|) delimiter. If you want to include an empty option as the first value, you must start with a pipe symbol. |
Saving the fields/attributes
Once you have completed all the main configurations and entered all the fields of your interest, you can proceed with saving the new custom module. You can then proceed by clicking on “Save” or “Save and Continue Edit”.
Installing the module
Once saved, it will then be possible to install the new module using the dedicated “Install” button:
Once the installation is complete, you will find the new module and its entity in the Deepser menu.
Regenerate Button
Within the configuration of the new custom module, a new “Regenerate” button will appear:The button in question will be used to regenerate the module if its configuration is changed. For example, if a feature is enabled on one of its entities or if a new field is simply added, clicking on the “Regenerate” button will allow you to propagate and apply the changes.
The button will proceed to make a backup of the data entered so far in the custom module, to delete and recreate the structure of the module and finally to restore the data previously entered.
Uninstall Button
After installation, in addition to the regenerate button, the “Uninstall” button will also appear. By clicking on that button, the entire configuration of the custom module and the custom module itself (including the records saved within it) will be permanently deleted. You will then not be able to recover the data.Import/Export
Through “Module Creator”, it is also possible to export and import the entire configuration of a created module.In fact, once the module configuration has been saved, returning to the main list of custom module management (again from the > Module Creator System), an “Export” column will be available on each individual configuration record and an “import” button through which it will be possible to export and import the configuration of a module.
Below is an explanatory screenshot: