Configuration File Format
The definition for one or more integrations is stored in a single configuration file in JSON format.
The extension of an AIF configuration file must be .conf.
As an developer, you can upload the configuration file and make it available to users. See Understand the Application Integration Framework (AIF).
Note:
When using a private instance or any network environment with limited access, you'll need to provide users access to any third-party locations so they can use any custom actions.A sample configuration file for one application follows. All keys and values in the configuration are case-sensitive.
{
"id": "ExampleCoPublishing",
"name": "APP_SUBMIT_TO_PUBLISH_DOCS_NAME",
"description": "APP_SUBMIT_TO_PUBLISH_DOCS_DESC",
"category": "CUSTOM",
"supportEmail": "support@example.com",
"baseUrl": "http://www.example.com/",
"info": {
"documentation": "Opens a URL with a description of the app in a popup window",
},
"info": {
"presentation": {
"view": "POPUP"
},
"invoke": {
"method": "GET",
"url": "http://www.example.com/ExampleCoDescr.jsp",
"data": ""
}
},
"tenantPrefs": {
"presentation": {
"view": "POPUP"
},
"invoke": {
"method": "GET",
"url": "http://www.example.com/ExampleCoAdmin.jsp",
"data": ""
}
},
"userPrefs": {
"presentation": {
"view": "POPUP"
},
"invoke": {
"method": "GET",
"url": "http://www.example.com/ExampleCoUser.jsp?user={user.id}",
"data": ""
}
},
"actions": [
{
"id": "submitToPublish",
"name": "ACTION_SUBMIT_TO_PUBLISH_NAME",
"description": "ACTION_SUBMIT_TO_PUBLISH_DESC",
"type": "UI",
"trigger": "MENU",
"presentation": {
"view": "POPUP",
"popupWidth": 700,
"popupHeight": 400
},
"evaluate": "type=='folder' && user.isMember && user.role=='owner' && !isReservedByAnotherUser",
"invoke": {
"method": "GET",
"url": "http://www.example.com/ExampleCoSubmit.jsp?user={user.id}&ids=[{id},]&names=[{name},]"
},
"multi": false
},
{
"id": "showPublishStatus",
"name": "ACTION_SHOW_PUBLISH_STATUS_NAME",
"description": "ACTION_SHOW_PUBLISH_STATUS_DESC",
"type": "UI",
"trigger": "SELECT",
"presentation": {
"view": "POPUP",
"popupWidth": 300,
"popupHeight": 200
},
"evaluate": "type=='file' && user.isMember && user.role=='owner' && _.contains(['doc','','docx','xls','xlsx','ppt','pptx','tif','png'], extension) && (_.isEmpty(reservedById) || reservedById === user.id)",
"invoke": {
"method": "GET",
"url": "http://www.example.com/ExampleCoSubmit.jsp?user={user.id}&ids=[{id},]&names=[{name},]"
},
"multi": false
},
{
"id": "publishDirect",
"name": "ACTION_PUBLISH_DIRECT_NAME",
"description": "ACTION_PUBLISH_DIRECT_DESC",
"type": "DIRECT",
"trigger": "MENU",
"presentation": {
"view": "CLIENT",
"popupWidth": 500,
"popupHeight": 100
},
"evaluate": "type=='folder' && user.isMember && user.hasPrivilegesAs(item, 'owner')",
"invoke": {
"method": "GET",
"url": "http://www.example.com/ExampleCoMenuAction.jsp"
},
"multi": false
}
],
"stringsMap": {
"en": {
"APP_SUBMIT_TO_PUBLISH_DOCS_NAME": "ExampleCo Publishing Technical Articles",
"APP_SUBMIT_TO_PUBLISH_DOCS_DESC": "Submit an article for the ExampleCo technical knowledge base.",
"ACTION_SUBMIT_TO_PUBLISH_NAME": "Publish",
"ACTION_SUBMIT_TO_PUBLISH_DESC": "Submits the selected document for review and approval to ExampleCo publishing.",
"ACTION_SHOW_PUBLISH_STATUS_NAME": "Select ExampleCo",
"ACTION_SHOW_PUBLISH_STATUS_DESC": "Shows currently selected row info in ExampleCo Publishing",
"ACTION_PUBLISH_DIRECT_NAME": "Audit",
"ACTION_PUBLISH_DIRECT_DESC": "Sends an audit event to ExampleCo when document is selected"
}
}
}The Application Integration Framework supports simple use of the JavaScript underscore library (http://underscorejs.org); however, AIF does not allow defining functions as parameters of underscore functions.
The sections that follow describe the functional areas of the Application Integration Framework.
| Functional Area | Description |
|---|---|
|
Describes the application properties. |
|
|
Describes the general elements of the |
|
|
Describes the elements of the |
|
|
Describes the elements of the |
|
|
Provides examples and general information about expressions used with the |
|
|
Provides descriptions of the available item and user variables, the |
|
|
Provides an example and general information about how to localize an app with translated labels and descriptions. |