Previous Next JavaScript must be enabled to correctly display this content

## 3.5.8 Configuring the Application Gallery

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

- 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.
- Disabling Background Installations
  Control if the Application Gallery supports the installation of applications in the background.
- Special Use Cases
  Instance admnistrators can modify the installation source used for of Sample and Starter Apps and add Custom Apps to the Gallery.

See Also:

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

Parent topic: Configuring Instance Settings

### 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.

Parent topic: Configuring the Application Gallery

### 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.

Parent topic: Configuring the Application Gallery

### 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.

- 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.
- Hosting APEX Sample and Starter Apps Internally
  Learn how to host APEX Sample and Starter Apps internally.
- Including Custom Apps in the Gallery
  Learn how to include custom apps in the Gallery.
- manifest.json Example
  View an example of the information needed in the `manifest.json` for each app that shows in the Gallery.

Parent topic: Configuring the Application 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.

Parent topic: Special Use Cases

#### 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.

Parent topic: Special Use Cases

#### 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.
   See manifest.json Example.
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.

Parent topic: Special Use Cases

#### 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"
            }
        ]
    }

Parent topic: Special Use Cases