Index

DKWorkFlowServiceDL

Purpose:

The DKWorkFlowServiceDL class is derived from its base clase, dkWorkFlowService. The DKWorkFlowServiceDL class is the concrete implementation of the dkWorkFlowService class for the workflow service provided in Content Manager.

Class summary:

    class DKWorkFlowServiceDL: public dkWorkFlowService
    {
   public:
     ...
     ...
     DKWorkFlowServiceDL(DKDatastoreDL * ds);
     ~DKWorkFlowServiceDL();
 
     dkBoolean isConnected();
     dkHandle* connection();
 
     void startWorkFlowItem(const char * itemID,
                            const char * itemIDWF,
                            const char * itemIDWB,
                            dkBoolean overload,
                            long initial_priority);
     void changeWorkFlowItem(const char * itemID,
                             const char * itemIDWF);
     void removeWorkFlowItem(const char * itemID);
     void completeWorkFlowItem(const char * itemID);
     void routeWipItem(const char * itemID,
                       const char * itemIDWB,
                       dkBoolean overload,
                       long priority);
 
     dkString getNextWorkBasketID(const char * itemID);
     dkWorkBasketDL * getNextWorkBasket(const char * itemID);
     long getWorkBasketItemPriority(const char * itemID);
     void setWorkBasketItemPriority(const char * itemID,
                                    long priority);
     dkCollection * listWorkFlowIDs();
     dkCollection * listWorkFlows();
     dkCollection * listWorkBasketIDs();
     dkCollection * listWorkBaskets();
 
     long itemIDType(const char * itemID);
     DKWorkManagementInfoDL * workManagementInfo(const char * itemID);
    };    

Members:

Constructors and destructor
The DKWorkFlowServiceDL constructor requires one parameter: a pointer to a Content Manager datastore requesting workflow service.
     DKWorkFlowServiceDL(DKDatastoreDL * ds);
     ~DKWorkFlowServiceDL();
 

Member functions

isConnected
Returns the status of the connection after attempting to connect to the Content Manager datastore that is providing workflow service.
     dkBoolean isConnected();
 

connection
Returns the connection handle to the Content Manager datastore that is providing workflow service.
     dkHandle* connection();
 

startWorkFlowItem
Starts either a document or a folder in a workflow. This function assigns the item either to the specified workbasket, or to the first workbasket of the workflow. After an item is placed in a workflow, a history log becomes associated with that item. This log tracks all activity for the item during the workflow.

Parameters

itemID
The item ID of the document or folder that you want to start in a workflow.

itemIDWF
The item ID of a workflow.

itemIDWB
The item ID of a workbasket or a NULL for the first workbasket in the workflow.

overload
A flag indicating the action to take if adding the item would overload the workbasket. When this flag is set to TRUE, the item will be added even if the workflow will be overloaded as a result of the addition. If the flag is set to FALSE, the item will not be added if the addition would overload the workflow.

initial_priority
the priority of the item within the workbasket. The valid values are:

DK_DL_WIP_DEFAULT_PRIORITY
Uses the default priority of the index class for the item.

DK_DL_NO_PRIORITY_CHANGE
Uses the current priority of the item.

A priority number between 0 and 31 999
The numerical value that equates to the priority. Larger numbers equal higher priority.

        void startWorkFlowItem(const char * itemID,
                               const char * itemIDWF,
                               const char * itemIDWB,
                               dkBoolean overload,
                               long initial_priority);
 

changeWorkFlowItem
Changes the workflow of an item that is currently being processed. This function removes the item from its current workflow and places it into the specified workflow.

Parameters

itemID
The item ID of a document or folder that is currently being processed.

itemIDWF
The item ID of the workflow into which you want to move an item.

        void changeWorkFlowItem(const char * itemID,
                                const char * itemIDWF);
 

removeWorkFlowItem
Removes the item from its workflow; however, the item stays in its workbasket.
       void removeWorkFlowItem(const char * itemID);
 

completeWorkFlowItem
Removes the item from its workflow and sets the item's status to indicate workflow completion.
        void completeWorkFlowItem(const char * itemID);
 

routeWipItem
Moves the specified item from its current workbasket into the workbasket that you specify.

Parameters

itemID
The item ID of a document or folder.

itemIDWB
The item ID of a workbasket.

overload
A flag indicating the action to take if adding the item would overload the workbasket. When this flag is set to TRUE, the item will be added even if the workflow will be overloaded as a result of the addition. If the flag is set to FALSE, the item will not be added if the addition would overload the workflow.

priority
the priority to assign to the item moving into a workbasket. The valid values are:

A priority value between 0 and 31 999
The numerical value that equates to the priority. Larger numbers equal higher priority.

DK_DL_NO_PRIORITY_CHANGE
Use the current priority of the item.

        void routeWipItem(const char * itemID,
                          const char * itemIDWB,
                          dkBoolean overload,
                          long priority);
 

getNextWorkBasketID
Returns the item ID of the next workbasket in the workflow of the specified item.
     dkString getNextWorkBasketID(const char * itemID);
 

getNextWorkBasket
Returns the next workbasket in the workflow of the specified item.
    dkWorkBasketDL * getNextWorkBasket(const char * itemID);
 

getWorkBasketItemPriority
Returns the priority of the specified item.
        long getWorkBasketItemPriority(const char * itemID);
 

setWorkBasketItemPriority
Changes the assigned priority of an item. You can assign any number between 0 and 31 999 as the priority value. Larger numbers equal higher priority.
        void setWorkBasketItemPriority(const char * itemID,
                                       long priority);
 

listWorkFlowIDs
Returns a collection of DKString objects containing the item ID of every workflow defined in the system.
     dkCollection * listWorkFlowIDs();
 

listWorkFlows
Returns a collection of DKWorkFlowDL objects defined in the system.

     dkCollection * listWorkFlows();
 

listWorkBasketIDs
Returns a collection of DKString objects containing the item ID of every workbasket defined in the system.
     dkCollection * listWorkBasketIDs();
 

listWorkBaskets
Returns a collection of DKWorkBasketDL objects that are defined in the system.
     dkCollection * listWorkBaskets();
 

itemIDType
Returns a number indicating the type of an item ID. The following values are the item ID types that the function can return:
  • DK_DL_DOCUMENT
  • DK_DL_FOLDER
  • DK_DL_WORKBASKET
  • DK_DL_WORKFLOW
  • DK_DL_UNKNOWN_ITEM_TYPE

        long itemIDType(const char * itemID);
 

workManagementInfo
Returns a DKWorkManagementInfoDL object describing the work management information of the specified document or folder item. For detailed information about the DKWorkManagementInfoDL class, please refer to DKWorkManagementInfoDL.
     DKWorkManagementInfoDL * workManagementInfo(const char * itemID);
 

(c) Copyright International Business Machines Corporation 1996, 2003. IBM Corp. All rights reserved.