mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

jdemendi
30.09.2007 403b6a83e7d68de2b5159c3421b8d91d704566bb
refs
author jdemendi <jdemendi@localhost>
Tuesday, October 30, 2007 14:09 +0100
committer jdemendi <jdemendi@localhost>
Tuesday, October 30, 2007 14:09 +0100
commit403b6a83e7d68de2b5159c3421b8d91d704566bb
tree cea5ab6ecde8b7c78dcd9caeade6fbafecadf30b tree | zip | gz
parent 7d89dbd2392161a8d236f9bf4e4cb092fe44c1ce view | diff
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.

8 files added
14 files modified
3261 ■■■■■ changed files
opends/resource/schema/02-config.ldif 66 ●●●●● diff | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/GlobalConfiguration.xml 34 ●●●●● diff | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/LocalBackendWorkflowElementConfiguration.xml 71 ●●●●● diff | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/NetworkGroupConfiguration.xml 107 ●●●●● diff | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/RootConfiguration.xml 41 ●●●●● diff | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/WorkflowConfiguration.xml 132 ●●●●● diff | view | raw | blame | history
opends/src/admin/defn/org/opends/server/admin/std/WorkflowElementConfiguration.xml 111 ●●●●● diff | view | raw | blame | history
opends/src/messages/messages/config.properties 20 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/CoreConfigManager.java 20 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/DirectoryServer.java 390 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/NetworkGroup.java 115 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/NetworkGroupConfigManager.java 305 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/RootDseWorkflowTopology.java 6 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/WorkflowConfigManager.java 313 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/WorkflowImpl.java 61 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/core/WorkflowTopologyNode.java 17 ●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/workflowelement/LeafWorkflowElement.java 27 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/workflowelement/WorkflowElement.java 142 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/workflowelement/WorkflowElementConfigManager.java 448 ●●●●● diff | view | raw | blame | history
opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendWorkflowElement.java 142 ●●●●● diff | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ValidateConfigDefinitionsTest.java 4 ●●●● diff | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/core/WorkflowConfigurationTest.java 689 ●●●●● diff | view | raw | blame | history