[CMF-checkins] SVN: CMF_Extras/trunk/CMFCollector/ Added a
GenericSetup extension profile for installing the collector
Tres Seaver
tseaver at palladion.com
Sat Mar 24 22:20:25 EDT 2007
Log message for revision 73523:
Added a GenericSetup extension profile for installing the collector
o Includes types, skin, and workflow.
Changed:
U CMF_Extras/trunk/CMFCollector/CHANGES.txt
U CMF_Extras/trunk/CMFCollector/__init__.py
A CMF_Extras/trunk/CMFCollector/profiles/
A CMF_Extras/trunk/CMFCollector/profiles/collector/
A CMF_Extras/trunk/CMFCollector/profiles/collector/skins.xml
A CMF_Extras/trunk/CMFCollector/profiles/collector/types/
A CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector.xml
A CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Catalog.xml
A CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue.xml
A CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue_Transcript.xml
A CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Subset.xml
A CMF_Extras/trunk/CMFCollector/profiles/collector/types.xml
A CMF_Extras/trunk/CMFCollector/profiles/collector/workflows/
A CMF_Extras/trunk/CMFCollector/profiles/collector/workflows/collector_issue_workflow/
A CMF_Extras/trunk/CMFCollector/profiles/collector/workflows/collector_issue_workflow/definition.xml
A CMF_Extras/trunk/CMFCollector/profiles/collector/workflows.xml
-=-
Modified: CMF_Extras/trunk/CMFCollector/CHANGES.txt
===================================================================
--- CMF_Extras/trunk/CMFCollector/CHANGES.txt 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/CHANGES.txt 2007-03-25 02:20:23 UTC (rev 73523)
@@ -4,6 +4,9 @@
Features
+ - Added a GenericSetup extension profile for installing the
+ colletor types, skin, and workflow.
+
- Moved the workflow configuration and installation to the Install
method, and removed now unnecessary .zexp
Modified: CMF_Extras/trunk/CMFCollector/__init__.py
===================================================================
--- CMF_Extras/trunk/CMFCollector/__init__.py 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/__init__.py 2007-03-25 02:20:23 UTC (rev 73523)
@@ -12,79 +12,69 @@
##############################################################################
import sys
-from Products.CMFCore import utils
-from Products.CMFCore.DirectoryView import registerDirectory
-from Products.CMFDefault import Portal
+this_module = sys.modules[ __name__ ]
+collector_globals = globals()
-import Collector
-import CollectorIssue
-import WebTextDocument
-import CollectorSubset
-from permissions import View
-from permissions import AddPortalContent
-from permissions import AddCollectorIssue
-from permissions import EditCollectorIssue
-from permissions import AddCollectorIssueFollowup
+def initialize(context):
+ from Products.CMFCore.interfaces import ISiteRoot
+ from Products.CMFCore.DirectoryView import registerDirectory
+ from Products.GenericSetup import EXTENSION
+ from Products.GenericSetup import profile_registry
-# register workflow factory
-import workflow
-del workflow
+ import Collector
+ import CollectorIssue
+ import WebTextDocument
+ import CollectorSubset
+ from permissions import View
+ from permissions import AddPortalContent
+ from permissions import AddCollectorIssue
+ from permissions import EditCollectorIssue
+ from permissions import AddCollectorIssueFollowup
-this_module = sys.modules[ __name__ ]
+ factory_type_information = (
+ (Collector.factory_type_information
+ + CollectorIssue.factory_type_information
+ + Collector.catalog_factory_type_information
+ + CollectorSubset.factory_type_information
-factory_type_information = (
- (Collector.factory_type_information
- + CollectorIssue.factory_type_information
- + Collector.catalog_factory_type_information
- + CollectorSubset.factory_type_information
-
- + ({'id': 'Collector Issue Transcript',
- # 'content_icon': 'event_icon.gif',
- 'meta_type': 'WebText Document',
- 'description': ('A transcript of issue activity, including comments,'
- ' state changes, and so forth.'),
- 'product': 'CMFCollector',
- 'factory': None, # So not included in 'New' add form
- 'allowed_content_types': None,
- 'immediate_view': 'collector_transcript_view',
- 'actions': (
- { 'id': 'view',
- 'name': 'View',
- 'action': 'string:${object_url}/../',
- 'permissions': (View,) },
- { 'id': 'addcomment',
- 'name': 'Add Comment',
- 'action':
- 'string:${object_url}/collector_transcript_comment_form',
- 'permissions':
- (AddCollectorIssueFollowup,) },
- { 'id': 'edittranscript',
- 'name': 'Edit Transcript',
- 'action':
- 'string:${object_url}/collector_transcript_edit_form',
- 'permissions': (EditCollectorIssue,) },
- ),
- },
+ + ({'id': 'Collector Issue Transcript',
+ # 'content_icon': 'event_icon.gif',
+ 'meta_type': 'WebText Document',
+ 'description': (
+ 'A transcript of issue activity, including comments,'
+ ' state changes, and so forth.'),
+ 'product': 'CMFCollector',
+ 'factory': None, # So not included in 'New' add form
+ 'allowed_content_types': None,
+ 'immediate_view': 'collector_transcript_view',
+ 'actions': (
+ { 'id': 'view',
+ 'name': 'View',
+ 'action': 'string:${object_url}/../',
+ 'permissions': (View,) },
+ { 'id': 'addcomment',
+ 'name': 'Add Comment',
+ 'action':
+ 'string:${object_url}/collector_transcript_comment_form',
+ 'permissions':
+ (AddCollectorIssueFollowup,) },
+ { 'id': 'edittranscript',
+ 'name': 'Edit Transcript',
+ 'action':
+ 'string:${object_url}/collector_transcript_edit_form',
+ 'permissions': (EditCollectorIssue,) },
+ ),
+ },
+ )
)
- )
- )
+ )
-contentClasses = (Collector.Collector, CollectorIssue.CollectorIssue,
- Collector.CollectorCatalog, CollectorSubset.CollectorSubset)
-contentConstructors = (Collector.addCollector,
- CollectorIssue.addCollectorIssue,
- CollectorSubset.addCollectorSubset)
-z_bases = utils.initializeBasesPhase1(contentClasses, this_module)
-# This is used by a script (external method) that can be run
-# to set up collector in an existing CMF Site instance.
-collector_globals = globals()
+ contentClasses = (Collector.Collector, CollectorIssue.CollectorIssue,
+ Collector.CollectorCatalog, CollectorSubset.CollectorSubset)
+ contentConstructors = (Collector.addCollector,
+ CollectorIssue.addCollectorIssue,
+ CollectorSubset.addCollectorSubset)
-# Make the skins available as DirectoryViews
-registerDirectory('skins', globals())
-registerDirectory('skins/collector', globals())
-
-def initialize(context):
- utils.initializeBasesPhase2(z_bases, context)
context.registerHelp(directory='help')
context.registerHelpTitle('CMF Collector Help')
@@ -99,3 +89,14 @@
context.registerClass(CollectorSubset.CollectorSubset,
constructors = (CollectorSubset.addCollectorSubset,),
permission = AddPortalContent)
+
+ registerDirectory('skins', globals())
+ registerDirectory('skins/collector', globals())
+
+ profile_registry.registerProfile('CMFCollector',
+ 'CMF Collector',
+ 'Types, skins, workflow for collector.',
+ 'profiles/collector',
+ 'CMFCollector',
+ EXTENSION,
+ for_=ISiteRoot)
Added: CMF_Extras/trunk/CMFCollector/profiles/collector/skins.xml
===================================================================
--- CMF_Extras/trunk/CMFCollector/profiles/collector/skins.xml 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/profiles/collector/skins.xml 2007-03-25 02:20:23 UTC (rev 73523)
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<object name="portal_skins" meta_type="CMF Skins Tool">
+ <object name="collector" meta_type="Filesystem Directory View"
+ directory="CMFCollector/skins/collector"/>
+ <skin-path name="*">
+ <layer name="collector" insert-before="zpt_content"/>
+ </skin-path>
+</object>
Property changes on: CMF_Extras/trunk/CMFCollector/profiles/collector/skins.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector.xml
===================================================================
--- CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector.xml 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector.xml 2007-03-25 02:20:23 UTC (rev 73523)
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<object name="Collector" meta_type="Factory-based Type Information"
+ xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title"></property>
+ <property
+ name="description">A Collector is a facility for tracking bug reports and other issues.</property>
+ <property name="content_icon">collector_icon.gif</property>
+ <property name="content_meta_type">CMF Collector</property>
+ <property name="product">CMFCollector</property>
+ <property name="factory">addCollector</property>
+ <property name="immediate_view">collector_edit_form</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types">
+ <element value="CollectorIssue"/>
+ <element value="CollectorCatalog"/>
+ <element value="Collector Subset"/>
+ </property>
+ <property name="allow_discussion">False</property>
+ <alias from="(Default)" to="collector_contents"/>
+ <alias from="view" to="collector_contents"/>
+ <action title="Browse" action_id="view" category="object" condition_expr=""
+ url_expr="string:${object_url}/collector_contents" visible="True">
+ <permission value="View"/>
+ </action>
+ <action title="New Issue" action_id="addissue" category="object"
+ condition_expr="" url_expr="string:${object_url}/collector_add_issue_form"
+ visible="True">
+ <permission value="Add collector issue"/>
+ </action>
+ <action title="Configure" action_id="edit" category="object"
+ condition_expr="" url_expr="string:${object_url}/collector_edit_form"
+ visible="True">
+ <permission value="Add portal collector"/>
+ </action>
+ <action title="Folder contents" action_id="folderContents" category="object"
+ condition_expr="" url_expr="string:${object_url}/folder_contents"
+ visible="True">
+ <permission value="List folder contents"/>
+ </action>
+ <action title="New..." action_id="new" category="object" condition_expr=""
+ url_expr="string:${object_url}/folder_factories" visible="False">
+ <permission value="Add portal content"/>
+ </action>
+ <action title="Rename items" action_id="rename_items" category="object"
+ condition_expr="" url_expr="string:${object_url}/folder_rename_form"
+ visible="False">
+ <permission value="Add portal content"/>
+ </action>
+</object>
Property changes on: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Catalog.xml
===================================================================
--- CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Catalog.xml 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Catalog.xml 2007-03-25 02:20:23 UTC (rev 73523)
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<object name="Collector Catalog" meta_type="Factory-based Type Information"
+ xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title"></property>
+ <property name="description">Internal catalog.</property>
+ <property name="content_icon">collector_icon.gif</property>
+ <property name="content_meta_type">CMF Collector Catalog</property>
+ <property name="product">CMFCollector</property>
+ <property name="factory">None</property>
+ <property name="immediate_view">None</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <alias from="(Default)" to="(Default)"/>
+ <alias from="view" to="(Default)"/>
+</object>
Property changes on: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Catalog.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue.xml
===================================================================
--- CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue.xml 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue.xml 2007-03-25 02:20:23 UTC (rev 73523)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<object name="Collector Issue" meta_type="Factory-based Type Information"
+ xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title"></property>
+ <property
+ name="description">A Collector Issue represents a bug report or other support request.</property>
+ <property name="content_icon">collector_issue_icon.gif</property>
+ <property name="content_meta_type">CMF Collector Issue</property>
+ <property name="product">CMFCollector</property>
+ <property name="factory">None</property>
+ <property name="immediate_view">collector_edit_form</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types">
+ <element value="Collector Issue Transcript"/>
+ <element value="File"/>
+ <element value="Image"/>
+ </property>
+ <property name="allow_discussion">False</property>
+ <alias from="(Default)" to="collector_issue_contents"/>
+ <alias from="view" to="collector_issue_contents"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+ url_expr="string:${object_url}/collector_issue_contents" visible="True">
+ <permission value="View"/>
+ </action>
+ <action title="Followup" action_id="followup" category="object"
+ condition_expr=""
+ url_expr="string:${object_url}/collector_issue_followup_form"
+ visible="True">
+ <permission value="Add collector issue comment"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+ url_expr="string:${object_url}/collector_issue_edit_form" visible="True">
+ <permission value="Edit collector issue"/>
+ </action>
+ <action title="Browse" action_id="browse" category="object" condition_expr=""
+ url_expr="string:${object_url}/collector_issue_up" visible="True">
+ <permission value="View"/>
+ </action>
+ <action title="New" action_id="addIssue" category="object" condition_expr=""
+ url_expr="string:${object_url}/collector_issue_add_issue" visible="True">
+ <permission value="View"/>
+ </action>
+</object>
Property changes on: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue_Transcript.xml
===================================================================
--- CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue_Transcript.xml 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue_Transcript.xml 2007-03-25 02:20:23 UTC (rev 73523)
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<object name="Collector Issue Transcript"
+ meta_type="Factory-based Type Information"
+ xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title"></property>
+ <property
+ name="description">A transcript of issue activity, including comments, state changes, and so forth.</property>
+ <property name="content_icon"></property>
+ <property name="content_meta_type">WebText Document</property>
+ <property name="product">CMFCollector</property>
+ <property name="factory">None</property>
+ <property name="immediate_view">collector_transcript_view</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types">None</property>
+ <property name="allow_discussion">False</property>
+ <alias from="(Default)" to="../"/>
+ <alias from="view" to="../"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+ url_expr="string:${object_url}/../" visible="True">
+ <permission value="View"/>
+ </action>
+ <action title="Add Comment" action_id="addcomment" category="object"
+ condition_expr=""
+ url_expr="string:${object_url}/collector_transcript_comment_form"
+ visible="True">
+ <permission value="Add collector issue comment"/>
+ </action>
+ <action title="Edit Transcript" action_id="edittranscript" category="object"
+ condition_expr=""
+ url_expr="string:${object_url}/collector_transcript_edit_form"
+ visible="True">
+ <permission value="Edit collector issue"/>
+ </action>
+</object>
Property changes on: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Issue_Transcript.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Subset.xml
===================================================================
--- CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Subset.xml 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Subset.xml 2007-03-25 02:20:23 UTC (rev 73523)
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<object name="Collector Subset" meta_type="Factory-based Type Information"
+ xmlns:i18n="http://xml.zope.org/namespaces/i18n">
+ <property name="title"></property>
+ <property
+ name="description">A Collector Subset represents a view on a subset of the issues in a collector.</property>
+ <property name="content_icon">collector_icon.gif</property>
+ <property name="content_meta_type">CMF Collector Issue</property>
+ <property name="product">CMFCollector</property>
+ <property name="factory">addCollectorSubset</property>
+ <property name="immediate_view">subset_edit_form</property>
+ <property name="global_allow">True</property>
+ <property name="filter_content_types">True</property>
+ <property name="allowed_content_types"/>
+ <property name="allow_discussion">False</property>
+ <alias from="(Default)" to="subset_view"/>
+ <alias from="view" to="subset_view"/>
+ <action title="View" action_id="view" category="object" condition_expr=""
+ url_expr="string:${object_url}/subset_view" visible="True">
+ <permission value="View"/>
+ </action>
+ <action title="Edit" action_id="edit" category="object" condition_expr=""
+ url_expr="string:${object_url}/subset_edit_form" visible="True">
+ <permission value="Modify portal content"/>
+ </action>
+ <action title="Metadata" action_id="metadata" category="object"
+ condition_expr="" url_expr="string:${object_url}/metadata_edit_form"
+ visible="True">
+ <permission value="Modify portal content"/>
+ </action>
+</object>
Property changes on: CMF_Extras/trunk/CMFCollector/profiles/collector/types/Collector_Subset.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: CMF_Extras/trunk/CMFCollector/profiles/collector/types.xml
===================================================================
--- CMF_Extras/trunk/CMFCollector/profiles/collector/types.xml 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/profiles/collector/types.xml 2007-03-25 02:20:23 UTC (rev 73523)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<object name="portal_types" meta_type="CMF Types Tool">
+ <object name="Collector" meta_type="Factory-based Type Information"/>
+ <object name="Collector Catalog" meta_type="Factory-based Type Information"/>
+ <object name="Collector Issue" meta_type="Factory-based Type Information"/>
+ <object name="Collector Issue Transcript"
+ meta_type="Factory-based Type Information"/>
+ <object name="Collector Subset" meta_type="Factory-based Type Information"/>
+</object>
Property changes on: CMF_Extras/trunk/CMFCollector/profiles/collector/types.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: CMF_Extras/trunk/CMFCollector/profiles/collector/workflows/collector_issue_workflow/definition.xml
===================================================================
--- CMF_Extras/trunk/CMFCollector/profiles/collector/workflows/collector_issue_workflow/definition.xml 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/profiles/collector/workflows/collector_issue_workflow/definition.xml 2007-03-25 02:20:23 UTC (rev 73523)
@@ -0,0 +1,606 @@
+<?xml version="1.0"?>
+<dc-workflow workflow_id="collector_issue_workflow"
+ title="Collector issue workflow"
+ state_variable="state" initial_state="New">
+ <permission>Access contents information</permission>
+ <permission>View</permission>
+ <permission>Edit collector issue</permission>
+ <permission>Add collector issue artifact</permission>
+ <permission>Support collector issue</permission>
+ <state state_id="Accepted" title="">
+ <exit-transition transition_id="abandoned"/>
+ <exit-transition transition_id="accept"/>
+ <exit-transition transition_id="assign"/>
+ <exit-transition transition_id="defer"/>
+ <exit-transition transition_id="reject"/>
+ <exit-transition transition_id="resign"/>
+ <exit-transition transition_id="resolve"/>
+ <exit-transition transition_id="restrict_accepted"/>
+ <exit-transition transition_id="test"/>
+ <exit-transition transition_id="wontfix"/>
+ <permission-map name="Access contents information"
+ acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="View" acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ </state>
+ <state state_id="Accepted_confidential" title="">
+ <exit-transition transition_id="abandoned_confidential"/>
+ <exit-transition transition_id="accept_confidential"/>
+ <exit-transition transition_id="assign_confidential"/>
+ <exit-transition transition_id="reject"/>
+ <exit-transition transition_id="resign"/>
+ <exit-transition transition_id="resolve"/>
+ <exit-transition transition_id="test_confidential"/>
+ <exit-transition transition_id="unrestrict_accepted"/>
+ <exit-transition transition_id="wontfix"/>
+ <permission-map name="Access contents information"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="View" acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ </state>
+ <state state_id="Deferred" title="">
+ <exit-transition transition_id="accept"/>
+ <exit-transition transition_id="accept_confidential"/>
+ <exit-transition transition_id="assign"/>
+ <exit-transition transition_id="assign_confidential"/>
+ <exit-transition transition_id="reject"/>
+ <exit-transition transition_id="resolve"/>
+ <exit-transition transition_id="resubmit"/>
+ <exit-transition transition_id="wontfix"/>
+ <permission-map name="Access contents information"
+ acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="View" acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ </state>
+ <state state_id="New" title="">
+ <exit-transition transition_id="new_issue"/>
+ <exit-transition transition_id="new_issue_confidential"/>
+ <exit-transition transition_id="request"/>
+ <permission-map name="Access contents information"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="True">
+ </permission-map>
+ <permission-map name="View" acquired="True">
+ </permission-map>
+ </state>
+ <state state_id="Pending" title="">
+ <exit-transition transition_id="accept"/>
+ <exit-transition transition_id="assign"/>
+ <exit-transition transition_id="defer"/>
+ <exit-transition transition_id="reject"/>
+ <exit-transition transition_id="request"/>
+ <exit-transition transition_id="resolve"/>
+ <exit-transition transition_id="restrict_pending"/>
+ <exit-transition transition_id="staffed"/>
+ <exit-transition transition_id="test"/>
+ <exit-transition transition_id="wontfix"/>
+ <permission-map name="Access contents information"
+ acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="View" acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ </state>
+ <state state_id="Pending_confidential" title="">
+ <exit-transition transition_id="accept_confidential"/>
+ <exit-transition transition_id="assign_confidential"/>
+ <exit-transition transition_id="reject"/>
+ <exit-transition transition_id="request"/>
+ <exit-transition transition_id="resolve"/>
+ <exit-transition transition_id="staffed_confidential"/>
+ <exit-transition transition_id="test_confidential"/>
+ <exit-transition transition_id="unrestrict_pending"/>
+ <exit-transition transition_id="wontfix"/>
+ <permission-map name="Access contents information"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="View" acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ </state>
+ <state state_id="Rejected" title="">
+ <exit-transition transition_id="accept"/>
+ <exit-transition transition_id="accept_confidential"/>
+ <exit-transition transition_id="assign"/>
+ <exit-transition transition_id="defer"/>
+ <exit-transition transition_id="resolve"/>
+ <exit-transition transition_id="resubmit"/>
+ <exit-transition transition_id="wontfix"/>
+ <permission-map name="Access contents information"
+ acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="View" acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ </state>
+ <state state_id="Resolved" title="">
+ <exit-transition transition_id="accept"/>
+ <exit-transition transition_id="assign"/>
+ <exit-transition transition_id="reject"/>
+ <exit-transition transition_id="resign"/>
+ <exit-transition transition_id="resubmit"/>
+ <permission-map name="Access contents information"
+ acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Owner</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="False">
+ <permission-role>Manager</permission-role>
+ <permission-role>Reviewer</permission-role>
+ </permission-map>
+ <permission-map name="View" acquired="True">
+ <permission-role>Anonymous</permission-role>
+ </permission-map>
+ </state>
+ <state state_id="Testing" title="">
+ <exit-transition transition_id="assign"/>
+ <exit-transition transition_id="reject-test"/>
+ <exit-transition transition_id="resolve"/>
+ <permission-map name="Access contents information"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="True">
+ </permission-map>
+ <permission-map name="View" acquired="True">
+ </permission-map>
+ </state>
+ <state state_id="Testing_confidential" title="">
+ <exit-transition transition_id="assign_confidential"/>
+ <exit-transition transition_id="reject-test_confidential"/>
+ <exit-transition transition_id="resolve"/>
+ <permission-map name="Access contents information"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="True">
+ </permission-map>
+ <permission-map name="View" acquired="True">
+ </permission-map>
+ </state>
+ <state state_id="Wontfix" title="">
+ <exit-transition transition_id="accept"/>
+ <exit-transition transition_id="accept_confidential"/>
+ <exit-transition transition_id="assign"/>
+ <exit-transition transition_id="defer"/>
+ <exit-transition transition_id="resolve"/>
+ <exit-transition transition_id="resubmit"/>
+ <permission-map name="Access contents information"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Add collector issue artifact"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Edit collector issue"
+ acquired="True">
+ </permission-map>
+ <permission-map name="Support collector issue"
+ acquired="True">
+ </permission-map>
+ <permission-map name="View" acquired="True">
+ </permission-map>
+ </state>
+ <transition transition_id="abandoned"
+ title="Revert to pending if no supporters"
+ new_state="Pending" trigger="AUTOMATIC"
+ before_script="" after_script="">
+
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ <guard-expression>python: not status['confidential'] and not here.assigned_to()</guard-expression>
+ </guard>
+ </transition>
+ <transition transition_id="abandoned_confidential"
+ title="Revert to (pending) if no supporters"
+ new_state="Pending_confidential"
+ trigger="AUTOMATIC" before_script=""
+ after_script="">
+
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ <guard-expression>python: status['confidential'] and not here.assigned_to()</guard-expression>
+ </guard>
+ </transition>
+ <transition transition_id="accept" title=""
+ new_state="Accepted" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">accept</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ <guard-expression>python: not status['confidential'] and not here.is_assigned()</guard-expression>
+ </guard>
+ <assignment name="assigned_to">python: here.assigned_to() + (state_change.kwargs['username'],)</assignment>
+ </transition>
+ <transition transition_id="accept_confidential" title=""
+ new_state="Accepted_confidential"
+ trigger="USER" before_script=""
+ after_script="">
+ <action url="" category="issue_workflow">accept_confidential</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ <guard-expression>python: status['confidential'] and not here.is_assigned()</guard-expression>
+ </guard>
+ <assignment name="assigned_to">python: here.assigned_to() + (state_change.kwargs['username'],)</assignment>
+ </transition>
+ <transition transition_id="assign" title=""
+ new_state="Accepted" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">assign</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ <guard-expression>not: status/confidential</guard-expression>
+ </guard>
+ <assignment name="assigned_to">python: tuple(state_change.kwargs['assignees'])</assignment>
+ </transition>
+ <transition transition_id="assign_confidential" title=""
+ new_state="Accepted_confidential"
+ trigger="USER" before_script=""
+ after_script="">
+ <action url="" category="issue_workflow">assign_confidential</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ <guard-expression>status/confidential</guard-expression>
+ </guard>
+ <assignment name="assigned_to">python: tuple(state_change.kwargs['assignees'])</assignment>
+ </transition>
+ <transition transition_id="defer" title=""
+ new_state="Deferred" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">defer</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ <guard-expression>not: status/confidential</guard-expression>
+ </guard>
+ </transition>
+ <transition transition_id="new_issue"
+ title="Situate new non-security-related issues"
+ new_state="Pending" trigger="AUTOMATIC"
+ before_script="" after_script="">
+
+ <guard>
+ <guard-expression>not: here/security_related</guard-expression>
+ </guard>
+ <assignment name="requested">python: 0</assignment>
+ <assignment name="confidential">python: 0</assignment>
+ </transition>
+ <transition transition_id="new_issue_confidential"
+ title="Situate new security-related issues"
+ new_state="Pending_confidential"
+ trigger="AUTOMATIC" before_script=""
+ after_script="">
+
+ <guard>
+ <guard-expression>here/security_related</guard-expression>
+ </guard>
+ <assignment name="requested">python: 0</assignment>
+ <assignment name="confidential">python: 1</assignment>
+ </transition>
+ <transition transition_id="reject" title=""
+ new_state="Rejected" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">reject</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="confidential">python: 0</assignment>
+ </transition>
+ <transition transition_id="reject-test" title=""
+ new_state="Accepted" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">reject-test</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="assigned_to">python: tuple(state_change.kwargs['assignees'])</assignment>
+ </transition>
+ <transition transition_id="reject-test_confidential"
+ title="" new_state="Accepted_confidential"
+ trigger="USER" before_script="" after_script="">
+ <action url="" category="issue_workflow">reject-test_confidential</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="assigned_to">python: tuple(state_change.kwargs['assignees'])</assignment>
+ </transition>
+ <transition transition_id="request" title="" new_state=""
+ trigger="USER" before_script=""
+ after_script="">
+ <action url="" category="issue_workflow">Request</action>
+ <guard>
+ <guard-expression>python: not (status.has_key('requested') and status['requested'])</guard-expression>
+ </guard>
+ <assignment name="requested">python: 1</assignment>
+ <assignment name="assigned_to">python: tuple(state_change.kwargs['assignees']) </assignment>
+ </transition>
+ <transition transition_id="resign" title="" new_state=""
+ trigger="USER" before_script=""
+ after_script="">
+ <action url="" category="issue_workflow">resign</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ <guard-expression>here/is_assigned</guard-expression>
+ </guard>
+ <assignment name="assigned_to">python: tuple([ assignee for assignee in here.assigned_to() if assignee != state_change.kwargs['username'] ])</assignment>
+ </transition>
+ <transition transition_id="resolve" title=""
+ new_state="Resolved" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">resolve</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="confidential">python: 0</assignment>
+ </transition>
+ <transition transition_id="restrict_accepted"
+ title="Make confidential"
+ new_state="Accepted_confidential"
+ trigger="USER" before_script=""
+ after_script="">
+ <action url="" category="issue_workflow">restrict_accepted</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="confidential">python: 1</assignment>
+ </transition>
+ <transition transition_id="restrict_pending"
+ title="Make confidential"
+ new_state="Pending_confidential" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">restrict_pending</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="confidential">python: 1</assignment>
+ </transition>
+ <transition transition_id="resubmit" title=""
+ new_state="New" trigger="USER" before_script=""
+ after_script="">
+ <action url="" category="issue_workflow">resubmit</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ </transition>
+ <transition transition_id="staffed"
+ title="Pending issue with staff becomes accepted"
+ new_state="Accepted" trigger="AUTOMATIC"
+ before_script="" after_script="">
+
+ <guard>
+ <guard-expression>python: not status['confidential'] and status['assigned_to']</guard-expression>
+ </guard>
+ </transition>
+ <transition transition_id="staffed_confidential"
+ title="(Pending) issue with staff becomes (accepted)"
+ new_state="Accepted_confidential"
+ trigger="AUTOMATIC" before_script=""
+ after_script="">
+
+ <guard>
+ <guard-expression>python: status['confidential'] and status['assigned_to']</guard-expression>
+ </guard>
+ </transition>
+ <transition transition_id="test" title=""
+ new_state="Testing" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">test</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="assigned_to">python: tuple(state_change.kwargs['assignees'])</assignment>
+ </transition>
+ <transition transition_id="test_confidential"
+ title="Assign to client for testing"
+ new_state="Testing_confidential" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">test_confidential</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="assigned_to">python: tuple(state_change.kwargs['assignees'])</assignment>
+ </transition>
+ <transition transition_id="unrestrict_accepted" title=""
+ new_state="Accepted" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">unrestrict_accepted</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="confidential">python: 0</assignment>
+ </transition>
+ <transition transition_id="unrestrict_pending" title=""
+ new_state="Pending" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">unrestrict_pending</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="confidential">python: 0</assignment>
+ </transition>
+ <transition transition_id="wontfix"
+ title="Assert that the issue won't be fixed"
+ new_state="Wontfix" trigger="USER"
+ before_script="" after_script="">
+ <action url="" category="issue_workflow">wontfix</action>
+ <guard>
+ <guard-permission>Support collector issue</guard-permission>
+ </guard>
+ <assignment name="confidential">python: 0</assignment>
+ </transition>
+ <variable variable_id="assigned_to" for_catalog="True"
+ for_status="True" update_always="False">
+ <description>Supporters assigned to the issue</description>
+ <default>
+
+
+ </default>
+ <guard>
+ </guard>
+ </variable>
+ <variable variable_id="confidential" for_catalog="True"
+ for_status="True" update_always="False">
+ <description>Retain security_related issues loss of confidentiality on completion</description>
+ <default>
+
+
+ </default>
+ <guard>
+ </guard>
+ </variable>
+ <variable variable_id="requested" for_catalog="True"
+ for_status="True" update_always="False">
+ <description>initial request has been done</description>
+ <default>
+
+
+ </default>
+ <guard>
+ </guard>
+ </variable>
+</dc-workflow>
Property changes on: CMF_Extras/trunk/CMFCollector/profiles/collector/workflows/collector_issue_workflow/definition.xml
___________________________________________________________________
Name: svn:eol-style
+ native
Added: CMF_Extras/trunk/CMFCollector/profiles/collector/workflows.xml
===================================================================
--- CMF_Extras/trunk/CMFCollector/profiles/collector/workflows.xml 2007-03-24 23:51:08 UTC (rev 73522)
+++ CMF_Extras/trunk/CMFCollector/profiles/collector/workflows.xml 2007-03-25 02:20:23 UTC (rev 73523)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<object name="portal_workflow" meta_type="CMF Workflow Tool">
+ <object name="collector_issue_workflow" meta_type="Workflow"/>
+ <bindings>
+ <type type_id="Collector Issue">
+ <bound-workflow workflow_id="collector_issue_workflow"/>
+ </type>
+ </bindings>
+</object>
Property changes on: CMF_Extras/trunk/CMFCollector/profiles/collector/workflows.xml
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the CMF-checkins
mailing list