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

jdemendi
30.09.2007 8005c934acce2c79f86460dd8997209cc45e3975
refs
author jdemendi <jdemendi@localhost>
Tuesday, October 30, 2007 14:09 +0100
committer jdemendi <jdemendi@localhost>
Tuesday, October 30, 2007 14:09 +0100
commit8005c934acce2c79f86460dd8997209cc45e3975
tree cbb60a50ab49f7b44c853237303819f417851b32 tree | zip | gz
parent af70ca1b5d4d1b108c0935f87f10452fb54386af 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
opendj-sdk/opends/resource/schema/02-config.ldif 66 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/GlobalConfiguration.xml 34 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/LocalBackendWorkflowElementConfiguration.xml 71 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/NetworkGroupConfiguration.xml 107 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/RootConfiguration.xml 41 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/WorkflowConfiguration.xml 132 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/admin/defn/org/opends/server/admin/std/WorkflowElementConfiguration.xml 111 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/messages/messages/config.properties 20 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/CoreConfigManager.java 20 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java 390 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/NetworkGroup.java 115 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/NetworkGroupConfigManager.java 305 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/RootDseWorkflowTopology.java 6 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/WorkflowConfigManager.java 313 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/WorkflowImpl.java 61 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/core/WorkflowTopologyNode.java 17 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/workflowelement/LeafWorkflowElement.java 27 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/workflowelement/WorkflowElement.java 142 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/workflowelement/WorkflowElementConfigManager.java 448 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendWorkflowElement.java 142 ●●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/admin/ValidateConfigDefinitionsTest.java 4 ●●●● diff | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/core/WorkflowConfigurationTest.java 689 ●●●●● diff | view | raw | blame | history