[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 Checkins mailing list