3.5.8 Configuring the Application Gallery

Configure the location used as the installation source for Application Gallery.

See Also:

Using the Gallery in Oracle APEX App Builder User’s Guide

3.5.8.1 About the Application Gallery

The Application Gallery is accessible from the Workspace home page and contains links to Sample Apps, Starter Apps, and Custom Apps.

Access the Application Gallery from the top menu, or by typing Gallery in the spotlight search. Apps in the Gallery are listed as cards and can be installed directly from APEX.

Sample and Starter Apps are hosted on GitHub by default. When you click the Install button, APEX fetches the ZIP file from GitHub in the background, and opens a modal dialog that displays:
  • App icon, title, and description
  • Advanced settings
    • Application ID - can be auto-generated (default) or manually entered
    • Parsing schema for the app and supporting DB objects

The instance administrator can edit the default installation source, enabling you to host Sample and Starter Apps locally. It also lets you make Custom Apps available across all workspaces on the instance.

3.5.8.2 Disabling Background Installations

Control if the Application Gallery supports the installation of applications in the background.

The Enable Background Installation setting is enabled by default. If for some reason database jobs have been disabled for an APEX instance, consider disabling this setting so users can still install applications in the Application Gallery.

To disable background installations in the Application Gallery:

  1. Sign in to APEX Administration Services.
  2. Click Manage Instance.
  3. Under Instance Settings, click Instance Settings.
  4. Find Application Gallery.
  5. Turn the Enable Background Installation setting off.
  6. Click Apply Changes.

3.5.8.3 Special Use Cases

Instance admnistrators can modify the installation source used for of Sample and Starter Apps and add Custom Apps to the Gallery.

3.5.8.3.1 Advanced Configuration

The default installation source for the Gallery is the Oracle APEX GitHub repository. You can change the installation source or add new apps to the Gallery by editing the manifest.json file and updating the instance settings.

Developers can install Sample Apps, Starter Apps, and Custom Apps directly from the Gallery. The location of the apps is controlled by the manifest.json file.

There are two scenarios where you may want to modify the installation source:
  • Network restrictions prevent the client browser from accessing apex.oracle.com or raw.githubusercontent.com
  • You want to add custom apps to the Gallery

In order to make changes to the installation source, you will need to modify the manifest.json file. This file dictates the location of the Sample Apps and Starter Apps. An additional manifest.json file can be added to indicate the location of the Custom Apps.

To edit the installation source:
  1. Sign in to APEX Administration Services.
  2. Click Manage Instance.
  3. Under Instance Settings, click Instance Settings.
  4. Find Application Gallery:
    • The location of the manifest.json file displays in the text box.
  5. Modify the manifest.json file.
    1. Download the file from its current location.
    2. Edit the file to change links to the installation source(s).
    3. Upload it to a web server or web resource that can be accessed by the browser over HTTP(s).
  6. Under Application Gallery, File URLs, modify the link for manifest.json.
    • If the Sample and Starter Apps installation source has not been modified, add a line break to the text box and add a link to the manifest.json file that specifies the location of the Custom Apps.
    • If the Sample and Starter Apps installation source has been modified, remove the link to the existing manifest.json file, and add a link to the manifest.json file that specifies their new location.
  7. Select Apply Changes.

The installation source is modified.

3.5.8.3.2 Hosting APEX Sample and Starter Apps Internally

Learn how to host APEX Sample and Starter Apps internally.

GitHub is the default hosting location for Sample and Starter Apps. If network restrictions mean this location is not accessible by the customer, you can download the apps, host them internally, and modify the installation source to make them accessible.

To host APEX Sample and Starter Apps internally:

  1. Go to https://github.com/oracle/apex.
  2. Click branches and change the branch to the currently installed APEX version.
    For example, from "22.1" to "21.2".
  3. Click the Code button and select Download ZIP.
  4. Unzip the file.
  5. Deploy the unzipped apex folder and its content to a web server that can be reached over HTTP(S).
  6. In Instance Settings, Application Gallery, File URLs, remove the existing link, and add the link to the deployed manifest.json file.
  7. Click Apply Changes.
  8. Edit the manifest.json file and change the links for Starter Apps and Sample Apps to the new location.
  9. Visit the Gallery page and confirm there are no errors.

    Tip:

    Because of Cross-Origin Resource Sharing (CORS), the web server must be configured to include the Access-Control-Allow-Origin HTTP header to tell the browser that a certain resource is allowed to load from a given host/domain.
Starter and Sample Apps are now hosted internally.

3.5.8.3.3 Including Custom Apps in the Gallery

Learn how to include custom apps in the Gallery.

The Custom Apps section of the Gallery allows instance administrators to include their own apps. You upload the apps locally, and then add an installation source file to point to the custom app location.
Before beginning, export the apps you want to include in Custom Apps as zip files.

To include Custom Apps in the Gallery:

  1. Host the exported apps on a web server or resource that can be accessed by the browser over HTTP(S).
  2. Create a manifest.json file that contains information for each Custom App.
  3. Host the manifest.json file on a web server or resource that can be accessed by the browser over HTTP(S).
  4. In Instance Settings, Application Gallery, File URLs, add a new line and then the link to the manifest.json file.
    Each URL must be on its own line.
  5. Click Apply Changes.
  6. Visit the Gallery page to confirm apps are shown and there are no errors.

    Tip:

    Because of Cross-Origin Resource Sharing (CORS), the web server must be configured to include the Access-Control-Allow-Origin HTTP header to tell the browser that a certain resource is allowed to load from a given host/domain.
Custom Apps display in the Gallery.

3.5.8.3.4 manifest.json Example

View an example of the information needed in the manifest.json for each app that shows in the Gallery.

This example demonstrates the information you must include in the manifest.json file when modifying the installation source for apps in the Gallery.

Each app that has had its installation source modified needs the below code block. You can include multiple manifest.json files in the Instance Settings, Application Gallery, File URLs attribute. For example, if Sample and Starter Apps remain hosted on GitHub, a new manifest.json file can be added to the File URLs attribute that only dictates the location of Custom Apps.

{
    "sampleApps": [
        {
            "internalName": "MY_SAMPLE_APP",
            "name": "Sample App",
            "description": "This app is a sample app.",
            "author": "John Doe",
            "version": "1.0.0",
            "icon": "https://example.com/apex/apps/sample_app/app-icon.svg",
"url": "https://example.com/apex/apps/sample_app",
"source": "https://example.com/apex/apps/sample_app/sample_app.sql",
"zip": "https://example.com/apex/apps/sample_app/sample_app.zip"
        }
    ],
    "starterApps": [
        {
            "internalName": "MY_STARTER_APP",
            "name": "Starter App",
            "description": "This app is a starter app.",
            "author": "John Doe",
            "version": "1.0.0",
            "icon": "https://example.com/apex/apps/starter_app/app-icon.svg",
"url": "https://example.com/apex/apps/starter_app",
"source": "https://example.com/apex/apps/starter_app/starter_app.sql",
"zip": "https://example.com/apex/apps/starter_app/starter_app.zip"
        }
    ],
    "customApps": [
        {
            "internalName": "MY_CUSTOM_APP",
            "name": "Custom App",
            "description": "This app is a custom app.",
            "author": "John Doe",
            "version": "1.0.0",
            "icon": "https://example.com/apex/apps/custom_app/app-icon.svg",
"url": "https://example.com/apex/apps/custom_app",
"source": "https://example.com/apex/apps/custom_app/custom_app.sql",
"zip": "https://example.com/apex/apps/custom_app/custom_app.zip"
        }
    ]
}