This section reviews the functions of the Publisher channel.
The following flowchart illustrates the Publisher channel’s action when it wakes up.
Figure 3-2 Publisher Channel Configuration
The Publisher channel wakes because the Subscriber channel sends a WorkOrder object. If the SendToPublisher flag is set to True, the work order is written out to the work order container. If the DoItNow flag is set to True, the work order is processed immediately.
The Publisher channel wakes when the polling time has expired and queries the work order container for work orders that are pending and due. The driver processes these work orders. Work orders with delete due dates are deleted.
The Publisher channel queries the work order container for work orders that are pending and due. See Section 3.3.2, How the Publisher Channel Processes Work Orders.
The Publisher channel queries all work orders for expired DeleteDueDates. See Section 3.3.3, How the Publisher Channel Deletes Work Orders.
If the driver heartbeat is configured, the driver wakes to report the driver status.
After the Publisher channel queries the Identity Vault for work orders, it configures the work orders in the driver. The following flowchart illustrates how the Publisher channel processes work orders.
Figure 3-3 How the Publisher Processes Work Orders
Before a work order is processed, the driver checks the DependentWorkOrder attribute to see if the work order is dependent on another work order. If there is a dependent work order, the Publisher channel queries Identity Manager to see the status of the dependent work order. If the dependent work order status is configured, the Publisher channel processes the work order. If not, the work order waits until the next polling loop to see if the dependent work order has been configured.
The Publisher channel performs the work orders that are due, completing the appropriate action based on the attributes of the DirXML-WorkOrder objects.
To process the work order, the driver writes a DirXML-WorkToDo object to the WorkToDo container. The DirXML-nwoContent attribute of the WorkToDo object contains the value of the DirXML-nwoContent attribute of the WorkOrder object. The default configuration does not do anything else with the WorkToDo object. A policy could use the WorkToDo object to process the work order. For example, the content attribute might contain the DN of a user object whose LogOnDisabled flag should be changed from True to False at the due date.
The Publisher channel updates the DirXML-WorkOrder with the results. If the WorkToDo object was processed without an error, the status of the work order will be changed to configured. If an error occurred, then the status is changed to Error. The work order process log is updated to contain the results.
If the WorkOrder object has a repeat interval value, the value is added to the Due Date and the work order status remains pending. This allows for the work order to be repeated as many times as specified in the repeat interval count value, or indefinitely if no repeat interval count value is specified. The process log contains the results.
The Publisher channel now queries the work order container for work orders with an expired DeleteDueDate attribute. If the status of the work order is pending or configured, and the DeleteDueDate has expired, the work order is deleted. The work order is also deleted if it has an error status and the DeleteOnError attribute is set to True. The following flowchart illustrates this process.
Figure 3-4 The DeleteDueDate Process