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
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.
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:
-
Sign in to APEX Administration Services.
-
Click Manage Instance.
-
Under Instance Settings, click Instance Settings.
-
Find Application Gallery.
-
Turn the Enable Background Installation setting off.
-
Click Apply Changes.
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.
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.comorraw.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:
-
Sign in to APEX Administration Services.
-
Click Manage Instance.
-
Under Instance Settings, click Instance Settings.
-
Find Application Gallery:
- The location of the
manifest.jsonfile displays in the text box.
- The location of the
-
Modify the
manifest.jsonfile.-
Download the file from its current location.
-
Edit the file to change links to the installation source(s).
-
Upload it to a web server or web resource that can be accessed by the browser over HTTP(s).
-
-
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.jsonfile 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.jsonfile, and add a link to themanifest.jsonfile that specifies their new location.
-
-
Select Apply Changes.
The installation source is modified.
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:
-
Click branches and change the branch to the currently installed APEX version.
For example, from “22.1” to “21.2”.
-
Click the Code button and select Download ZIP.
-
Unzip the file.
-
Deploy the unzipped
apexfolder and its content to a web server that can be reached over HTTP(S). -
In Instance Settings, Application Gallery, File URLs, remove the existing link, and add the link to the deployed
manifest.jsonfile. -
Click Apply Changes.
-
Edit the
manifest.jsonfile and change the links for Starter Apps and Sample Apps to the new location. -
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-OriginHTTP 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.
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:
-
Host the exported apps on a web server or resource that can be accessed by the browser over HTTP(S).
-
Create a
manifest.jsonfile that contains information for each Custom App. -
Host the
manifest.jsonfile on a web server or resource that can be accessed by the browser over HTTP(S). -
In Instance Settings, Application Gallery, File URLs, add a new line and then the link to the
manifest.jsonfile.Each URL must be on its own line.
-
Click Apply Changes.
-
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-OriginHTTP header to tell the browser that a certain resource is allowed to load from a given host/domain.
Custom Apps display 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.
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"
}
]
}