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