Understanding UA-Domino agent data flow

Unwired Accelerator acts as a middle-man, and does not update the Actual Notes Documents itself, but provides a way of executing business logic.

UA gathers input given by user and passes a set of parameters to the Agent using a temporary Notes Document. The Domino Agent handles the business logic (validations, and so forth), and then saves the results to the actual Document.

The data flow is as given below:

  1. User provides input either using “Input Parameters” or using “Field names using View” option. (This is while using an Agent “Application Type”).

  2. UA gathers this input and creates a temporary Notes Document.

  3. UA puts all the input provided by the user, along with some other fields (see Table 3-3 for fields) into the temporary Notes Document.

  4. UA calls the Domino Agent specified, and passes the Temporary Notes Document ID to it for processing.

  5. Domino Agent, based on the inputs provided, takes the necessary actions, and puts the Status message in the “domino_status” field, and the output in the “domino_output” field.

  6. UA again reads the temporary document, extracts “domino_status” and “domino_output” field values, and passes them to the user. The user gets an appropriate message in case of failure.

Table 3-3 describes the format of the temporary document.

Table 3-3: Sample format of a temporary document

Field name

Value

Sample data

Description

form

ua_tempdoc

ua_tempdoc

Name of the Temporary Document’s Form field is “ua_tempdoc.”

dmno_server

<domino server name>

demo-server

Server name provided by user.

dmno_db

<Domino Database path>

demohelpdesk.nsf

Domino Database path (relative to Domino Server).

dmno_username

<domino user name>

demouser/sybase

Domino user name provided by the user

dmno_userid

<domino User ID file>

//demo-server/lotus/demouser.id

User Id file provided by the user. This is used only for NRPC connections.

dmno_diiop_port

<domino diiop port>

63148

Domino DIIOP Port. This is used only for DIIOP connections.

orig_formname

orig_formname

<Original Form name>

HelpDesk Name of the actual form to which the Document data belongs.

orig_noteid

<Original NoteId>

3fe

NoteID of the actual form to be updated. The default is a Hex value; or blank in case of Insert.

domino_status

<Status Message>

ok

If the Agent execution was successful, the value should be “ok;” otherwise an error message displays.

domino_output

<Domino output in XML>

<Record>   <Field label="Index"   position="1">Status   </Field> </Record> <Record>   <Field label="Index"   position="1">   Accepted   </Field> </Record> <Record>   <Field label="Index"   position="1">   Rejected   </Field> </Record> <Record>   <Field label="Index"   position="1">New   </Field> </Record> <Record>   <Field label="Index"   position="1">Pending   </Field> </Record>

Resulting output in XML format:

<Record>   <Field></Field> </Record>

UA_ACTION

<Action value>

Blank

The Action value selected by user, such as Accept, Reject, and so on. This is an important field for making business decisions. The developer of the Agent must be aware of the possible actions and tasks to be performed, based on the action chosen by the user.

Custom Parameters

<custom parameter value>

Custom1

The custom parameters are either selected using a View or specified in the “Input Parameter” box as name, value pair. For each custom parameter a field name with the same name is created. This can then be used by Agent code to update/insert the actual document.