No Results
Application Definition File

An adapter facilitates the integration of a third-party application with EdgeCore. The application definition file, appdef.json, primarily encapsulates all the metadata required to extend EdgeCore. It defines the connection and feed types to be made available to administrative users of EdgeCore to be used for configuring the pipeline.

The Application:AppDefDO

The application definition encapsulates all the definitions.  Some of the top-level fields are used to generate a connection type for the adapter.

Attribute Required Type Default Description
name
Yes String n/a A unique identifier for this application. This will be used as the name of the Connection type for this application.
connectionTypeName
No String GenericWebContentConne ction Name of the Connection type which this one will extend. Refer to the table below for a list of the connection types edgeSuite defines.
feedDefs
No List<AppFeedDefDO> empty list The pool of Feed type definitions available to be used with each version. This is a separate list to avoid having to repeat definitions for Feed types that are used in multiple versions (probably the case for most types).
serverActionDefs
No List<ServerActionD efDO> empty list The pool of Server Action type definitions available to be used with each version. This is a separate list to avoid having to repeat definitions for Server Action types that are used in multiple versions (probably the case for most types).
versionDefs
No List<AppVersionDef DO> empty list Definitions of distinct versions. For each version of the target application where a different set of feeds types should be made available, or different authentication and/or content rules need to be applied.
versionMappings
No List<AppVersionMap pingDO> empty list Some versions of the application are equivalent from the point of view of our integration artifacts (feed type definitions, authentication, and content rules), but we want them to be listed explicitly when configuring a connection. One reason for this is that a common rule can be used for two different versions, but we might have conditional logic within the rule that depends on the value of the application version property.
defaultVersion
No String null When a new connection for this application is created, which application version should be selected by default.

edgeSuite Connection Types

These are the connection types edgeSuite defines as part of the core product.

Type Name Abstract Category Description
GenericWebContentConn ection No Web A generic web content connection with no specific authentication or content handling. All web adapters extend this type, and normally define their own SSO handler and specific content-handling rules.
Web Data No Data Web Data connections for HTTP-based APIs.
Database Basic Connection Yes Data Support custom DB types where Datasource-based configuration can be used.
Database Urlbuilder Connection Yes Data Support custom DB types where Datasource-based configuration is not available.
DB2 No Data IBM DB2 connections. Extend this for applications that have a DB2 backend.
H2 No Data H2 database. Extend this for applications that have an H2 backend.
MySQL No Data MySQL database. Extend this for applications that have a MySQL backend.
Oracle URL No Data Oracle database. Extend this for applications that have an Oracle backend.
Oracle No Data Oracle database. Extend this for applications that have an Oracle backend.
Postgres No Data Postgres database. Extend this for applications that have a Postgres backend.
SQLServer No Data MS SQLServer database. Extend this for applications that have an SQLServer backend.
Sybase No Data

Sybase database.  Extend this for applications that have a Sybase backend.

ServerFilesystem No Data A connection to the local server filesystem.
jSONAR No Data

Connect to a jSONAR backend.

ShellExec No Data

Execute shell commands on the server operating system.

Javascript Connection

No Data

Execute JavaScript to generate arbitrary datasets.

 

Feed Types: AppFeedDefDO

The feedDefs field of the top-level AppDefDO is a list of AppDefFeedDO-derivedobjects.

Attribute Required Type Default Description
name
Yes String n/a A unique identifier for this feed type.
displayName
Yes String n/a
extendsType
No String GenericWebContentFe ed Name of the feed type which this type will extend.
startUri
No String (inherited) Default value for the Start URI property when a feed of this type is created
rule
No String (inherited) Default selected rule when a feed of this type is created. Though strictly speaking this is not required, the value specified here should be consistent with the list of rules for each related AppVersionDefDO.
ssoSessionScope
No String (inherited) Default value for the Session Scope property when a feed of this type is created.
appProperties
No List<AppPropertyD efDO> empty list List of properties specific to this feed type (and those that extend it).
nodeVars
No List<AppFeedNodeV arDefDO> empty list List of node variables that need to be created for this feed type. Normally these will be referenced in one or more of the default values for properties of feeds of this type.

 

Web Feed Types

Web – content and data – feeds have the following fields in common:

Attribute Required Type Default Description
uri
No String (inherited) Default value for the Start URI property when a feed of this type is created
rule
No String (inherited) Default selected rule when a feed of this type is created. Though strictly speaking this is not required, the value specified here should be consistent with the list of rules for each related AppVersionDefDO.

Web content feed types are represented by the WebContentFeedDefDO class. Web data feed types are represented by the WebDataFeedDefDO class. In addition to the fields above, the web data feed types are defined by the fields below:

Attribute Required Type Default Description
parserType
Yes String n/a The parser to be used for feeds of this type. Can be one of:

  • CSV

  • JSON

  • XML

  • Javascript

headers
No KeyValuePairsDO n/a A list of header names and values to be specified by default for feeds of this type. Each element of the list is a KeyValuePairDO, which has two string fields: key and value.

Any other properties of the feed type being extended (typically the generic web data feed), or the specified parser type, can be overridden by specifying the appProperties field.

FileFeedDefDO and ShellFeedDefDO

Both FileFeedDefDO and ShellFeedDefDO allow the specification of a parser. Any other properties can be overridden, or added, via the appProperties field.

Attribute Required Type Default Description
parserType
Yes String n/a The parser to be used for feeds of this type. Can be one of:

  • CSV

  • JSON

  • XML

  • Javascript

SqlFeedDefDO

The SqlFeedDefDO feed definition doesn’t have any special fields, but it does imply a value – “SQL” – for the extendsType field. As with the other feed definitions, additional properties can be overridden or added using the appProperties field.

Server Action Types

The serverActionDefs field of the top-level AppDefDO is a list of AbstractServerActionDefDO-derived objects.

Attribute Required Type Default Description
name
Yes String n/a A unique identifier for this feed type.
displayName
Yes String n/a
extendsType
No String Action Base Name of the feed type which this type will extend.
appProperties
No List<AppPropertyD efDO> empty list List of properties specific to this feed type (and those that extend it).
nodeVars
No List<AppFeedNodeV arDefDO> empty list List of node variables that need to be created for this feed type. Normally these will be referenced in one or more of the default values for properties of feeds of this type.

Web Data Action Types: WebDataServerActionDefDO

The Web Data Action Type Definition is very similar to the Web Data Feed Type Definition. It inherits from the abstract action type definition above:
Attribute Required Type Default Description
uri
No String (inherited) Default value for the URI property when a feed of this type is created
rule
No String (inherited) Default selected rule when a feed of this type is created. Though strictly speaking this is not required, the value specified here should be consistent with the list of rules for each related AppVersionDefDO.
headers
No KeyValuePairsDO (inherited) A list of header names and values to be specified by default for feeds of this type. Each element of the list is a KeyValuePairDO, which has two string fields: key and value.

SQL Action Types:SqlServerActionDefDO

Like the SqlFeedDefDO feed definition, the SQL Action Type Definition doesn’t have any special fields, but it does imply a value – “SQL Action” – for the extendsType field.  As with the other feed definitions, additional properties can be overridden or added using the appProperties field.

ShellExec Action Types: ShellExecServerActionDefDO

Like the SQL Action Type, most of the definition can be achieved via the appProperties field, but like the ShellExec Feed Type Definition, there is an environmentVars field for convenience.

Attribute Required Type Default Description
environmentVars
No KeyValuePairsDO (empty) Environment variables (key-value pairs) to be set before executing the script executed by this Server Actions of this type.

JavaScript Action Types: JavascriptServerActionDefDO

The main field that is likely to be specified for application-specific JavaScript Action Type Definitions is the script – it might be useful to provide a template (or perhaps a generic script) for easier deployment of edgeCore Pipeline configurations. The other fields are provided for convenience (they can also be specified via the appProperties), but might be more difficult to provide sensible defaults for.

Attribute Required Type Default Description
script
No String (empty) A default (JavaScript) script to be
jsLibs
No List<String> (empty) A default list of JavaScript libraries required actions of this type.
javaLibs
No List<String> (empty) A default list of Java libraries required actions of this type.
secVars
No List<String> (empty) Unlikely to be used, but it is possible to

Additional Properties: AppPropertyDefDO

Note that additional properties with the same name as an additional property in the extended feed or action type (or ancestor) will override the definition from the extended type.  Any fields not specified here will be inherited – if specified – from the extended type.

Attribute Required Type Default Description
name
Yes String n/a A unique identifier (within the feed type’s properties) for this property
type
Yes* String n/a Only required if this is the original definition of this property (ie. not required if overriding a property defined in a supertype). Can be one of:

String Boolean Integer Credentials JSString KeyValuePair

scope
No String n/a Only used for connections. Can be ‘connection’ or ‘endpoint’
required
No Boolean true Is the property required to have a value?
unique
No Boolean false Must the property’s value be unique across all instances of the type it is part of?
helpText
No String “” Text to be displayed when the administrator requests context help for this property.
displayName
No String “” The name to use for the property in the pipeline editors. This can be a message catalog key, as in the example above.
constraints
No Object null

Allow this property to be constrained by others.

isParseable
No Boolean true

Node Variables: AppFeedNodeVarDefDO

Attribute Required Type Default Description
name
Yes String n/a A unique identifier for this node variable.
defaultValue
Yes String n/a A sensible default value for the variable, so that the administrator is not forced to provide one.
constraintName
Yes String GenericWebContentFeed The name of the variable constraint by which this variable should be bound.

Distinct Application Versions: VersionDefDO

Attribute Required Type Default Description
version
Yes String n/a The (unique) version of the application that this definition represents.
rules
Yes List<String> n/a A list of the names of content rules that apply to feeds from connections of applications of this version. These must reside in either the product, module, or user area under the adapter’s subdirectory.
feedTypeNames
No List<String> n/a A list of the names of the Feed types that can be created from Connections with this version. Each name in the list should correspond to the name field of an AppFeedDefDO.
defaultFeedTypeName

(deprecated)

No String n/a The default feed type selected when adding a feed to a connection with this version. This must come from the list of names in feedTypeNames.
serverActionTypeNames
No List<String> n/a A list of the names of the Server Action types that can be created from Connections with this version. Each name in the list should correspond to the name field of an Abstract ServerActionDefDO.
templateBundleDefs
No List<TemplateBundl eDefDO> n/a A list of metadata for prepackaged content bundles that apply to this version of the application. A TemplateBundle DefDO has only one required field: name. The optional fields are displayName, description, and prefix. The last field specifies the alphanumeric prefix used for the names of entities in the bundle that should be substituted with what the administrator specifies when deploying the bundle.

Web – both content and data – application versions are defined with the WebConnectionVersionDefDO subclass of VersionDefDO. This class has a few more fields that specify property values that are potentially specific to an application version:

Attribute Required Type Default Description
destination
Yes String A default value for the connection destination property.
ssoHandler
Yes String n/a The name of the authentication handler to be used for connections of this type. This can be either a built-in authentication handler, or the name of a JavaScript SSO rule. Normally set to the name of the JavaScript authentication rule written for this adapter.
credentialsType
Yes String UserPass The type of credentials that the authentication handler requires for this application version. The default valid values are:

  • UserPass
  • UserDomainPass

If custom credential types have been defined, the names assigned to these can also be used.

rules
Yes

List<String>

n/a A list of the names of content rules that apply to feeds from connections of applications of this version. These must reside in either the product, module, or user area under the adapter’s subdirectory.

Equivalent Application Versions: AppVersionMappingDO

Attribute Required Type Default Description
version
Yes String n/a The (unique) version of the application that this definition represents. This must correspond to a value of version in one of the AppVersionDefDO objects for this adapter, otherwise, the mapsTo field must be specified.
mapsTo
No String n/a For versions that don’t have a definition in the versionDefs for this adapter, this value must correspond to the version value of another object in this list.

Custom Credential Types: CredentialTemplateDO

Attribute Required Type Default Description
id
Yes String n/a The (unique) identifier for this type of credentials. The built-in types have values of ‘UserPass’ and ‘UserDomainPass’.
name
Yes String n/a Can just be the same as ID, but is intended to be a more human readable/friendly name for this type of credentials.
credentialFields
Yes List<CredentialDe fFieldDO> n/a A list of the fields used to specify a value of this credential type.

The credentialFields field of CredentialTemplateDO is a list of CredentialDefFieldDO objects:

Attribute Required Type Default Description
key
Yes String n/a The (unique) name for this field within the fields of the credential type to which this field belongs.
isPassword
Yes Boolean n/a Indicates whether this field is a ‘secret’. The normal implication of this is that the field will be masked whenever it is presented to an edgeSuite user.
isRequired
No Boolean false Indicates whether this field is required to form a valid credential value for the type to which this field belongs.

Terms | Privacy