de671204a509339b3e4f02cbaef15a617931e997 3388 |
|
30-Oct-2007 |
jdemendi |
s set of files provides the workflow configuration manual mode.
Until now, the workflows were automatically configured-a wokflow
was created for each base DN in the backends. When new suffixes
were added or when a backend was added, the associated workflows
were also created (and simillarly workflows were deleted as suffixes
or backends were removed).
With the manual mode, each and every workflow in the server must
be defined explicitely in the configuration. By default, the server is
running in automatic configuration mode. To have a server running
with manual configuration mode one must set the attribute in
cn=config:
dn: cn=config
...
ds-cfg-workflow-configuration-mode: auto|manual
No attribute means "auto" mode.
The workflow configuration consist of 3 parts:
- the configuration of workfow elements
- the configuration of workfows
- the configuration of network groups
The Workflow Elements - A workflow element is a basic task in a
workflow. The workflow elements are organized in trees and the
simplest tree is made of one element. For example, the workflow
element that wraps a local backend is configured as follow:
dn: ds-cfg-workflow-element-id=userRoot,cn=workflow elements,cn=config
objectClass: top
objectClass: ds-cfg-workflow-element
objectClass: ds-cfg-local-backend-workflow-element
ds-cfg-workflow-element-id: userRoot
ds-cfg-enabled: true
ds-cfg-java-class: org.opends.server.workflowelement.localbackend.LocalBackendWorkflowElement
ds-cfg-backend: ds-cfg-backend-id=userRoot,cn=Backends,cn=config
From an admin standpoint, the local backend workflow element
is an aggregation of a single backend (attribute ds-cfg-backend).
So we cannot disable/delete a backend as long as it is used by a
local backend workflow element.
The Workflows - A workflow is a chain of processing and it's
targeting all the entries under a given baseDN. The processing
is actually identified by the root node of the task tree described
above. The configuration of a workflow looks like:
dn: ds-cfg-workflow-id=userRoot,cn=workflows,cn=config
objectClass: top
objectClass: ds-cfg-workflow
ds-cfg-workflow-id: userRoot
ds-cfg-enabled: true
ds-cfg-workflow-element: ds-cfg-workflow-element-id=userRoot,cn=workflow elements,cn=config
ds-cfg-base-dn: dc=example,dc=com
From an admin standpoint, the local workflow is an aggregation
of a single elements (attribute ds-cfg-workflow-element).
So we cannot disable/delete a workflow element as long as it is used
by a local workflow.
The Network Groups - A network group defines categories for
client connection. The network group contains a set of workflows
and each client operation is routed to one (or more) workflow(s).
By default, the server create a default network group which contains
all the workflows defined in the server. The default network group
looks like:
dn: ds-cfg-id=defaultNetworkGroup2,cn=network groups,cn=config
objectClass: top
objectClass: ds-cfg-network-group
ds-cfg-id: defaultNetworkGroup2
ds-cfg-enabled: true
ds-cfg-workflow: ds-cfg-workflow-id=adminRoot,cn=Workflows,cn=config
ds-cfg-workflow: ds-cfg-workflow-id=ads-truststore,cn=Workflows,cn=config
ds-cfg-workflow: ds-cfg-workflow-id=backup,cn=Workflows,cn=config
ds-cfg-workflow: ds-cfg-workflow-id=config,cn=Workflows,cn=config
ds-cfg-workflow: ds-cfg-workflow-id=monitor,cn=Workflows,cn=config
ds-cfg-workflow: ds-cfg-workflow-id=schema,cn=Workflows,cn=config
ds-cfg-workflow: ds-cfg-workflow-id=tasks,cn=Workflows,cn=config
ds-cfg-workflow: ds-cfg-workflow-id=userRoot,cn=Workflows,cn=config
From an admin standpoint, the network group is an aggregation
of several workflows (attribute ds-cfg-workflow). So we cannot
disable/delete a workflow as long as it is used by a network group.
A unit test named WorkflowConfigurationTest tests the configuration
of network groups, workflows and workflow elements. |