Sample remember based custom member implementation
QUICK STEPS TO MAKING YOUR OWN PRODUCT BASED ON sampleremember
See “examples/sampleremember” for the sample remember product.
See “examples/sampleremember/TODO.txt” for suggested list of items that need work.
3/9/07 Tutorial originally created by:
Andrew Burkhalter <firstname.lastname@example.org> Brian Gershon <email@example.com>
HISTORIC ISSUE (only relates to code based on SampleRemember version 1.0)
If you based your code on an earlier version of SampleRemember (v 1.0) you may have an incorrectly registered GenericSetup “Import Step” that is stuck in your site, which might be preventing other GenericSetup profiles from running.
I posted a How-To on plone.org called “GenericSetup: Uninstalling Import Steps” (which also details doing this manually in Clouseau), but if you’re anxious:
Instructions for removing this step are to create an External Method that calls the following code:
from Products.GenericSetup import profile_registry, EXTENSION from Products.CMFPlone.interfaces import IPloneSiteRoot from Products.CMFCore.utils import getToolByName setup = getToolByName(self, 'portal_setup') setup.setImportContext('profile-myproduct:default') ir = setup.getImportStepRegistry() #print ir.listSteps() # for debugging and seeing what steps are available # delete the offending step try: del ir._registered['myproduct-badstep'] except KeyError: pass # commit the changes to the zodb import transaction txn = transaction.get() txn.commit()