Table of Contents

Search

  1. Preface
  2. Overview, Downloading, and Installing
  3. Administration API
  4. Identity Service API
  5. Screenflow Programming and SDK
  6. ActiveVOS WSHT API
  7. Embedding Request Forms in Standalone Web Pages
  8. XML-JSON for Process Central

7. APIs, SDKs, and Services

7. APIs, SDKs, and Services

Object Descriptions

Object Descriptions

The objects in your host application must be described to Guide Designer in order for their fields to be rendered. Each object is described in an
entityDetail
document as described by the XML schema provided by the Process Designer SDK. There can be an
entityList
document that acts as an index for each object you describe.
If you do not deploy an
entityList
, and use the default host environment service, an
entityList
document is generated dynamically at runtime by discovering all deployed
entityDetail
documents in the catalog. If you override the
entityIndex
global configuration property with a
project:
value, you must use an
entityList
.
An object detail contains information about:
  • The name of the object in the host
  • Labels used to present the object to guide creators
  • The object's fields
  • Any relationships between the object and other objects on the host
The objects and entities named in this paragraph are highlighted in bold in the code example that follows.
The sample account object (which is the next example) defines an object named
accounts
which is displayed to guide designers as
Account
or
Accounts
, and has a primary key field called
AccountId
. In addition, the account object has two additional fields besides the primary key called
Name
and
AccountNumber
. Finally, this object has a relationship with another object named
contacts
.
Code Example: Sample Account Object
<host:entityDetail xmlns:host= "http://schemas.active-endpoints.com/appmodules/ screenflow/2011/06/avosHostEnvironment.xsd" xmlns:comm="http://schemas.active-endpoints.com/ appmodules/screenflow/2011/07/avosCommon.xsd"
name="accounts"
label="Account"
labelPlural="Accounts"
objectIdField="AccountId"> <host:detail> <host:childRelationship
childSObject="contacts"
field="AccountId" relationshipName="ctct_to_acct" /> <host:field label="AccountId" name="AccountId" required="true" type="id"> <host:options> <host:option name="length">36</host:option> </host:options> </host:field> <host:field
label="Name"
name="Name" required="false" type="string"> <host:options> <host:option name="length">45</host:option> </host:options> </host:field> <host:field
label="AccountNumber"
name="AccountNumber" required="false" type="string"> <host:options> <host:option name="length">10</host:option> </host:options> </host:field> </host:detail> </host:entityDetail>
Code Example: Sample Index
The following code example shows how an
entityList
document could be created to index all deployed objects. This index provides the minimal amount of metadata about each entity so that all entities are not required to be loaded by the client until they are actually used in a guide.
Each entity element in the index contains all the same attributes as is found in each
entityDetail
element in the entity detail document in this code example. There is an additional attribute:
objectLocation
. It provides a URI to the detail document that defines the entire object. If the
objectLocation
attribute is missing, the entity detail must exist in the same directory as the
entityList
and the filename must be the entity name with an
.xml
extension; for example,
accounts.xml
.
<host:entityList xmlns:host="http://schemas.active-endpoints.com/ appmodules/screenflow/2012/09/avosObjectDiscovery.xsd"> <host:entity name="accounts" label="Account" labelPlural="Accounts" updateable="true" objectIdField="AccountId" objectLocation="./accounts_detail.xml"> </host:entity> <host:entity name="contacts" label="Contact" labelPlural="Contacts" updateable="true" objectIdField="ContactId" objectLocation="./contacts_detail.xml"> </host:entity> </host:entityList>