Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Application Manifest Structure

 

The manifest is a JSON file that describes to JSA the capabilities that the app provides.

The following table describes the fields that you can include in the manifest.json file.

Table 1: Application Manifest Fields

Field

Required

Type

Description

name

Yes

String

The user-readable name of the app. If the app is globalized This field can optionally point at a resource bundle key.

description

Yes

String

The user-readable description of the app. If the application is globalized, this field can optionally point at a resource bundle.

version

Yes

String

A version string for the app. You can use any format that you want here.

uuid

Yes

String

An RFC 4122-compliant universally unique identifier for the application.

The create command uses the Python UUID package to generate a random 128-bit number for the uuid value.

If you do not use the SDK to create the app manifest file, you must manually enter a unique value in the uuid field.

authentication

Yes

String

Authorization for the app to access JSA. The only mandatory entry is "requested_capabilities": ["<capability>"].

For example, admin is a commonly used user capability.

Enter at least one supported JSA user capability. The installation fails if any of the requested_capabilities are not defined in JSA.

load_flask

No

Boolean

Set to false when you don't want to make Python Flask framework available to your app. Typically, you might disable Flask when you want your app to use a different web application framework.

If not specified, this field defaults to true.

Supported by JSA console 7.3.0

and 7.3.1

node_only

No

Boolean

If you want your app to be installed on an app node only and not on the JSA console Console, set to false.

Useful when your app is resource-intensive. When you use this field, inform your users that your app runs only on an app node appliance (unmanaged host).

If not specified, this field defaults to true.

Supported by JSA console 7.3.0

and later.

debugging

No

Boolean

Set to true to turn on logging for your app. If not specified, this field defaults to false.

areas

No

Array of Area Type

One or more Area objects describe new complete pages of the application. In JSA, Area objects are represented as tabs.

rest_methods

No

Array of REST Method Type

One or more REST Method objects describe REST methods that the app exposes. REST Method objects are required parameters for Dashboard Items and Metadata Providers, and are optional for Actions.

dashboard_items

No

Array of Dashboard Item Type

One or more Dashboard Item objects describe the contents of new items that you want to expose to the JSA dashboard.

configuration_pages

No

Array of Configuration Page Type

One or more Configuration Page objects describe new complete pages of the app that represent configuration. In JSA, configuration pages are opened from the Admin tab.

gui_actions

No

Array of GUI Action Type

One or more GUI Action objects describe new actions that can be performed on items in the user interface by page toolbars or by right-click menus.

page_scripts

No

Array of Page Script type

One or more Page Script objects describe new JavaScript files that you want included within an existing page in JSA. By default, these scripts run in their own namespace.

metadata_providers

No

Array of Metadata Provider type

One or more Metadata Provider objects describe REST methods that can be called to fetch new metadata information for certain data types in JSA. Metadata is shown in tooltips when a mouse is hovered-over an item.

resource_bundles

No

Array of Resource Bundle type

One or more Resource Bundle objects. You use these objects for language locales and locale properties file locations.

dev_opts

No

Array of Developer Options type

One or more Developer Option objects. You use these objects to specify values that are used when you develop locally.

resources

No

Integer

One or more Resource objects. You use these objects to configure the amount of memory in megabytes that is available for the app to use.

Supported by JSA 2014.7 and later.

fragments

No

Array of Fragments type

Use these objects to determine the injection point in the JSA UI where content is added and the rest endpoint that is used to retrieve the content.

Supported by JSA 2014.8 and later.

custom_columns

No

Array of Custom Columns type

One or more Custom column objects. You use these objects to identify the context (the page and table in the JSA UI) where a custom column is added, a label for the column header, the type of data to be added, and the rest endpoint that is used to add the column content.

Supported by JSA 2014.8 and later.