Manage Apps

Create new apps

New apps can be created through one of the following three modes:

  • Default app

  • Use app template

  • Upload app

Default app

Select Default App to create a new app with the most commonly used features. Contents and further functions can be added to the app afterwards. For more information, see configuration of apps.

The template for the default app is located in map.apps data directory (default-app-4.zip). The app can be modified there or replaced by other apps so that they are used as default apps.

Use app template

If apps are created on the basis of an app template, all properties of the template are transferred to the app as a basic configuration. Subsequently, contents and functions can be changed in the concrete app.

Upload app

An app can be uploaded directly as a zip file.

Publish apps

Apps can have various states:

  • Draft

  • Edited

  • Verified

  • Published

  • Deprecated

Users can only view and start published apps. Administrators and editors have access to all apps.

If map.apps is used in combination with map.apps User Management , security.manager or ArcGIS Online/Portal for ArcGIS, access to released apps can be restricted to certain roles. As a result, the app is only visible in the app overview after prior registration (in addition to the freely available apps).

Follow these steps to protect an app:

  1. Open the app publication dialog and set the app’s state to published:

    publish app

  2. Step forward to the sharing screen and select the roles the app is usable for:

    select roles

  3. Complete the dialog and save the app.

The app is now protected and invisible for non-authenticated users. Users can click Login in the app overview to sign in. After authentication, all public (non-protected) apps and all apps accessible for the user are shown. Protected apps can be launched directly, because the user is already logged in.

When opening an app directly with the app’s URL, a login dialog is shown. After a successful verification, the app is started.

To display user information as well as the logout-button inside the app, you have to add the bundle authentication to the app configuration.

Role-based Authorization
For security reasons, an administrator/editor can only authorize apps for roles that they themselves own.

Delete apps

An administrator or editor can delete apps in map.apps Manager. These apps are removed from the database and cannot be restored. Set an app to the "Deprecated" state to make it no longer accessible without deleting it.

If an app is registered as an element in ArcGIS Online/Portal for ArcGIS, this element is removed when the app is deleted.

Export apps

Apps can be exported as a zip file. In this file, all data of the app (including for example images or CSS files) is stored. Export an app to upload it as an app template, archive it or share it with others.

Registration of apps in ArcGIS Online or Portal for ArcGIS

Using map.apps Manager, an app can be registered as portal item. Title, description and preview image are copied from the app metadata to the portal item. The map.apps dialog contains a link to the corresponding portal element. The used portal instance can be defined in the configuration.

When creating a portal element, a login to the portal is necessary. This step is not necessary if map.apps is connected to the user management of the portal (see Integrated Named User Login). Portal authentication can also be activated in the dialog. This means that users must log in using their portal identity when starting the app.

The status of the portal registration is represented by the following symbols in map.apps Manager:

App is not registered

no symbol

App is registered as Portal Item

registered

App is registered as Portal Item, portal user management is active (OAuth)

not registered

The appearance in the app overview does not update if the registration is removed in the manual configuration or the element is removed directly in ArcGIS Online or Portal for ArcGIS. Open the Portal Registration dialog to update the status.

Setting bundle versions for apps

Bundles used in an app must be used in compatible versions. Make sure that all product bundles correspond to either line 3 or line 4.

The "Manage product version in selected apps" tool lets you change the versions of all bundles used for a product (such as map.apps or a product extension) at the same time. To do this, you must first select the product and the corresponding version.

In addition to selecting the minimum version, one of the following update guidelines can be selected:

Choice Description

No updates

The app is only compatible with the exact version specified.

Bugfixes

The app is compatible with all bugfix versions starting with the defined version.

Minor Updates

The app is compatible with all minor versions from the defined version onwards.

Manual definition of bundle versions

The versions of bundles used can also be defined in the Manual Configuration. The bundle name must be separated from the version by a @. Example: toc@1.2.3. The version number can be defined according to the Semantic Versioning specification .

The map.apps system is configured independently of the versions of individual bundles. This is defined in the properties section of the app.json file:

app.json
"properties: {
  "amdPackages": "apprt@1.2.3"
}

Export for native app

The Export for native app tool lets you export any app, including all resources, as a zip file. The app configuration and the bundles used in the app are analyzed and made available for download. Compared to the Export App tool, these results can be used as a basis for creating a native app.

native de

To export all required JavaScript files, the tool integrates all AMD modules of the configured bundles. If an app uses its own bundles, it must be ensured that these have been optimized and that a dependencies.json file exists. Use the appropriate input field to add further modules or files.

Use absolute URLs in an app, because the use of protocol-relative URLs like //www.example.com in native apps can lead to problems.

JavaScript files are sometimes loaded during the runtime of an app. When exporting in map.apps Manager, these are not determined in advance and are therefore not integrated into the zip file. The missing files can either be added manually in the expert settings or loaded in separate bundles. If the bundles map-preload-2D and map-preload-3D are added to the app, the files are already loaded at the start of the app and also integrated into the zip file during export.

Pre-optimization (beta)

This feature is in beta and therefore subject to change. Pre-optimization improves the startup performance in dedicated cases, but it is not necessary for apps to run productively.

Your feedback on this feature is highly appreciated!

Enabling pre-optimization

To make the start of an app faster, click on the Enable pre-optimization button in the app configuration window. The pre-optimization process might take several minutes.

pre optimization confirmation en

Apps that have been pre-optimized can be recognized in the apps table of the manager.

pre optimization manager flag en

To disable pre-optimization, click the same button in the app configuration window again.

In which cases is performance improved?

Pre-optimization improves the startup performance of an app in the following cases:

In case of repeated visits to an app by a user over a longer period of time

Without pre-optimization, static files are no longer loaded from the users browser cache after half a day (unless the expires setting was changed in the configuration), but are loaded from the server again. For pre-optimized apps, certain files that are required to run the app are given a static ID as the file name. These files are loaded from the browser cache indefinitely, which significantly reduces the amount of data and thus the loading time when an app is called again.

When many simultaneous calls are made by different users

Without pre-optimization, the different dependencies of bundles used in an app are analyzed each time an app is started to ensure that all required bundles are loaded. In pre-optimized apps, the bundle composition is considered complete and static, and this dependency analysis is omitted. This significantly reduces database queries and server-side processing operations, which provides a performance benefit, especially when there are many concurrent accesses.

What needs to be considered after activation?

Pre-optimized apps are detached from dynamic dependency resolution. This results in the fact that updated bundles or newly uploaded bundles of a pre-optimized app are not known.

Improvements or bug fixes in a bundle will thus not be visible in the app. Furthermore, depending on the changes made to the bundles, the app may not launch at all or may not launch correctly. To ensure that changes in pre-optimized apps take effect, you must disable pre-optimization and then re-enable it. Pre-optimization is disabled if an app is uploaded, again, or synchronized with an app template.

Live configuration is not available for pre-optimized apps.

Therefore, enable pre-optimization only for apps that are considered final and ready for production use.

When map.apps is updated to a newer version, pre-optimized apps are no more able to detect required bundles, because they are not present in the system anymore. Global settings referenced by bundles from manifest.json files via @@key@@ expressions are not updated anymore. Pre-optimization has to be disabled and enabled again.