Docflow. Design-Time Features

Topics in this chapter explain, how to design a document workflow system using the Xafari Docflow module. The Xafari BCDemo application is used in the explanation.

The preparatory phase includes the following steps:

  • Add XafariDocflowModule to the Module Project.
  • Add XafariDocflowWebModule to the Web Application Project.
  • Add XafariDocflowWinModule to the Windows Forms Application Project.
  • Register the required Domain Components. The following code demonstrates this:
  • c#
  • VB

public override void Setup(XafApplication application)
{
  base.Setup(application);
  //...
  XafariWorkflowModule.RegisterDC();
  XafTypesInfo.Instance.RegisterSharedPart(typeof(DCWorkflowParticipant));
  XafTypesInfo.Instance.RegisterSharedPart(typeof(DCWorkflowGroupParticipant));
  XafariDocflowModule.RegisterDocflowObjects();
  //...
}

Public Overrides Sub Setup(ByVal application As XafApplication)
  MyBase.Setup(application)
  '...
  XafariWorkflowModule.RegisterDC()
  XafTypesInfo.Instance.RegisterSharedPart(GetType(DCWorkflowParticipant))
  XafTypesInfo.Instance.RegisterSharedPart(GetType(DCWorkflowGroupParticipant))
  XafariDocflowModule.RegisterDocflowObjects()
  '...
End Sub

  • Define and register the Domain Component that will implement the IDocflowSupport interface. It will represent the document object supporting the design and execution of the Schema. In the Xafari BC Demo application, it is the Xafari.BCDemo.BusinessObjects.DocflowDocument business class.

Use the Xafari|Docflow node of the Application Model to design the Docflow Schema.

docflow_21

The Docflow node is comprised of three nodes:

  • Documents: the Documents node provides access to the Schemas collection. To create a new Schema, add it to this node.
  • Participants: the Participants node provides access to the tasks executors collection.
  • SchemasRepository: the SchemasRepository node is intended to store frequently used task sequences.

To learn more about Xafari|Docflow node components, refer to the following topics: