Studio Apps
Overview
Studio Apps allow you to package related Studio customizations (models, fields, menus, actions, selections, charts, dashboards) into a single application unit. This provides lifecycle management with install/uninstall capabilities, and export/import for deploying customizations across environments.
Studio Apps are managed from App > Configuration > Apps.
|
The Apps menu entry is only visible when |
App Views
Studio Apps can be displayed in two views:
Cards View
The cards view provides a visual overview of all Studio Apps with:
-
App image/logo
-
Name and code
-
Description excerpt
-
Active/inactive status badge
-
Delete button (only visible when the app is not installed)
The cards view also provides an Import button in the toolbar for importing apps from ZIP files.
Creating a Studio App
Basic Information
| Field | Required | Description |
|---|---|---|
Image (1) |
No |
App logo/icon displayed in the cards view and app list (Image widget, M2O:MetaFile). |
Code (2) |
Yes |
Unique technical identifier for the app. Used in import/export operations. |
Name (3) |
Yes |
Display name of the app. Supports translation. |
Dependencies (4) |
No |
Other Apps that must be installed before this one (TagSelect, M2M:App). |
Modules (5) |
No |
Associated application modules. |
Sequence (6) |
No |
Display order in the apps list. |
Show in app view (7) |
No |
When checked, the app appears in the main application management view (default: false). |
Description (8) |
No |
Detailed description of the app (HTML editor). |
Component Tabs
The form includes tabbed panels (dashlets) showing all Studio components grouped under this app:
| Tab | Contents |
|---|---|
Models |
Custom models ( |
Fields |
Custom fields ( |
Menus |
Studio menus ( |
Actions |
Studio actions ( |
Meta Actions |
Meta actions ( |
Charts |
Studio charts ( |
Dashboards |
Studio dashboards ( |
BPM |
BPM processes associated with this app |
DMN |
DMN decision tables associated with this app |
BAML |
BAML models associated with this app |
WS Connector |
Web service connectors associated with this app |
WS Request |
Web service requests associated with this app |
WS Authentication |
Web service authenticators associated with this app |
These tabs provide a comprehensive view of everything packaged within the app.
Status Badges
The top of the Studio App form displays a row of status badges that summarize the current state of the app:
| Badge | Meaning |
|---|---|
Experimental |
The generated app is flagged as experimental ( |
Installed |
The app is installed ( |
Not installed |
The app is not installed ( |
Version |
The version of the generated app ( |
In App Management |
The app is currently displayed in the main App Management view ( |
Install and Uninstall
Install
The Install button appears in the form sidebar when:
-
The app record has been saved (has an ID)
-
The app is not currently installed (
generatedApp.activeis false)
Installing an app:
-
Generates the required
Apprecord -
Activates all associated menus, views, and actions
-
Makes the app’s customizations available to users
Uninstall
The Uninstall button appears when:
-
The app record has been saved (has an ID)
-
The app is currently installed (
generatedApp.activeis true)
| Uninstalling an app deactivates all its associated components. Users will no longer have access to the custom models, menus, and actions defined by the app. |
App Management Visibility
Two sidebar buttons control whether the app appears in the central App Management view:
-
Add to App Management — shown when the app is saved and not yet displayed in App Management (
isInAppViewis false). It flags the app for display and saves the record. -
Remove from App Management — shown when the app is currently displayed in App Management (
isInAppViewis true). It removes the app from that view.
When an app is displayed in App Management, the In App Management badge is shown on the form.
Export and Import
Export
The Export button is available in the form toolbar. Clicking it opens an export dialog:
-
Export data (1): When checked, the export includes not only the app definition (models, fields, menus, etc.) but also the actual data records created through the custom models.
The export generates a ZIP file containing all the app’s components.
|
Use the Export data option when transferring a fully configured app with sample or reference data to another environment. Leave it unchecked to export only the structure (models, views, actions) without data. |
Import
The Import button is available in the grid/cards toolbar. Clicking it opens an import dialog:
-
Data file (1): Upload the ZIP file to import (MetaFile binary-link widget).
The import process:
-
Reads the ZIP file contents
-
Creates or updates the Studio App and all its components
-
Registers the generated views, menus, and actions
|
Importing an app with the same code as an existing app will update the existing app’s components. Review the import contents carefully before proceeding. |
Update from Data File
The Update button is available in the form toolbar once the app has been saved. It opens an Update app dialog used to re-import the app from a data file while keeping the existing app record:
-
Data file — the ZIP/data file to import (MetaFile binary-link widget, required).
-
Detach absent elements — when checked, elements that exist in the database but are absent from the imported file are detached from the application (they are unlinked, not deleted).
The update reads the data file and reconciles the app’s components against it. With Detach absent elements enabled, obsolete elements are detected and detached so the app reflects exactly the contents of the imported file.
|
Detaching only removes the link between the element and the app; the underlying records are preserved in the database. |
Technical Details
Studio Apps are stored in the StudioApp entity:
| Field | Type | Description |
|---|---|---|
|
String (required) |
Display name (translatable) |
|
String (required, unique) |
Technical identifier |
|
Large String |
HTML description |
|
String |
Associated module names |
|
Integer |
Display order |
|
Boolean (default: false) |
Show in main app view |
|
M2M: App |
Required dependencies |
|
M2O: MetaFile |
App logo |
|
M2O: App |
The generated base App record (contains active status) |
Key backend services:
-
StudioAppController.installApp()— Installs the app and activates components -
StudioAppController.uninstallApp()— Uninstalls the app and deactivates components -
StudioAppController.deleteApp()— Deletes the app (only when not installed) -
StudioAppController.exportApp()— Exports the app to ZIP -
StudioAppController.importApp()— Imports an app from ZIP -
StudioAppController.updateApp()— Updates an app from a data file (with optional detach of absent elements) -
StudioAppUpdateCleanupService— Detects and detaches obsolete elements during update
Related Pages
-
Configuration — Enable/disable the Studio App feature
-
Custom Models — Models packaged in apps
-
Menus — Menus packaged in apps
-
Actions — Actions packaged in apps
-
Charts — Chart components packaged in apps
-
Dashboards — Dashboard components packaged in apps
-
Apps Management — Central app lifecycle management
-
Studio Overview — Complete feature overview