Mobile app manifest basics
The mobile application manifest describes the structure of the mobile app, its objects and connections between them. The base version of the Mobile Creatio app is described in the manifest located in the MobileApplicationManifestDefaultWorkplace
schema of the Mobile
package.
In the process of the mobile app development, the users can add new sections and pages. All of them must be registered in the manifest for the application to be able to work with a new functionality. Since third-party developers have no ability to make changes to the manifest of the base app, the system automatically creates a new updated manifest each time a new section or page is added from the mobile application wizard. The manifest schema name is generated according to the following mask: MobileApplicationManifest[Workplace name]
. For example, if the Field sales workplace is added to the mobile app, the system generates a new manifest schema with the name MobileApplicationManifestFieldForceWorkplace
.
Mobile application manifest structure
The mobile application manifest is a configuration object whose properties describe the structure of the mobile app. Table contains names and descriptions of the mobile application manifest.
Manifest configuration object properties
Property | Purpose |
---|---|
ModuleGroups | Describes the properties of the mobile app modules. |
Modules | Describes the properties of the mobile app modules. |
SyncOptions | Describes data synchronization parameters. |
Models | Contains configuration of the imported application models. |
PreferedFilterFuncType | Determines the operation that will be used to search and filter data. |
CustomSchemas | Connects additional schemas to the mobile app. |
Icons | Enables adding custom images to the app. |
DefaultModuleImageId | Sets default image for UI V1. |
DefaultModuleImageIdV2 | Sets default image for UI V2. |
All properties of a configuration object in the manifest can be split into three general groups:
- Application interface properties contain properties that implement the mobile app interface. By using the properties in this group, the application sections and main menu are shaped and custom images are configured.
- Data and business logic properties contain properties where imported data and custom logic is described.
- Application synchronization properties contain a single property for synchronization with the primary application.
Application interface
The conditional property group of the configuration object manifest contains properties that form the mobile application interface. By using the properties of this group, you can form application sections, main menus, custom images, etc.
Access modifiers of a page
The mobile application version 7.11.0 or higher has the ability to configure access modificators of section or standard detail. For example, you can disable modifying, adding and deleting records for all users in the section.
To set the access in the read only mode, add the code to the schema which name contains ModuleConfig
:
Terrasoft.sdk.Module.setChangeModes("UsrClaim", [Terrasoft.ChangeModes.Read]);
Or for the standard detail:
Terrasoft.sdk.Details.setChangeModes("UsrClaim", "StandardDetailName", [Terrasoft.ChangeModes.Read]);
As a result the adding button will be disabled on the list page and the modifying button will be disabled on the view page. The Add, Delete, Add record to the embedded detail, etc. buttons will be also disabled on the view page.
Access modificators could be combined. For example, the code could be used to disable deleting and enable creating and modifying the records:
Terrasoft.sdk.Module.setChangeModes("UsrClaim", [Terrasoft.ChangeModes.Create, Terrasoft.ChangeModes.Update]);
All access modificators are given in the Terrasoft.ChangeModes
enumeration.
Control elements
You can add the following control elements to the section page:
Terrasoft.ColumnSet
column groups;Terrasoft.EmbeddedDetail
embedded details;- standard details;
- inheritor components of the
Terrasoft.RecordPanelItem
class.
Use the mobile application wizard to add the first three types of control elements.
To add an inheritor component of the Terrasoft.RecordPanelItem
class to the section page:
- Extend the
Terrasoft.RecordPanelItem
class with a custom class. Define the component configuration object and the functionality methods in the custom class. - Create a section settings schema (
Mobile[Section]ModuleConfig
). Using theaddPanelItem()
method of theTerrasoft.sdk.RecordPage
class in the schema, implement adding the created component to the section page. - Add the new custom schemas to the mobile application manifest.
Application data and business logic
The group of properties of a configuration object in the mobile app manifest. contains properties that describe imported data, as well as custom business logic for processing data in the mobile app.
Application synchronization
The conditional property group of the manifest configuration object contains a single property used to synchronize data with the main application.