Re: custommember based on sample remember
gives KeyError: "Category set 'CustomMember_membrane_workflow_states' does
not exist"
from
Rob Miller
on Jul 14, 2008 01:53 PM
David Bain wrote:
> I'm working with a Custom member based on sampleremember
> (http://svn.plone.org/svn/collective/Products.remember/trunk/Products/remember/examples/sampleremember/
> )
>
> It was created basically using search and replace based on sampleremember
> When I try to install it via the portal_setup > import
>
> I get the following traceback
>
> .../plone/portal_setup/manage_importAllSteps
> Traceback (innermost last):
> Module ZPublisher.Publish, line 119, in publish
> Module ZPublisher.mapply, line 88, in mapply
> Module ZPublisher.Publish, line 42, in call_object
> Module Products.GenericSetup.tool, line 526, in manage_importAllSteps
> Module Products.GenericSetup.tool, line 322, in runAllImportStepsFromProfile
> - __traceback_info__: profile-Products.CustomMember:default
> Module Products.GenericSetup.tool, line 1028, in _runImportStepsFromContext
> Module Products.GenericSetup.tool, line 987, in _doRunImportStep
> - __traceback_info__: membranetool
> Module Products.membrane.exportimport.membranetool, line 157, in
> importMembraneTool
> Module Products.GenericSetup.utils, line 786, in importObjects
> - __traceback_info__: membrane_tool
> Module Products.GenericSetup.utils, line 542, in _importBody
> Module Products.remember.exportimport.membranetool, line 23, in _importNode
> Module Products.membrane.exportimport.membranetool, line 48, in _importNode
> Module Products.membrane.exportimport.membranetool, line 117, in
> _initMembraneTypes
> Module Products.membrane.factories.categorymapper, line 93, in
> replaceCategoryValues
> Module Products.membrane.factories.categorymapper, line 36, in _getCatSet
> KeyError: "Category set 'CustomMember_membrane_workflow_states' does not exist"
> http://svn.plone.org/svn/collective/Products.remember/trunk/Products/remember/examples/sampleremember/profiles/default/membrane_tool.xml
>
> I found an interesting work around:
> changing my profile's membrane_tool.xml from this:
>
> <?xml version="1.0"?>
> <object name="membrane_tool" meta_type="MembraneTool">
> <membrane-type name="SampleRemember">
> <active-workflow-state name="public" />
> <active-workflow-state name="private" />
> </membrane-type>
> </object>
>
> To this:
>
> <?xml version="1.0"?>
> <object name="membrane_tool" meta_type="MembraneTool">
> <membrane-type name="SampleRemember">
> <!-- <active-workflow-state name="public" />
> <active-workflow-state name="private" />
> -->
> </membrane-type>
> </object>
>
> got rid of the error.
hrm. it seems weird to me that this worked. not sure why that is.
> Based on the traceback, and my investigation, there seems to be an
> issue with membrane's category mapper, I haven't dug deep enough to be
> sure, but I figure someone more familiar might know what's going in.
the issue is that you've created a new type, but you haven't defined which
workflow states are active for your custom type.
> For the moment, I'll map active member states manually TTW.
you should instead modify your GS profile so that the member states for your
type are being specified:
<?xml version="1.0"?>
<object name="membrane_tool" meta_type="MembraneTool">
<membrane-type name="CustomMember">
<active-workflow-state name="public" />
<active-workflow-state name="private" />
</membrane-type>
</object>
note the different membrane-type setting.
-r