M.App Portfolio provides a modern, cloud-based platform for creating and delivering diverse geospatial web applications.
Through the M.App Studio, our partners can design, build, and deploy their own Hexagon Smart M.Apps.
Welcome to Smart M.App API Documentation. Here you can find all necessary information about customizing your Smart M.App.
Smart M.App Customizations
M.App Studio enables visual development of Smart M.Apps in a very simple three step process:
Design the application layout.
Build the application and populate the content.
Customize the application for extended functionality.
The Smart M.App layout consists of one or more panels, which might be filled with such content types:
Map - to embed map view
BI Map - to embed map view with advanced Business Intelligence logic
Workflow Panel - to embed workflows into Smart M.App
Recipe Panel - to configure geoprocessing
Custom Panel - to implement custom functionality not provided by above mentioned content types.
The picture below shows an example Smart M.App application layout which consists of the following content types:
For most common use cases, all the panels besides the custom panel can be configured visually during the Build step of the Smart M.App development process. However, in specific use-cases these panels might be customized (expect the workflow panel) to offer extended or modified behavior and/or display. The following customizations are available in the M.App Studio:
css style customization
html code customization (available only for custom panels)
linking external scripts.
The customizations are automatically saved with the Smart M.App configuration. You don't need to save it explicitly.
The API consists of several modules which are described in this reference.
During development of customizations you can use the public M.App Studio API available under the $GP namespace. Classes that are outside of the $GP namespace represent objects that are passed in callbacks invoked after calling certain $GP methods. Although they are part of the API, they are not meant to be instantiated by the client code.
Available APIs by functionality
While customizing panels you may use $GP API modules which can be grouped by functionality:
M.App Platform API: Manage items stored in your M.App Chest
M.App Messages: Communication between panels
M.App Events: Events handlers
M.App Utils: Common modules
Map: Map Control API
APIs availability by panel type
Below you can find which group $GP API module is supported in which panel