System apps
About system apps
System apps are developed by Unit4 to deliver extensions to ERPx functionality, add new screens to enhance the ERPx core, or create specific paid features for customers, including business screens and standalone apps. These apps are locked down with hidden properties and restrictions to prevent modification or duplication, ensuring controlled and consistent use. This allows Unit4 to ensure compliance with development guidelines, maintain security, and provide streamlined support for these custom features.
System apps are identified in the Dashboard with a Unit4 logo in the top left corner, as shown below.
System app restrictions
For system apps, App Studio users cannot:
- Access the Editor.
- Unpublish the app (tenant admin owner only).
- Export the app.
- Duplicate the app.
- Edit the app's App info menu entry.
System apps can only be edited within system tenants, which are exclusively accessible to Unit4 R&D.
Publish a system app
When publishing a system app, a wizard guides you through the app configuration. If your app includes tenant-dependent parameters or credentials, you will be prompted to provide the necessary values before publishing. If no tenant-dependent information is required, the app can be directly deployed and published in the customer’s tenant.
Validation of system app dependencies
To ensure that system apps function correctly, a validation step is included during the activation process. This step checks that all necessary Marketplace flows are properly referenced and deployed.
Validation rules:
- System apps must use Marketplace flows, similar to system flows.
- In Resources, only Marketplace flows can be selected.
- Marketplace flows are identified by a Product ID, which is used to reference the required flow.
- There may be a dependency with Extension Kit (EK) to retrieve the Trigger ID based on the Product ID.
- A new step in the Publication wizard shows the status of the flows used by the app, including:
- Product ID of the flow
- Whether the flow is Deployed/Not deployed
- Flow Status (Enabled/Disabled)
Error handling and restrictions
The Publish action is disabled if:
- Flows required by the app do not exist in the tenant.
- Error message:
Some of the necessary flows for the app to function properly cannot be found. Please ensure the flow has been deployed in Extension Kit, then try publishing the app again.
- Flows required by the app are not enabled.
- Error message:
Some of the necessary flows for the app to function properly are not enabled. Please ensure that all flows are enabled before attempting to publish the app again.
Displaying system app and credential IDs
To improve transparency, the following identifiers are now displayed:
- The System App ID is shown as a read-only field in the Info modal.
- The System Credentials ID is shown as a read-only field in the Edit Credentials modal.