DCWorkflow does not export/import managed groups
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Zope CMF buildout |
New
|
Undecided
|
Unassigned |
Bug Description
DCWorkflow's workflows can manage groups for which it can associate local roles for each state. These are stored in the groups property of a workflow. This field is neither exported nor imported in exportimport.py. The XML format supports <group-map> and <group-role> tags but no <group> tag that corresponds to the <permission> tag.
The testcases use the local role mapping but make the tests magically work by manually assigning "dcworkflow.groups = _WF_GROUPS" before parsing the XML, so the test cases cheat in order to not fail.
Steps to reproduce (via the ZMI):
1. Create a workflow with at least one state.
2. Add managed groups via the groups tab of the workflow.
3. Assign a group-role mapping via the groups tab of the state.
4. Export workflows via GenericSetup.
5. Delete the created workflow.
6. Reimport the workflows via GenericSetup.
Result:
The workspace is missing its managed groups property and subsequently also its group-role mappings for its states.
Expected behaviour:
groups and group-maps are correctly exported and imported.
My diagnosis:
Simply adding the groups to the *workflow*'s groups tab make the group-role mappings in the *state*'s groups tab appear correctly. The group-role mapping is thus exported correctly, just the workflow's groups property is missing. Adding a <group> tag just like the <permission> tag should solve the problem.
Local system information:
CMF 2.2.6
Zope 2.13.15
Python 2.7.3 (default, Aug 10 2012, 05:25:45) [GCC 4.6.3]