Implementation using OmniDocs Engine

 

This section defines how ActionItem can be implemented using OmniDocs Engine. In OmniDocs Engine ActionItem are implemented over data classes. Whenever an ActionItem is defined a new data class is created whose field contains the definition of ActionItem, this data class is associated with a document, which is also added in the system at the time of defining ActionItem. This document is also referred as ActionItem Document.

 

When a user initiates an ActionItem a new document is created, with which a data class corresponding to the ActionItem will be associated. This document is referred as Instance document. This document moves from InWork folder of one user to another user as the action item moves ahead in the route and all operations are performed on this document when the users operate on ActionItem

Define ActionItem

Any user in the system who is a member of “Administrator” group can define an ActionItem.

Definition of ActionItem includes

 

§          Coordinator – person who will be responsible for co-ordination of this ActionItem

§          Route Definition – Possible routes of ActionItem, either predefined or flexible

§          Stage Definition – Stages of Action Item. Final and Non Final

§          Defining Additional Fields

§          Alarms – Untouched and Complete Alarms

§          Acknowledgment for ActionItem – when ActionItem is complete Initiator should receive the Acknowledgement or not.

 

User can use the JTS call NGOCreateActionItem to define an ActionItem. When an action item is created, following objects are created.

 

1.       A folder is created under root folder with same name as that of ActionItem for e.g. Leave_Record. Type of such folder is “A” so that it can be distinguished from other folders. Owner of this folder is Coordinator and its access type is “S”.

2.       ActionItem or AI Folder is created under the folder create at above step. This folder contains empty document i.e. template for action item and all instance document, which are created when action item is initiated.

3.       Attachment folder or AT Folder is created under the folder created in step 1, which is used to store all the attachments, associated with the action item.

4.       A Document is created with name empty_doc under AI Folder. This document is created only in backend and not added in Image Server.

5.       A group is created by the name DBMainGroupName + '_'  + DBActionItemName + '_OT' + MainGroupId. Members of this group will be the Coordinator and the users who should get Complete and Untouched Reminders and rights will be given to the groups on ActionItem folder.

6.       Create a Data class with name as ActionItem Name of type “ACT”. This data class is associated with empty document and all the documents that are created for this action item at the time of initiate. It contains 21 system-defined fields, which are used to store the definition of ActionItem besides these user-defined fields that can also be added to the Data class. System defined fields are described below

 

S.No.

Field Name

Field Type

Field length

Purpose/Format of Storing Information

1

Importance

String

20

It contains the importance of ActionItem. Valid values are Low/Normal/High. Value in this field is stored as Low*, Normal, High. *  is marked in front of current value of importance.

2

Sensitivity

String

20

Y/ N to show whether Confidential or not.

3

Lsize

Long

4

Size of the ActionItem. It includes the size of text typed plus size of all the documents attached.

4

SentOn

Date

30

Date on which the ActionItem was sent.

5

FromUser

String

50

Name of the user who sent the ActionItem

6

ToUser

String

50

Name of the user to whom the ActionItem is sent.

7

Subject

String

255

Subject of the ActionItem.

8

CopyTo

String

255

Name of the users to whom a copy is to be sent. User names are separated by a “,”

9

CurrentStage

String

50

Holds the name of the current stage. If stage not set then this is blank.

10

CurrentRouteSeq

String

50

Name of the current route slip, “ENTRY” in case of entry type route and name of the route slip in case of predefined route

11

TrackNumber

String

12

Track Number for the ActionItem

12

Initiated By

String

50

Name of the user who had initiated this Work Item

13

Initiated On

Date

30

Date on which ActionItem was initiated

14

Response Exists

String

1

Y/N, whether a response is added or not.

15

SYSTEM_ACTION

ITEMDATA

TextImage

0

This field holds the data for Work Item. Described Below in detail.

16

Coordinator

String

50

Name of the user who is the coordinator of the ActionItem.

17

Acknowledgement

Exists

String

1

Y/N, whether Acknowledgment Exists or not.

18

Complete

String

1

Y/N. Set to Y if completed or N if in progress.

19

CurrentlyHeldWith

String

50

Name of the user who is currently holding the Actionitem.

20

Alarms

String

255

Alarms for untouched and uncompleted. Discusses below in detail.

21

Extras

String

255

An extra string to hold some useful information. Discussed below in detail.

 

Out of the above 21 fields 4 fields are defined as global index which helps in fast retrieval of ActionItem when a search is made on these indexes. They are Subject, CurrentlyHeldWith, Track Number, and InitiatedBy.

 

SYSTEM_ACTIONITEMDATA

               

This field contains the information for response, trackinfo, attachmentdata, stage, route and message text. The information is stored in the following format.

 

                <SYSTEM_ACTIONRESPONSE>

                                Responsestring

                </SYSTEM_ACTIONRESPONSE>

 

                <SYSTEM_ACTIONTRACKINFO>

                                TrackString

                </SYSTEM_ACTIONTRACKINFO>

               

                <SYSTEM_ACTIONATTACHMENTDATA>

                                AttachmentData

                </SYSTEM_ACTIONATTACHMENTDATA>

 

                <SYSTEM_ACTIONSTAGEINFO>

                                StageInfo

                </SYSTEM_ACTIONSTAGEINFO>

 

                <SYSTEM_ACTIONROUTEINFO>

                                RouteInfo

                </SYSTEM_ACTIONROUTEINFO>

               

                <SYSTEM_ACTIONMESSAGE>

                                Message

        </SYSTEM_ACTIONMESSAGE>

 

Where

 

1.   AttachmentData  – Any folder or document can be attached with ActioItem. It contains information about the attachment in the form of XML whose format is

 

<ATS>

      <AT>

                <TY>D</TY>

                <AN>myattachment</AN>

                <DI>44</DI>

                <VI>5</VI>

                <II>23</II>

                <VER>1.0</VER>

                <EXT>gif</EXT>

                <IT>I</IT>

                <TP>10</TP>

                <FR>y</FR>

        </AT>

        <AT>

                 <TY>F</TY>                         

                 <FI>12</FI>

                 <FN>OmniDocs</FN>

        </AT>

</ATS>

Description

 

Name

Parent Tag

Description

ATS

SYSTEM_ACTION

ATTACHMENT

DATA

It is an Outer tag which contains information about the Attachments attached with the ActionItem.

AT

ATS

Contains information about the individual attachment

TY

AT

Type of Attachment i.e. either F – Folder or D- Document.

AN

AT

Name of the Attachment. It is applicable only in case of Document

DI

AT

Document Index of the Attachment. Used only in case of document. It is applicable only in case of Document

VI

AT

Volume Index of the attachment. It is applicable only in case of Document

II

AT

Image Index of the attachment. It is applicable only in case of Document

VER

AT

Version number of attachment. It is applicable only in case of Document

EXT

AT

Extension of the attachment. It is applicable only in case of Document

IT

AT

 

TP

AT

Total number of pages in attachment. It is applicable only in case of Document

FR

AT

Form exists or not Y- yes it exists

N- no form exists

FI

AT

Folder Index of the attachment folder. It is applicable only in case of folders as attachment

FN

AT

Name of the folder, which is attached with ActionItem .it, is applicable only in case of folder as attachment.

 

 

2. StageInfo – It contains information about the stages defined for Action Item. It contains information about the attachment in the form of XML whose format is

 

<Stages>

      <Stage>

             <SN></SN>                //Stage name

            <ST></ST>                //stage type whether F/N – F is for final stage and N is for non-final //stage

      </Stage>

      <Stage>

<SN></SN>

<ST></ST>

      </Stage>

      <Stage>

             <SN></SN>

              <ST></ST>

     </Stage>

</Stages>

 

Description

 

Name

Parent Tag

Description

Stages

SYSTEM_ACTION

STAGEINFO

It is an Outer tag which contains information about the Stages of ActionItem.

Stage

Stages

Contains information about the individual stage defined for ActionItem

SN

Stage

Name of the Stage

ST

Stage

Type of Stage. It can be either F-Final, N- Non Final

 

3 Message

 

It contains information about the forwarding messages that can be attached with ActionItem. It contains information about the Messages in the form of XML whose format is

 

<Messages>

<Message>

<User>Dinesh</User>

<Date>29-09-2000 20:51</Date>

<Comment>May please be sanctioned at the earliest</Comment>

</Message>

</Messages>

 

Description

 

Name

Parent Tag

Description

Messages

SYSTEM_ACTION

MESSAGE

It is an Outer tag which contains information about the messages attached with ActionItem.

Message

Messages

Contains information about the individual message associated with ActionItem

User

Message

Name of the user who has attached the message with the ActionItem

Date

Message

Date and Time when Message was attached

Comment

Message

Contents of the message that is attached with ActionItem.

 

4. TrackString

 

It contains information about the actions performed on ActionItem. Information is stored in a specific format given below

 

Traccksheetinfo1^! Traccksheetinfo2

Where tacksheetinfo1 and tracksheetinfo2 are the two actions performed on ActionItem.

Trackshhetinfo1 can be of the format

{ActionId}{Data and time}{User name 1}@${User name 2}

 

Where

 

§          ActionId – A unique id for every action that has to be recorded in Track sheet.

§          Date and Time – Date and time when action was performed.

§          User name 1 – Name of the user who has performed the action.

§          User name 2 – This is not required in every action, but when we required some other name then it is used for e.g. in case of refer it is the name of the person to whom ActionItem has been referred.

For e.g.

106-11-2000 16:24:51 HrsDiwakar@$^!906-11-2000 16:25:24 HrsTarun@$

 

The above format is OmniDocs defined, user can define his own format and store it in database and can parse in its own manner after retrieval from Database.

 

5.   Extra

 

Field 21 defined in data class 1.e extra it can be used to store any extra information associated with the ActionItem. In OmniDocs it is used to store some information in format given below

 

AI{Index}@$AT{Index}@$BD{Index}@$GI{Index@$CN{Name}

 

Where

 

§          ActionItem folder index

§          Attachment Folder Index for ActionItem

§          Index of empty Document created at the time of defining ActionItem

§          ActionItem Group

§          Name of the coordinator for ActionItem

 

6.       RouteInfo

 

It contains information about the routes defined for ActionItem.It contains information about the Routes in the form of XML whose format is given below. Every member in the route is defined as a route step in the XML. Route step can be a user or a group. This ActionItem contains two routes. First route contains 2 route steps and another route contains 3 route steps.

 

<Routes>

<Route>

                <RN>     </RN>

                <RT>      </RT>

<RSS>

<RS>

<N></N>                //member name

<T></T>                //route type (U/G – if user then U and if group then G)

<GI></GI>                //Group index if this member is a group

<F></F>                //Flag ($ for referred user, # for diverted user and * for //current user)

</RS>

<RS>

<N></N>

<T></T>

<UI></UI>                //User Index if this member is a user

<F></F>

</RS>

</RSS>

<Route>

                <RSS>

<RS>

<N></N>

<T></T>

<GI></GI>

<F></F>

</RS>

<RS>

<N></N>

<T></T>

<UI></UI>

<F></F>

</RS>

<RS>

<N></N>

<T></T>

<UI></UI>

<F></F>

</RS>

</RSS>

</Route>

   </Routes>

 

 

Description

 

Name

Parent Tag

Description

Routes

SYSTEM_ACTION

ROUTEINFO

It is an Outer tag which contains information about the Routes defined for the ActionItem.

Route

Routes

Contains information about the individual Route defined for ActionItem

RN

Route

Name of the Route

RT

Route

Type of Route. It can be either F-Flexible, P- Pre defined

RSS

Route

It is an outer tag which contains information about the route members

RS

RSS

It contains information about individual route member.

N

RS

Name of the member, it can be either name of the user or group

T

RS

Type of Member. It can be either U-User, G- Group

GI

RS

Index of the member of the route. This tag is applicable when member is a group.

UI

RS

Index of the member of the route. This tag is applicable when member is a User.

F

RS

It is a flag, which indicates the status of the member of the route. It can be either $-Referred user, #- Diverted user or * - current user

 

7. ResponseString

 

Response for ActionItem is stored in the format shown below

 

{Date and time}{User 1}^!{Message}

06-11-2000 16:54:50 HrsCham^!pls check it

 

Where

 

§          Date and Time – Date and time when Response was added

§          User name 1    – Name of the user who has added the response to ActionItem.

§          Message          - Message of the response.

 

 

 

Get List of ActionItem

To get the list of action items in the system user can call NGOGetDataDefListExt for data class of type “Act”.

Get ActionItem Definition

In order to get the ActionItem definition from backend like routes for action item, stages for             ActionItem, data fields form etc user has to get the document property for Empty document. User can use call NGOGetDocumentProperty to get the definition.

Get Form attached with ActionItem

To get the form attached with action item user has to retrieve document from image server using some image server call. Image index and volume index of the form will be available from ActionItem Property.

Get List of Users

In order to get the user list in the system, user can use the call NGOGetUserListExt by specifying the group Index for which user wants to fetch users.

Get List of Groups

In order to get the User Groups in the system, user can use the call NGOGetGroupListExt by specifying the main group Index for which user wants to fetch groups.

Add Attachments with ActionItem

User can attach Existing documents from DMS or new documents from desktop as attachments with ActionItem.

In order to attach existing Documents from DMS user has to copy the documents to AT Folder of the ActionItem. This can be implemented using NGOCopyDocumentExt with Destination folder as AT Folder.

To attach documents from desktop first user has to add the document to image server using one of the calls meant for this purpose and then to backend using NGOAddDocument call.

Initiate ActionItem

Once the action item is created any user can initiate that action item to start the corresponding work among the route. For e.g. Once Leave Request action item is created any user can initiate a leave request for approval by initiating the action item among the specified route. When the action item is initiated it goes to the inbox of first user in the route. For initiating action item user has to call NGOOperateActionItem, which will create an instance of this action item as a new document on which operations will be done when the action item is within the route. Opearteactionitem call will also create the reference of the new document to the inbox folder of the first member in the route. Another reference will also be created to the sent item folder of the user who has initiated the action item. At the time of initiation action item following points should be considered while using OperateActionItem call

 

§          User should not pass DocumentIndex; only name of the document is passed, because new document will be created by the call

§          Deleteallrefernce flag should be passed as “N”, because while initiating action item no references exist for action item document.

§          All data related to action item like route, stage information, subject, current message will be passed among fields of the data class that is associated with the action item.

§          User has to call NGOChangeDocumentProperty to update the track number field; it can be any unique number for the ActionItem for e.g. DocumentIndex created at above step.

 

View details about OperateActionItemCall

View ActionItem

When user receives any ActionItem in the Inbox he can view the ActionItem and start working on it. To view an ActionItem, the user needs to fetch the properties or current state of ActionItem; this can be done by using call NGOGetDocumentProperty for the instance document. User has to parse the data retrieved in GetDocumentPoroperty call to show the various properties of ActionItem like current stage, next member in route, Importance etc

Add Note with ActionItem

When a user views any ActionItem, he can add a note to it. To add Note, user can use the call NGOAddAnnotation and add annotation of type “N” on Instance Document by specifying its index.

Add Note with Attachment on ActionItem

When a user views any ActionItem, he can add a note to it. To add Note on attachment, user can use the call NGOAddAnnotation and add annotation of type “N” on Attachment by specifying its Documentindex.

Retrieve Note with ActionItem

User can get list of notes attached with ActionItem by using the call NGOGetAnnotationGroupListExt, for Instance Document and specify AnnotationType as “N”.

Retrieve Note with Attachment

User can get list of notes attached with Attachment by using the call NGOGetAnnotationGroupListExt, for Attachment Document and specify AnnotationType as “N”.

View Attachment

To view an Attachment attached with ActionItem user has to retrieve the attachment from Image server. Using some call meant for that purpose document can be fetched and can then be viewed.

View TrackSheet

Track sheet contains the log of operation performed on ActionItem.Since track sheet data is stored as a part of SystemAttachmentData, it can be fetched using call NGOGetDocumentProperty for Instance document and the XML can be parsed to show the track sheet information.

Update TrackSheet

Whenever any Action is performed on ActionItem and it has to be logged in TrackSheet.In order to update the track sheet when some action is performed like Note is added to ActionItem, User can use the call NGOChangeDocumentProperty on Instance Document.

Forward ActionItem

When an ActionItem is received in user’s Inbox, he can work on that ActionItem and then forward it to next member in the route. User can give his feedback through notes, data fields, and forwarding message. When an ActionItem is forwarded to next member in the route a reference of the Instance document is created in the Inbox folder of the next member in route and sent item folder of the user who is forwarding the ActionItem. User can use the call NGOOperateactionitem to forward the ActionItem.

 

At the time of forwarding an ActionItem following points should be considered while using NGOOperateactionitem call

 

§          User should DocumentIndex of the Instance document.

§          Deleteallrefernce flag should be passed as “N”, because while initiating action item no references exist for action item document.

§          All data related to ActionItem like route, stage information, subject, current message will be passed among fields of the data class that is associated with the action item.

Refer ActionItem

Whenever a user receives an ActionItem, he may need to take suggestion or advice from some other user in the system that is not a part of Route, he can send the ActionItem to that user for reference. Refered user can work on ActionItem in a normal manner with a restriction that he can either refer to some other user or return back the ActionItem. User can use the call NGOOperateActionitem to refer an ActionItem to some other user. Since referred user is not a part of route so rights must be given to refer user.

At the time of referring an ActionItem following points should be considered while using NGOOperateActionitem call

 

§          User should pass DocumentIndex of the Instance document.

§          Deleteallrefernce flag should be passed as “N”, because while initiating action item no references exist for action item document.

§          All data related to ActionItem like route, stage information, subject, current message will be passed among fields of the data class that is associated with the action item.

§          RightFlag should be passed as “Y” so that rights will be given to refereed user.

Return ActionItem

When an ActionItem is received in user’s Inbox, he can work on that ActionItem or he can send the ActionItem back to user who has send the ActionItem. User can give his feedback through notes, data fields, and forwarding message. When an ActionItem is sent back a reference of the Instance document is created in the Inbox folder of the user who has sent the ActionItem and in sent item folder of the user who is returning the ActionItem. User can use the call NGOOperateActionItem to return the ActionItem.

 

At the time of returning an ActionItem following points should be considered while using NGOOperateactionitem call

 

§          User should DocumentIndex of the Instance document.

§          Deleteallrefernce flag should be passed as “N”.

§          All data related to ActionItem like route, stage information, subject, current message will be passed among fields of the data class that is associated with the action item.

Divert ActionItem

Whenever a user in the system is not available for some time, all the ActionItem received by him can be diverted to some other user’s Inbox. User can use the call NGOSetDivert to divert ActionItem. User has to pass the user Index for whom to divert ActionItem and the data class index which contains the definition of the ActionItem. User can also specify whether to leave a copy of ActionItem in user’s Inbox whenever an ActionItem is diverted. User can also set Informbymailflag so that whenever any ActionItem is diverted a mail is send to diverted user to intimate him about the ActionItem.

Revert ActionItem

When a Diverted user is again available in the system, all his diverted ActionItem can be deleted or we can say all his ActionItem can be reverted back. User can use the call NGODeleteDivert to revert an ActionItem. To revert an ActionItem user has to specify user index for which to revert the ActionItem and the index of the data class that contains the definition of ActionItem.

Search ActionItem

ActionItem can be search within a cabinet on the basis of Route, stage, Subject, Track number, currently held with which user etc, In OmniDocs ActionItem are document associated with a DataClass, So ActionItem Search can be implemented using the call NGOSearchDocumentExt

 

§          User has to pass DataAlso flag as “Y” as ActionItem properties are also required wit search results

§          User can also search for an ActionItem by providing the ActionItem folder index in LokkInFolder. If user has to search on all ActionItem then user has to pass list of AI Folders separated by “,”. When user call NGOGetDataDefListExt of type “ACT”, with every ActionItem a field named extra is returned which contains the AI Folder of that ActionItem.

§          User has to pass DataDefCriteria in the call where DataDefIndex is the index of data class, which contains ActionItem definition for which search is made.

§          ActionItem search can be made across ActionItem if user searches only on 4 fields, which are, defined as Global Indexes in the system for e.g. Track Number, subject, initiated by, currently held with.

§          While implementing ActionItem search include subfolder is of no significance so user can always send “N” in it.

 

View call NGOSearchDocumentExt

ActionItem Statistics

User can implement a functionality to find out the statistics of ActionItem like from last how many days it is pending after initiation or to find out how may instances of ActionItem have been completed. With the above criteria user can also specify the subject of ActionItem, route of ActionItem or stages of ActionItem and currently it is with which user. When user selects an ActionItem then its stages routes and members of the route can be find out using NGOGetDocumentProperty call. After the user specify all the parameters for ActionItem Statistics. User can use the call NGOSearchDocumentExt.

 

§          User has to pass DataAlso flag as “Y” as ActionItem properties are also required wit search results

§          User can also search for an ActionItem by providing the ActionItem folder index in LokkInFolder. If user has to search on all ActionItem then user has to pass list of AI Folders separated by “,”. When user call NGOGetDataDefListExt of type “ACT”, with every ActionItem a field named extra is returned which contains the AI Folder of that ActionItem.

§          User has to pass Datadefcriteria in the call where DataDefIndex is the index of data class, which contains ActionItem definition for which search is made.

§          ActionItem search can be made across ActionItem if user searches only on 4 fields, which are, defined as Global Indexes in the system for e.g. Track Number, subject, initiated by, currently held with.

§          While implementing ActionItem search include subfolder is of no significance so user can always send “N” in it.

§          After the ActionItem documents are returned user has to perform the calculation between the initiated data and current date to find out the since when ActionItem is pending or how many ActionItem are completed using completion date