Stellent.IBPM.Interop.Common

Objects
ACCProvider
ACCRequest
Dictionary
DocInfo
DocumentID
Domain
Domains
IndexID
LicenseInfo
LogWriter
User
UserToken

Constants
ProcessPermissions
SystemACCType
LoginStyle
LicenseMode
LicenseType


ACCProvider

ACCProvider Object

The ACCProvider object provides a mechanism to retrieve and cache Access Control Context information for a given UserToken

Remarks

The ACCProvider.GetACC and ACCProvider.GetMultipleACCs methods perform the same operations as the UserToken.GetACC and UserToken.GetMultipleACCs methods. However, the ACCProvider versions cache the results internally within the component. The ACCProvider methods also have an additional Boolean parameter, Refresh, allowing the object to either retrieve the information from the back end on each call of the method, or to use the internally cached information.


GetACC Method

GetACC Method (ACCProvider)

Returns a specific Access Control Context

Return Type

Returns an object reference evaluating to a Dictionary object.

Syntax

object.GetACC(ACCRequest As ACCRequest, Refresh As Boolean)

Parameters

Part | Description
ACCRequest | An ACCRequest object specifying the ACC to be retrieved
Refresh | A Boolean specifying whether to force a retrieval of the most recent ACC information from the IBPM database. True - Always retrieve fresh ACC data False - Use cached information if available

Remarks

This method performs the same operation as the UserToken.GetACC method. The ACCProvider object uses UserToken.GetACC internally, but provides the additional capability to cache the results for future use.


GetMultipleACCs Method

GetMultipleACCs Method (ACCProvider)

Returns an array of Access Control Contexts

Return Type

A variant array of Dictionary objects

Syntax

object.GetMultipleACCs(ACCRequests As Variant, Refresh As Boolean)

Parameters

Part | Description
ACCRequests | A Variant array of ACCRequest objects specifying the multiple set of ACCs to be retrieved
Refresh | A Boolean specifying whether to force a retrieval of the most recent ACC information from the IBPM database. True - Always retrieve fresh ACC data False - Use cached information if available

Remarks

This method performs the same operation as the UserToken.GetMultipleACCs method. The ACCProvider object uses UserToken.GetMultipleACCs internally, but provides the additional capability to cache the results for future use.


UserToken Property (ACCProvider)

Sets the UserToken for which the Access Control Context information is to be managed.

Settings and Return Values

Sets an object reference evaluating to a UserToken object

Remarks

This property is write-only.


ACCRequest

ACCRequest Object

The ACCRequest object represents a request for a specific Access Control Context

Remarks

None


GetSystemACCGuid Method

GetSystemACCGuid Method (ACCRequest)

Provides an enumeration for retrieving the list of ACC GUIDs supplied by the core IBPM product.

Return Type

A String value

Syntax

object.GetSystemACCGuid(Type As otSystemACCType)

Parameters

Part | Description
Type | SystemACCType

Remarks

The following Access Control Contexts are available in the core IBPM Product.

  • Policy – General administrative rights
  • Schema – Rights a user has to see and access index table schemas in the Imaging Database.
  • NamedQuery – Right to run, modify and delete Named Queries
  • Workflow - Tool preference specifications for Workflow functions
  • Workflow Databases – List of Workflow databases to which the user has been granted access.


ACCGuid Property (ACCRequest)

Specifies the GUID for the Access Control Context being requested

Settings and Return Values

Sets or returns a string value

Remarks

This value can be set from the ACCRequest.GetSystemACCGuid method, which provides an enumeration for retrieving the list of ACC GUIDs supplied by the core IBPM product.


Filter Property (ACCRequest)

Reserved for future use


Dictionary

Dictionary Object

The Dictionary object is a general purpose container object that stores information in the form of tag/value pairs.

Remarks

Tags are string keys that identify the values, which can be any variant data type. The keys in the dictionary can be enumerated and the entire dictionary can be persisted and restored to and from a serialized binary format. Because of its flexibility, the Dictionary object is used for properties and methods that either require as input or return as output complex data structures that cannot be represented by basic types.


Add Method

Add Method (Dictionary)

Adds a Tag/Value Pair to the Dictionary

Syntax

object.Add(Key As Variant, Item As Variant)

Parameters

Part | Description
Key | Tag to be added to the Dictionary
Item | Value to be added to the Dictionary

Remarks

None


Exists Method

Exists Method (Dictionary)

Indicates whether a given tag key exists in the Dictionary

Return Type

A Boolean value.

Syntax

object.Exists(Key As Variant)

Parameters

Part | Description
Key | The tag key for which the Dictionary is to be searched.

Remarks

None


Items Method

Items Method (Dictionary)

Returns a variant array containing all of the values of the tag/value pairs in the Dictionary

Return Type

A Variant value.

Syntax

object.Items

Remarks

This method is used to enumerate all values stored in the Dictionary. The returned variant contains an array of variants where each variant is a value within the dictionary.


Keys Method

Keys Method (Dictionary)

Returns a Variant array containing all of the Tag keys in the Dictionary

Return Type

A Variant value.

Syntax

object.Keys

Remarks

This method is used to enumerate all keys in the Dictionary. The returned variant contains an array of strings where each string is a tag within the dictionary.


Remove Method

Remove Method (Dictionary)

Remove the specified Tag/Value pair from the Dictionary

Syntax

object.Remove(Key As Variant)

Parameters

Part | Description
Key | A variant specifying the Tag for the Tag/Value pair to be removed

Remarks

None


RemoveAll Method

RemoveAll Method (Dictionary)

Removes all Tag Value pairs from the Dictionary

Syntax

object.RemoveAll

Remarks

None


Count Property (Dictionary)

Indicates the number of Tag/Value pairs in the Dictionary

Settings and Return Values

Returns a Long value.

Remarks

The property is read-only.


Item Property (Dictionary)

Returns the Value from the Dictionary with the specified Tag

Settings and Return Values

Returns a Variant value.

Syntax

object.Item(Key As Variant)

Parameters

Part | Description
Key | Variant value specifying the the value to be returned from the Dictionary

Remarks

None


Key Property (Dictionary)

Sets an existing tag key to a new tag key.

Syntax

object.Key(Key As Variant, NewKey As Variant)

Parameters

Part | Description
Key | Tag to be updated in the Dictionary
NewKey | The new Tag key

Remark

This property can be used to change the tag for for an existing tag value pair


DocInfo

DocInfo Object

The DocInfo is a container object for holding a complete reference to a document and its index.

Remarks

Document and indexes within the Imaging system are identified using six basic parameters. These six parameters are passed in and out of the SDK functions in order to perform operations on these documents and their indexes, such as creating a document or modifying an index. They can also be used for simply holding a pointer to the document/index pair for later use, such as adding a document as an attachment to an BPM package.

The six document/index reference parameters are; UniqueID, MIMEType, ProviderID, IndexID, IndexName, and IndexProvider.

These three parameters are grouped together as the DocumentID.

UniqueID - Unique identifier to the document.

MIMEType - This parameter specifies the MIMEType for the document.

ProviderID - Holds a GUID identifying the provider managing the document's storage (Cold, Imaging, Process, etc).

These three parameters are grouped together as the IndexID

IndexID - Unique identifier to the index row.

IndexName - Name of the index, typically the application index table name.

IndexProvider - GUID identifying the storage system managing the index.

The DocInfo holds both DocumentID and IndexID objects together in a single object allowing the two to be passed as a pair in and out of SDK functions. The DocInfo object also provides a mechanism to automatically populate the parameters for the DocumentID and IndexID by taking the information from an ADO Recordset Fields Collection returned from a query against the Imaging System.


ADOFields Property (DocInfo)

Populates the DocumentID and IndexID values from an ADO fields collection as returned from an Imaging query Recordset.

Settings and Return Values

Sets an object value evaluating to an ADO fields collection

Remarks

None


DocumentID Property (DocInfo)

The DocumentID which provides the three document specific identifiers to the document/index pair represented by the DocInfo object

Settings and Return Values

Sets and returns an object reference evaluating to a DocumentID object

Remarks

None


IndexID Property (DocInfo)

The IndexID which provides the three index specific identifiers to the document/index pair represented by the DocInfo object

Settings and Return Values

Sets and returns an object reference evaluating to an IndexID object

Remarks

None


PageCount Property (DocInfo)

Indicates the number of pages contained in the document represented by the DocInfo object

Settings and Return Values

Returns a Long value.

Remarks

The DocInfo.UserToken Property must be set prior to accessing this function.

The property is read-only


UserToken Property (DocInfo)

Sets the UserToken for the DocInfo object

Settings and Return Values

Sets an object reference evaluating to a UserToken object

Remarks

The property must be set before the PageCount property is accessed.

The property is write-only.


DocumentID

DocumentID Object

Provides a referential link to a document.

Remarks

Documents within IBPM are identified using three basic parameters. These three parameters are passed in and out of SDK functions in order to perform operations on these documents, such as creating a document. They can also be used for simply holding a pointer to the document/index pair for later use, such as adding a document as an attachment to an BPM package.

The three document reference parameters are:

UniqueID - A String value containing a unique key to the stored document. The actual value depends upon the requirements of the system managing the documents storage.

MIMEType - A String value containing an indicator of the type of data contained within the document.

ProviderID - A String value containing a GUID key which identifies the system managing the storage of the document. The value of this parameter determines how the UniqueID property should be interpreted.

The following table details the typical values to the DocumentID properties for adding attachments stored by IBPM mechanisms.

For Imaging Documents
UniqueId
Image | - Imaging RECID
Cold | - Full Imaging OBJECTID
Universal | - Imaging RECID
MIMEType
Image | - image/tiff
Cold | - text/x-emedia.cold
Universal | - application/x-emedia.universal
ProviderId | {0BF3C340-4C13-11d3-8166-00C04F99E979}
For BPM File Attachments
UniqueId | Path to file
MIMEType | application/x-emedia.wfuniversal
ProviderId | {081016EE-F688-11D3-9E61-00C04F097031}

The DocInfo holds both DocumentID and associated index information (IndexID object) together in a single object allowing the two to be passed as a pair in and out of SDK functions.


MimeType Property (DocumentID)

A String value containing an indicator of the type of data contained within the document.

Settings and Return Values

Sets and returns a string value

Remarks

The core IBPM product uses the following values.

Imaging Documents
Image | - image/tiff
Cold | - text/x-emedia.cold
Universal | - application/x-emedia.universal
BPM File Attachments application/x-emedia.wfuniversal

Additional MIMEType values can be used to support custom document types.


ProviderID Property (DocumentID)

A String value containing a GUID key which identifies the system managing the storage of the document. The value of this parameter determines how the UniqueID property should be interpreted.

Settings and Return Values

Sets and returns a string value

Remarks

The core IBPM product uses the following values.

Imaging Documents | {0BF3C340-4C13-11d3-8166-00C04F99E979}
BPM File Attachments | {081016EE-F688-11D3-9E61-00C04F097031}

Additional ProviderID values can be used to support custom document types.


UniqueID Property (DocumentID)

A String value containing a unique key to the stored document. The actual value depends upon the requirements of the system managing the documents storage.

Settings and Return Values

Sets and returns a string value

Remarks

This property represents the unique key used to access a document within the document provider specified by the DocumentID.ProviderID parameter and for document type. As such, the value of the UniqueID property may be dependant on both the provider which stores the document and the MIME type it is assigned.

The core IBPM product uses the following values.

Imaging Documents
Image | - Imaging RECID
Cold | - Full Imaging OBJECTID
Universal | - Imaging RECID
BPM File Attachments Path to file


Domain

Domain Object

Represents an IBPM Server Domain

Remarks

The Domain object is used to log into different IBPM Server domains. It is used by setting the object in the User.Domain property before calling User.Login.


Address Property (Domain)

The Request Broker transport address for the Domain

Settings and Return Values

Returns a string value.

Remarks

None


DomainName Property (Domain)

The name of the IBPM Server Domain

Settings and Return Values

Returns a string value.

Remarks

None


EndPoint Property (Domain)

The Request Broker End Point value for the Domain

Settings and Return Values

Returns a long value.

Remarks

For an IBPM Domain, this value is typically 1829.


Primary Property (Domain)

Indicates whether this Domain object represent the primary IBPM Server Domain

Settings and Return Values

Returns a Boolean value.

Remarks

None


Domains

Domains Object

The collection of Domains available in an IBPM system

Remarks

None


Add Method

Add Method (Domains)

Adds a Domain object to the domains collection

Syntax

object.Add(Domain As Object)

Parameters

Part | Description
Domain | An object reference evaluating to a Domain object

Remarks

None


Item Method

Item Method (Domains)

Retrieves the specified item from the collection

Return Type

An object reference evaluating to a Domain object

Syntax

object.Item(Index As Variant)

Parameters

Part | Description
Index | A variant value indicating either the ordinal index or the string name of the object to be retrieved from the collection

Remarks

The Domains.Refresh method must be called to populate the collection prior to access an item from within the it.


Refresh Method

Refresh Method (Domains)

Populates the Collection

Syntax

object.Refresh

Remarks

None


Remove Method

Remove Method (Domains)

Removes the specified item from the Domains Collection

Syntax

object.Remove(Index As Variant)

Parameters

Part | Description
Index | A variant value indicating either the ordinal index or the string name of the object to be removed from the collection

Remarks

None


RemoveAll Method

RemoveAll Method (Domains)

Removes all items from the collection

Syntax

object.RemoveAll

Remarks

none


Count Property (Domains)

Indicates the number of Domain objects in the collection

Settings and Return Values

Returns a long value.

Remarks

The Domains.Refresh method must be called to populate the collection prior to accessing it.


IndexID

IndexID Object

Provides a referential link to a document index.

Remarks

A document's index values within the IBPM are identified using three basic parameters. These three parameters are passed in an out of SDK functions to perform operation an these indexes (e.g. Modify Index) or are used for simply holding a pointer to the index for later use (e.g. when adding a document as an attachment to an BPM package.)

The three index reference parameters are:

IndexID - A String value containing a unique key to the index values. The actual value depends upon the requirements of the system managing the index. It is only necessarily unique within the Index definition identified by the IndexName property.

IndexName - A String value which uniquely identifies the index definition or schema into which the index values are stored. The IndexId must be unique within the scope of a given IndexName.

IndexProvider - A String value containing a GUID key which identifies the system managing the index of the entity. The value of this parameter determines how the IndexId and IndexName properties should be interpreted.

The DocInfo holds both IndexID and associated document information (DocumentID object) together in a single object allowing the two to be passed as a pair in and out of SDK functions.


IndexID Property (IndexID)

A String value containing a unique key to the index values. The actual value depends upon the requirements of the system managing the index. It is only necessarily unique within the Index definition identified by the IndexName property.

Settings and Return Values

Sets and returns a string value.

Remarks

The core IBPM product uses the following values.

Imaging Documents
Image | - Imaging RECID
Cold | - DocumentId: Physical COLD Number
Universal | - Imaging RECID
BPM File Attachments These values are left blank since there are no indexes associated with file attachments


IndexName Property (IndexID)

A String value which uniquely identifies the index definition or schema into which the index values are stored. The IndexId must be unique within the scope of a given IndexName.

Settings and Return Values

Sets and returns a string value.

Remarks

The core IBPM product uses the following values.

Imaging Documents | Imaging TABLENAME (LinkServerName.Instance.Catalog.Table)
BPM File Attachments | These values are left blank since there are no indexes associated with file attachments


IndexProvider Property (IndexID)

A String value containing a GUID key which identifies the system managing the index of the entity. The value of this parameter determines how the IndexID and IndexName properties should be interpreted.

Settings and Return Values

Sets and returns a string value.

Remarks

The core IBPM product uses the following values.

Imaging Documents
Image | {608FCB70-10BF-11d4-A931-00C04F94786A}
Cold | {0BF3C340-4C13-11d3-8166-00C04F99E979}
Universal | {608FCB70-10BF-11d4-A931-00C04F94786A}
BPM File Attachments These values are left blank since there are no indexes associated with file attachments


LicenseInfo

LicenseInfo Object

The LicenseInfo object allows custom applications to query the IBPM license file to get information about the license and the types of licenses available.

Remarks

None


QueryLicenseTypes Method

QueryLicenseTypes Method (LicenseInfo)

Queries the license file to return all of the available license types.

Return Type

A LicenseType value.

Syntax

object.QueryLicenseTypes

Remarks

The returned value is a bit masked value where each bit in the values represents a possible license type. A 1 value for the bit position means that a license of that type is available. The LicenseType enumeration defines the meaning of the bits in the mask.


Refresh Method

Refresh Method (LicenseInfo)

Loads the object with the information about the IBPM LicenseFile

Syntax

object.Refresh

Remarks

The MarshallingAgent and UserToken properties should be set prior to calling this method.


Validate Method

Validate Method (LicenseInfo)

Validates a given license type to determine if the license file contains that type of license

Syntax

object.Validate(lType As LicenseType, valid As Long)

Parameters

Part | Description
lType | The LicenseType value indicating the license type to validate
valid | A long valid indicating whether the specified license type is valid

Remarks

None


CompanyName Property (LicenseInfo)

Identifies the Company name found in the IBPM License file

Settings and Return Values

Returns a string value

Remarks

The property is read-only


Demo Property (LicenseInfo)

Indicates whether or not the license file is a Demo license.

Settings and Return Values

Returns a Long value

Remarks

A value of 0 indicates the LicenseFile is not a Demo license file. A 1 indicates that the file is a Demo file.

The property is read-only.


MarshallingAgent Property (LicenseInfo)

Sets the MarshallingAgent on the object.

Settings and Return Values

Sets an object reference evaluating to a MarshallingAgent2 object

Remarks

Property is write only


SerialNumber Property (LicenseInfo)

The Serial number of the IBPM License file.

Settings and Return Values

Returns a long value.

Remarks

The property is read-only.


UserToken Property (LicenseInfo)

Sets the UserToken in the object

Settings and Return Values

Sets an object reference evaluating to a UserToken object

Remarks

None


LogWriter

LogWriter Object

Provides the ability to write log entries to the IBPM Service logs.

Note

When using this object in a multi-threaded environment, the date time stamp in the log file might be out of sequence due to the order that Microsoft is giving the thread access to the file.


WriteDetail method

WriteDetail Method (LogWriter)

This method adds a detail type service log entry.

Syntax

object.WriteDetail(Text As String, FileName As String, LineNumber As Long)

Parameters

Part | Description
Text | The textual information to output to the service log file.
FileName | The filename of the executing module. This field will truncate text at 31 characters.
LineNumber | The line number of the code generating the output message.

Notes

Do not enter pipe ( | ) characters as any part of your service message, as the parsing logic could cause unexpected results.


WriteError method

WriteError Method (LogWriter)

This method adds a error type service log entry.

Syntax

object.WriteError(Text As String, FileName As String, LineNumber As Long)

Parameters

Part | Description
Text | The textual information to output to the service log file.
FileName | The filename of the executing module. This field will truncate text at 31 characters.
LineNumber | The line number of the code generating the output message.

Notes

Do not enter pipe ( | ) characters as any part of your service message, as the parsing logic could cause unexpected results.


WriteInfo method

WriteInfo Method (LogWriter)

This method adds an information type service log entry.

Syntax

object.WriteInfo(Text As String, FileName As String, LineNumber As Long)

Parameters

Part | Description
Text | The textual information to output to the service log file.
FileName | The filename of the executing module. This field will truncate text at 31 characters.
LineNumber | The line number of the code generating the output message.

Notes

Do not enter pipe ( | ) characters as any part of your service message, as the parsing logic could cause unexpected results.


WriteWarn method

WriteWarn Method (LogWriter)

This method adds a warning type service log entry.

Syntax

object.WriteWarn(Text As String, FileName As String, LineNumber As Long)

Parameters

Part | Description
Text | The textual information to output to the service log file.
FileName | The filename of the executing module. This field will truncate text at 31 characters.
LineNumber | The line number of the code generating the output message.

Notes

Do not enter pipe ( | ) characters as any part of your service message, as the parsing logic could cause unexpected results.


ToolName Property (LogWriter)

This property should contain the name of the application that is writing to the service log, so it can be quickly identified who logged the message.

Syntax

object.ToolName = value

Remarks

This property must be set before calling any of the Write methods.

The property is write-only.

Notes

Do not enter pipe ( | ) characters as any part of your service message, as the parsing logic could cause unexpected results. This field will truncate text over 31 characters.


User

User Object

The User object is a utility object used to log in and out of the IBPM system.

Remarks

The User object is a creatable object whose primary purpose is to provide Login and Logout methods. The User.Login method takes a user name and password, both of which are sent to the back-end license and security servers for validation. If a user license is available, and the supplied user name and password are valid, the Login method returns a populated UserToken object.

The Login method also takes a third parameter that specifies whether the login should be interactive or not. If an interactive login is specified, a dialog box is presented prompting the user to enter a user name and password. In this case the username supplied to the Login method is only used to pre-populate the user name field in the login dialog (the password parameter is ignored.)


ActivateUser Method

ActivateUser Method (User)

Creates a UserToken object and attaches it to an existing license reserved on the User Connection Manager service.

Return Type

And object reference evaluating to a UserToken object

Syntax

object.ActivateUser(ActivationID As String)

Parameters

Part | Description
ActivationID | A string value containing the activation id of the user license to be activated

Remarks

The activation id is obtained from an existing UserToken object. This activation id can then be used to reconstitute that UserToken at a later time using the ActivateUser method. The method will only succeed if the UserToken has not been logged out and the user license has not expired.


ChangePassword Method

ChangePassword Method (User)

Changes a Users Password

Syntax

object.ChangePassword(UserName As String, Password As String, NewPassword As String, Interactive As Boolean)

Parameters

Part | Description
UserName | The user name of the password to be changed
Password | The users old password
NewPassword | The users new password
Interactive | A boolean specifying whether to show an interactive change password dialog

Remarks

This method is implemented by passing the parameters to the Security server, which then pass through to the Operating System change password routines. As such, the method will affect the user's domain account password.


Login Method

Login Method (User)

Logs a user into the IBPM system and reserve a user license.

Return Type

Returns an object reference evaluating to a UserToken object.

Syntax

object.Login(UserName As String, Password As String, Interactive As Boolean)

Parameters

Part | Description
UserName | The user account id to login
Password | The user's password
Interactive | A Boolean value specifying whether an interactive Login Dialog should be presented

Remarks

None


LoginCurrentUser Method

LoginCurrentUser Method (User)

Attempts the use the desktop user account to log into the IBPM System

Return Type

Returns an object reference evaluating to a UserToken object

Syntax

object.LoginCurrentUser

Remarks

This method allows custom applications to implement silent login functionality.


Logout Method

Logout Method (User)

Logs out the specified UserToken and frees any user licenses reserved by it.

Syntax

object.Logout(UserToken As UserToken)

Parameters

Part | Description
UserToken | The UserToken to be logged out

Remarks

This method should be called by all applications before shutdown to free any user license that have been reserved during its execution. If Logout is not called on a UserToken, its user licenses will not be freed until it times out on the User Connection Manager service.


MappedLogin Method

MappedLogin Method (User)

Allows an automatic login based on a user alias name.

Return Type

A UserToken object

Syntax

object.MappedLogin(SourceName As String, eLoginType As LoginStyle)

Parameters

Part | Description
SourceName | The alias name to be used for the login
eLoginType | LoginStyle

Remarks

This method maps the passed in SourceName as and alias to user credentials stored in Registry. If the user login and encrypted password under the passed in alias, they are used as the credentials for the login. If they are not found, a login dialog is presented for the user to supply these credentials. The dialog has a "Save For Automatic Login" check box that, if checked by the user, causes the credentials to be store for the next call to MappedLogin.


ValidateLogin Method

ValidateLogin Method (User)

Validate whether the specified UserToken still represents authenticated credentials

Syntax

object.ValidateLogin(UserToken As UserToken)

Parameters

Part | Description
UserToken | A UserToken object

Remarks

None


Domain Property (User)

Identifies the IBPM Server Domain in which the User object should attempt to reserve licenses on a Login Call

Settings and Return Values

Sets and Returns an object value evaluating to a Domain object

Remarks

Unless set manually, this property will default to the primary domain within the IBPM system


Domains Property (User)

Returns the Domains collection containing all of the Domains configured on the IBPM System

Settings and Return Values

Returns an object value evaluating to a Domains collection

Remarks

This property can be used to enumerate the available domains configured in the IBPM system. Custom application can select a Domain object out of the collection and set it on the User.Domain property to log into different domains.

The property is read-only.


LicenseType Property (User)

Sets the type of license that the User object will attempt to reserve on the next Login call.

Settings and Return Values

Sets an otLicenseType value

Remarks

The property is write-only


SystemLangID Property (User)

The system language identifier for the User object

Settings and Return Values

Returns a long value.

Remarks

See Microsoft API documentation for information on Language Ids.

The property is read-only


SystemLocaleID Property (User)

The system locale identifier for the User object

Settings and Return Values

Returns a long value.

Remarks

See Microsoft API documentation for information on Locale Ids.

The property is read-only


TimeZone Property (User)

The time zone offset for the User object

Settings and Return Values

Returns a long value.

Remarks

The property is read-only


UserLangID Property (User)

The user language identifier for the User object

Settings and Return Values

Returns a long value.

Remarks

See Microsoft API documentation for information on Language Ids.

The property is read-only


UserLocaleID Property (User)

The user locale identifier for the User object

Settings and Return Values

Returns a Long value.

Remarks

See Microsoft API documentation for information on Locale Ids.

The property is read-only


UserName Property (User)

The user name of the last UserToken created by the Login method.

Settings and Return Values

Returns a String value.

Remarks

The property is read only.


UserToken

UserToken Object

The UserToken object represents a user logged in the IBPM system.

Remarks

The UserToken returned from the Login method represents a reserved user license and a validated user. This UserToken object should be maintained for the lifetime of the custom application and supplied as required as the IBPM SDK is used to access the IBPM system.


ConnectToProcess Method

ConnectToProcess Method (UserToken)

Connects this UserToken to a process database.

Syntax

object.ConnectToProcess(Database As String)

Parameters

Part | Description
Database | The process database to which the UserToken should be connected.

Remarks

This method is equivalent to calling the Database.Connect method in the BPM Obect Library and should be called before performing any operations within the BPM SDK components.


GetACC Method

GetACC Method (UserToken)

Returns a single Access Control Context for the user represented by the UserToken

Return Type

Returns an object evaluating to a Dictionary

Syntax

object.GetACC(ACCRequest As IACCRequest)

Parameters

Part | Description
ACCRequest | An ACCRequest object

Remarks

None


GetMultipleACCs Method

GetMultipleACCs Method (UserToken)

Retrieves multiple Access Control Contexts for the user represented by the UserToken.

Return Type

Returns a Dictionary object containing the requested Access Control Contexts.

Syntax

object.GetMultipleACCs(ACCRequests As Variant)

Parameters

Part | Description
ACCRequests | A variant array of ACCRequest objects

Remarks

None


Logout Method

Logout Method (User)

Logs out the UserToken and frees any user licenses reserved by it.

Syntax

object.Logout()

Remarks

This method should be called by all applications before shutdown to free any user license that have been reserved during its execution. If Logout is not called on a UserToken, its user licenses will not be freed until it times out on the User Connection Manager service.

This method performs the same operation as the User.Logout method and may be used as a more convenient alternative because a reference to a User object need not be created or maintained.

Another alternative is to set the AutoLogout property to true. This will automatically force a logout when the UserToken object is released.


ReleaseCachedACC Method

ReleaseCachedACC Method (UserToken)

Releases all Access Control Context information cached in the user session on the User Connection Manager.

Syntax

object.ReleaseCachedACC()

Remarks

This method may be required to see security changes made during the execution of a custom application.


ActivationID Property (UserToken)

The activation id of the user license represented by the UserToken

Settings and Return Values

Returns as string value.

Remarks

This activation id can be used to reconstitute a UserToken at a later time using the User.ActivateUser method. This method will only succeed if the UserToken has not been logged out and the user license has not expired.

The property is read-only.


AutoLogout Property (UserToken)

Sets or gets whether this UserToken object will automatically perform a logout and free the user license when the object is released.

Settings and Return Values

Returns as boolean value.

Remarks

If the property is false, calling code can obtain the Activation Id for the UserToken before releasing it and can then subsequently reactivate the UserToken as long as the user license has not expired on the User Connection Manager.

If the property is true, the license will be freed as soon as the object is released. A manual call to the Logout method before releasing the object is not required.


Domain Property (UserToken)

The IBPM server domain in which the UserToken represents a reserved license.

Settings and Return Values

Returns a Domain object

Remarks

The property is read-only.


Key Property (UserToken)

The security identifier key for the logged in user.

Settings and Return Values

Returns a variant value.

Remarks

For Microsoft operating systems, the UserToken.Key property is the variant byte array containing the user's binary SID.

The property is read-only.


Password Property (UserToken)

The password for the logged in user.

Settings and Return Values

Returns a string value.

Remarks

The property is read-only.


ProcessDatabase Property (UserToken)

The Process database to which the user token is connected

Settings and Return Values

Returns as string value.

Remarks

This property is invalid and will return a blank string until the ConnectToProcess method is called for the UserToken.

The property is read-only.


ProcessPermissions Property (UserToken)

The permissions of the user connected to Process. This will return a value identifying whether or not the user has Process Administrator, Can View Inboxes or Can Apply Process Map rights.

Settings and Return Values

Returns as long value.

Remarks

The long value is a bit mask of ProcessPermissions enumeration values.

The property is read-only.


ProcessUserId Property (UserToken)

The unique id assigned to a user when connected to a Process Database.

Settings and Return Values

Returns as string value.

Remarks

This property is invalid and will return -1 until the ConnectToProcess method is called for the UserToken.

The property is read-only.


UserName Property (UserToken)

The user name for the logged in user.

Settings and Return Values

Returns a string value.

Remarks

The property is read-only.


QualifiedUserName Property (UserToken)

The fully qualified user name for the logged in user. This will always return a string in the format Domain\UserName (or SecurityServerMachineName\UserName if local security is being used.

Settings and Return Values

Returns a string value.

Remarks

The property is read-only.


ProcessPermissions enumeration

Members

Constant | Value
ppProcessAdmin | 1
ppCanViewInboxes | 2
ppCanApply | 8


SystemACCType enumeration

Members

Constant | Value
satPolicy | 1
satSchema | 2
satNamedQuery | 3
satWorkflow | 4
satWorkflowDB | 5
satPrintFax | 6


LoginStyle enumeration

Members

Constant | Value
lsInteractive | 1
lsAutoInteractive | 2
lsNonInteractive | 3


LicenseMode enumeration

Members

Constant | Value
lmFullSeat | 1
lmWebView | 2


LicenseType enumeration

Members

Constant | Value
ltNone | 0
ltWorld | 1
ltOneWorld | 2
ltLOBLink | 4
ltAppCon | 8
ltWebView | 65536
ltLOBProcessData | 16
ltLOBClientProcessData | 32
ltLOBClientProcessUpdate | 64
ltLOBClientSearch | 128
ltLOBImagingUpdate | 256
ltLOBECaptureUpdate | 512
ltLOBJDEOneWorldData | 1024
ltLOBJDEOneWorldUpdate | 2048
ltLOBGUI400Data | 8192
ltLOBGUI400Update | 16384
ltLOBHLLAPIData | 32768
ltLOBHLLAPIUpdate | 131072
ltLOBWebSearch | 262144
ltLOBGreatePlainsData | 524288
ltLOBGreatPlainsUpdate | 1048576
ltLOBOracelApps | 2097152
ltLOBPeopleSoft | 4194304


GetSystemACCGuid method

property GetSystemACCGuid

Return Type

A String value.

Return Type

A Boolean value.

Syntax

object.GetSystemACCGuid(Type As SystemACCType)

The GetSystemACCGuid method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type ACCRequest.
Type | SystemACCType


enuLoginType Enumeration

Members

Constant | Value
ltInteractive | 1
ltAutoInteractive | 2
ltNonInteractive | 3


licType Enumeration

Members

Constant | Value
LICTYPE_NONE | 0
WORLD | 1
ONE_WORLD | 2
LOBLINK | 4
APPCON | 8
LOB_PROCESSDATA | 16
LOB_CLIENTPROCESSDATA | 32
LOB_CLIENTPROCESSUPDATE | 64
LOB_CLIENTSEARCH | 128
LOB_CONTEXTUPDATE | 256
LOB_ECAPTUREUPDATE | 512
LOB_JDEONEWORLDDATA | 1024
LOB_JDEONEWORLDUPDATE | 2048
LOB_GUI400DATA | 8192
LOB_GUI400UPDATE | 16384
LOB_HLLAPIDATA | 32768
WEBVIEW | 65536
LOB_HLLAPIUPDATE | 131072
LOB_WEBSEARCH | 262144
LOB_GREATPLAINSDATA | 524288
LOB_GREATPLAINSUPDATE | 1048576


MarshallingAgent2

MarshallingAgent2 Object

The IBPM messaging component

Remarks

Through the use of the IBPM Marshalling Agent messages can be passed between components. With the ability to pass messages between components, you can pass a Saved Search to the Request Broker and bring up the Search Results.

The IBPM Application bus consists of a Marshalling Agent, which acts as an internal message broker between components on the bus. Each component on the bus can submit actions to the marshalling agent and process actions received from the marshalling agent.

The Marshalling Agent receives requests from components for actions to be processed, for example a display object action. The Marshalling Agent then looks up the display object action in its internal list of components, and sends a process action request to the component supporting that action.


RegisterHandler Method

RegisterHandler Method (MarshallingAgent2)

This function registers the specified handler to handle certain messages.

Return Type

Returns a long value

Syntax

object.RegisterHandler(UserToken As Object, MessageDefns As Object, MessageHandler As Object)

Parameters

Part | Description
UserToken | The active UserToken object.
MessageDefns | A MessageDefns object, a collection of message definitions to be handled.
MessageHandler | The object which handles the messages

Remarks

The returned value is a long value referred to as the "Receiver Cookie." The cookie represents a key value for an internal lookup table that links back to the user credentials supplied by the UserToken object and the associated message map entries for the handler.

Once the message handler is released, it should call UnregisterHandler to remove the message map entries from the dispatch tables.


RegisterSender Method

RegisterSender Method (MarshallingAgent2)

This function registers the specified UserToken to send messages.

Return Type

A Long value.

Syntax

object.RegisterSender(UserToken As Object)

Parameters

Part | Description
UserToken | The active UserToken object.

Remarks

The returned value is a long value referred to as the "Sender Cookie." The cookie represents a key value for an internal lookup table that links back to the user credentials supplied by the UserToken object. By retaining the cookie and passing it in to subsequent calls to SendMessage, the cookie tells the marshalling agent who is sending the message.

Once the message handler is released, it should call UnregisterSender to remove the message map entries from the dispatch tables.


SendMessage Method

SendMessage Method (MarshallingAgent2)

This method sends a message from a registered sender.

Syntax

object.SendMessage(SenderCookie As Long, Request As Object, Response As Object)

Parameters

Part | Description
SenderCookie | A long value returned from RegisterSender
Request | The request message object.
Response | The response message object.

Remarks

RegisterSender must be called to obtain a valid SenderCookie before any message can be sent.

Before sending a specific message, the Request message object should be properly filled out with a MessageID and any message input parameters.

After the SendMessage method returns, the Responses GetResult method should be called to check for any errors that may have occurred during the handling of the message. If no errors occurred, than any return parameters can be retrieved from the response.


UnregisterHandler Method

UnregisterHandler Method (MarshallingAgent2)

This function unregisters a handler so that it will not longer receive messages.

Syntax

object.UnregisterHandler(HandlerCookie As Long)

Parameters

Part | Description
HandlerCookie | A long valid returned from a previous call to RegisterHandler

Remarks

None


UnregisterSender Method

UnregisterSender Method (MarshallingAgent2)

Removes a senders credentials as valid message sender.

Syntax

object.UnregisterSender(SenderCookie As Long)

Parameters

Part | Description
SenderCookie | A long valid returned from a previous call to RegisterSender

Remarks

None


MessageDefn

MessageDefn Object

The MessageDefn object represents a definition on a message to be handled by a message handler.

Remarks

If a tool needs to handle messages from the IBPM system, it must implement IMessageHandler. As a message handler, the tool must register all of the message that it needs to handle with the Marshalling agent. It does this by creating a filling out any number of MessageDefn objects, adding them to a MessageDefns collection and passing that collection into the MarshallingAgent2.RegisterHandler method. This procedure inserts the handler into the message routing table of the marshalling agent so that the messages can be routed to the handler when the are set through the system.


ID Property (MessageDefn)

The GUID message id to be handled by the message handler.

Settings and Return Values

Sets and returns a string value.

Remarks

None


Name Property (MessageDefn)

The name of a message to be handled by a message handler.

Settings and Return Values

Sets and returns a string value.

Remarks

This value allows administrative tools that display the message tables for message handling tools (i.e. MCP) to display a readable list of handled messages.


Priority Property (MessageDefn)

Priority which should be given to the message handler in handling the message.

Settings and Return Values

Sets and returns an integer value.

Remarks

Priority determines the order in which a message is dispatched to handlers that all register to handle the same message id. Lower priority numbers are given the option handle the message before higher priority numbers (so zero(0) is the "highest" priority.) Message handling will only continue on to message handlers with lower priority if a previous handler has NOT return a message handled status.

The order that a message is dispatched to message handlers of equal priority is undetermined.


Style Property (MessageDefn)

Property is reserved for future use.

Settings and Return Values

Sets and returns an otMessageDefnStyle value.

Remarks

Value should be otUseMessageDefnDefaults (0)


MessageDefns

MessageDefns Collection

MessageDefns is a collection of message definition (MessageDefn) objects are to be handled by a IMessageHandler tool.

Remarks

If a tool needs to handle messages from the IBPM system, it must implement IMessageHandler. As a message handler, the tool must register all of the message that it needs to handle with the Marshalling agent. It does this by creating a filling out any number of MessageDefn objects, adding them to a MessageDefns collection and passing that collection into the MarshallingAgent2.RegisterHandler method. This procedure inserts the handler into the message routing table of the marshalling agent so that the messages can be routed to the handler when the are set through the system.


Add Method

Add Method (MessageDefns)

Adds a MessageDefn object to the collection

Syntax

object.Add(MessageDefn As Object, Key As String)

Parameters

Part | Description
MessageDefn | The MessageDefn object to be added
Key | The name of the MessageDefn object to be added

Remarks

None


Count Property (MessageDefns)

Indicates the number of MessageDefn objects in the collection

Settings and Return Values

Returns a long value.

Remarks

The property is read-only


Item Method

Item Method (MessageDefns)

Retrieves the specified MessageDefn object from the collection

Return Type

Returns a MessageDefn object

Syntax

object.Item(Index As Variant)

Parameters

Part | Description
Index | A variant value indicating either the ordinal index or the name of the MessageDefn object to be retrieved from the collection

Remarks

None


Remove Method

Remove Method (MessageDefns)

Removes the specified MessageDefn object from the collection

Syntax

object.Remove(Index As Variant)

Parameters

Part | Description
Index | A variant value indicating either the ordinal index or the name of the MessageDefn object to be removed from the collection

Remarks

None


RemoveAll Method

RemoveAll Method (MessageDefns)

Removes all MessageDefn object from the collection

Syntax

object.RemoveAll

Remarks

None


MessageDescriptor

MessageDescriptor Object

The MessageDescriptor object for various options to be set on a message describing how the message should be sent.

Remarks

None


ClientId Property (MessageDescriptor)

Sets the ClientId for the message

Settings and Return Values

Returns a String value.

Remarks

The client id is used for auditing purposes to record who sent a particular message. By default, this gets set to the username of the user sending the message.


DestinationAddress Property (MessageDescriptor)

Specifies the destination address, server name, server type, or server pool depending on the setting of RoutingDescriptor property

Settings and Return Values

Sets or returns a string value.

Remarks

None


ResetDefaults Method

ResetDefaults Method (MessageDescriptor)

Resets the MessageDescriptor to all default values

Syntax

object.ResetDefaults

Remarks

Noney


RoutingDescriptor Property (MessageDescriptor)

The routing descripto specifies how a message should be routed to a handler.

Settings and Return Values

Returns a otRoutingDescriptor value.

Remarks

The following route descriptors are supported

otRouteNormal - The message is routed strickly by is message id.

otRouteIgnore - The message is ignored and not sent at all

otRouteClient - The message is routed only to tools inside the client. The message is not transmitted out to back-end servers

otRoutePreferredServer - The message is sent to a specific server identified by the DestinationAddress property

otRoutePreferredAddress - The message is sent to a specific server identified by the DestinationAddress property

otRouteServerType - The message is sent to a specific type identified by the DestinationAddress property

otRoutePoolServer - The message is sent to a specific server pool identified by the DestinationAddress property


Style Property (MessageDescriptor)

Specifies the message style

Settings and Return Values

Returns a otStyle value.

Remarks

None


TimeOutValue Property (MessageDescriptor)

The time out time allowed for the sending of the message

Settings and Return Values

Sets or returns a long value.

Remarks

None


otMessageDefnStyle Enumeration

Members

Constant | Value
otUseMessageDefnDefaults | 0


otMessageStyle Enumeration

Members

Constant | Value
otUndefined | 0
otRequest | 1
otResponse | 2
otAsynchronous | 4


otOptikaACCType Enumeration

Members

Constant | Value
otPolicy | 1
otSchema | 2
otNamedQuery | 3
otWorkflow | 4
otWorkflowDB | 5


otRoutingDescriptor Enumeration

Members

Constant | Value
otRouteNormal | 0
otRouteIgnore | 1
otRouteClient | 2
otRoutePreferredServer | 3
otRoutePreferredAddress | 4
otRouteServerType | 5
otRoutePoolServer | 6


otStyle Enumeration

Members

Constant | Value
otDefaultStyle | 0
otNoInternalProcessing | 1
otAutoCreateTool | 2
otNoSocktoolIP | 4
otNoSocktoolCache | 8
otCompressOverNetwork | 16


AddLicenseType Method

AddLicenseType Method (User)

Adds additional Licenses to reserve on the next Login call.

Syntax

object.AddLicenseType(LicenseId As Long)

Parameters

Part | Description
LicenseId | A long Value indicating the license type to be added

Remarks

None


LicenseMode property (User)

property LicenseMode

Property type

A No Return Value value.

Syntax

object.LicenseMode(rhs As LicenseMode) [= value]

The LicenseMode property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type User.
value | A No Return Value value.


Groups property (UserToken)

property Groups

Property type

A Variant value.

Syntax

object.Groups [= value]

The Groups property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type UserToken.
value | A Variant value.


IsProcessAdmin Property (UserToken)

Indicates whether the user has been granted Process Administrator priviledges.

Settings and Return Values

Returns as boolean value.

Remarks

This property is invalid and will return false until the ConnectToProcess method is called for the UserToken.

The property is read-only.


ProcessBroker property (UserToken)

property ProcessBroker

Property type

A String value.

Syntax

object.ProcessBroker [= value]

The ProcessBroker property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type UserToken.
value | A String value.


ProcessPool property (UserToken)

property ProcessPool

Property type

A String value.

Syntax

object.ProcessPool [= value]

The ProcessPool property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type UserToken.
value | A String value.