close

Filter

loading table of contents...

Studio Developer Manual / Version 2107

Table Of Contents

3.3 Remote Dynamic Packages Configuration

The Studio allows adding client packages at runtime. This enables you to add plugins to your application without the need to compile the Studio application again or even to restart the server.

The mechanism for dynamic Studio packages relies on the concept of Studio app overlays which is described in Section Section 6.2, “Build Process”. In this section it is also described how to best develop your own Studio app overlay. These app overlays are exactly what you can add to a running Studio dynamically.

There are different ways of how to utilize dynamic Studio plugins.

In Section 6.2, “Build Process” it is for example described how to set up a proxy server for this purpose.

As a more straightforward approach, you can upload your dynamic Studio packages (in the form of a Studio app overlay) to some external location and just tell the Studio about via a content configuration. This functionality is activated via the core module dynamic-packages. It enables the Studio to load additional Studio packages from a remote URL.

Whitelist

To hamper malicious code injection into the Studio via a remotely loaded Studio package, a whitelist has been introduced. Via this property, it is possible to limit the remote URL sources.

studio.dynamicpackages.remote.urls.whitelist=*//localhost:*,*.coremedia.vm*,*.coremedia.com*
Note

Note

By default, remote dynamic packages are shipped with a predefined whitelist.

Adding remote URLs

To add remote Studio packages, a CMSettings document named DynamicPackages has to be created under the root folder in /Settings/Options/Settings.

Add a String List named remoteUrls to the CMSettings document DynamicPackages. For any Studio package (or multiple packages at once) you want to load remotely, add a fully qualified URL which points to the dynamic-packages.json of a remote Studio app overlay, for example, https://my-file-server.com/coremedia/studio/bookmarks-pro/dynamic-packages.json.

Note

Note

Only unzipped Studio app overlays are supported. The directory structure of the remote app overlay should be (also compare to Figure 6.1, “Custom App Overlay Workspace”):

<remote-folder-name>
    | - dynamic-packages.json
    | - packages
        | - <package-a>
            | .sencha
            | locale
            ...
            | package.json
        | - <package-b>
            | .sencha
            | locale
            ...
            | package.json

The remoteUrls are fetched and evaluated on every Studio reload.

Deactivate Remote Dynamic Packages

To disable the remote dynamic packages feature, append #safe-mode to the Studio URL and invoke it. This might be helpful, if a remote URL points to invalid packages and the Studio does not load at all. The deactivation is only per user and only temporary while the hash parameter is set.

Search Results

Table Of Contents
warning

Your Internet Explorer is no longer supported.

Please use Mozilla Firefox, Google Chrome, or Microsoft Edge.