Allowed Context

An app must declare the context (assets, location items, custom types) it can open.

Use config > allowedContext to describe the allowed context.

It must be specified both in the package.json app config and application config.

package.json:

"features": {
        "provides": {
            "apps": [
                {
                    "name": "search",
                    "config": {
                        ...,
                        "allowedContext": "none",

application config:

factory: config => new SearchApp(config),
config: {
    isMultiInstance: true,
    allowedContext: 'none',
    ...
    

The property is used to define the list of apps in the Open in context menu.

Also, double-clicking an asset in the Search or Browse App opens the asset in the most specific app (the specificity is defined by the allowedContext).

allowedContext property description

Possible values: 'none' | 'all' | Context | Array<Context>

Default: Before MediaCentral Cloud UX 2022 'all', starting with the first release of MediaCentral Cloud UX in 2022 'none'.

Value Description
all An application with this allowedContext can work with any mime-type. It is always shown in the Open in context menu.
none An application does not support any mime-type for opening. It is excluded from the Open in context menu.
Context An application is opened by the described Context.

Context

The allowed context is described by the allowed mime-type.

Example:

{ mimeType: "text/x.avid.asset-list" }

Some mime-types may have additional properties.

See Asset and location item mime-types for details.

Array<Context>

The allowed context can be described as array of allowed contexts.

Example:

[{ mimeType: "text/x.avid.asset-list" }, { mimeType: "text/x.avid.location-item-list" }]

Asset and location item mime-types

The following mime-types

  • text/x.avid.asset-list
  • text/x.avid.asset-list+json
  • text/x.avid.location-item-list

have additional properties to narrow down the allowed context.

Additional properties: systemType, types, excludeTypes

systemType (optional)

Type: {String|Array<String>}

If not specified, the app can open assets from all systems.

Examples:

systemType: ['interplay-pam', 'interplay-mam']
systemType: 'queue'

types (optional)

Type: {String|Array<String>}

Examples:

types: ['masterclip', 'sequence']
types: 'inews'

excludeTypes (optional)

Type: {String|Array<String>}

If not specified, the app can open all type of assets.

Examples:

excludeTypes: ['masterclip', 'sequence']
excludeTypes: 'queue'

Specificity rules

If an asset is double-clicked and there are several applications that can open it,
MediaCentral Cloud UX chooses the most specific app to open the asset.

The specificity is defined by the allowedContext.

If the context mimeType matches the allowedContext mimeType, the app is added to the specific apps for the current context.

If the allowed context has additional properties like systemType or type, it is more specific than an allowed context with mimeType only.

If the context is acceptable by the Asset Editor, Asset Editor has the highest priority.

Examples of allowedContext in ascending order:

allowedContext: { mimeType: "text/x.avid.asset-list" }
allowedContext: { mimeType: "text/x.avid.asset-list", systemType: "inews" }
allowedContext: { mimeType: "text/x.avid.asset-list", types: "queue" }
allowedContext: { mimeType: "text/x.avid.asset-list", systemType: "inews", types: "queue" }
Asset Editor (if context is acceptable by this app)

Examples

Example of an allowedContext for the Rundown App (opens iNEWS assets with type queue and story):

config: {
    allowedContext: { 
        mimeType: "text/x.avid.asset-list", 
        systemType: "inews", 
        types: ['queue', 'story'] 
    }        
}