基于记忆的自定义成员实现示例
Products.sampleremember的Python项目详细描述
快速安装
- 记忆和膜的设置要求
- 例如最新的五个@http://codespeak.net/z3/five/release/Five-1.4.2.tgz
- 将Member和Membrane产品添加到Zope产品文件夹中
- 添加采样器成员
基于SampleMember制作自己产品的快速步骤
- 搜索并将所有“SampleMember”替换为“产品名称”(案例很重要)
- 搜索并将所有“sampleMember”替换为“name of your product”(案例很重要)
- 重命名名为sampleMember或sampleMember的文件[列出哪些文件]
更多信息:
- 有关教程文档,请参阅“文档/教程”。本教程有些过时,可能不包括
- 所需的所有步骤。“sampleMember”代码是最新的。
有关示例记忆产品,请参见“示例/示例成员”。
请参阅“examples/samplemember/todo.txt”以获取需要工作的项目的建议列表。
历史
2007年3月9日教程最初创建者:
Andrew Burkhalter <andrewb@onenw.org> Brian Gershon <briang@ragingweb.com>
历史问题(仅与基于SampleMember版本1.0的代码有关)
如果您的代码基于早期版本的sampleMember(v 1.0) 您可能有一个错误注册的genericsetup“import step”,它 在您的站点中卡住,这可能会阻止其他常规设置 运行的配置文件。
我在plone.org上发布了一个名为“genericsetup:uninstalling”的操作方法 导入步骤”(其中还详细介绍了在clouseau中手动执行此操作的步骤)。 但如果你担心的话:
- 注意:错误的步骤可以称为“remember useraddr”或
- “SampleMember DefaultMember”或 “您的产品名此处为默认值”。正确的是 “记住useradder”,所以不要删除它。
删除此步骤的说明是创建外部方法 调用以下代码:
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()
更改日志
- [2009年3月23日]修复基于git的发布问题,现在使用 设置工具Git(Hannosch)
- [2009年3月20日]修复不允许SampleMember进入的错误 MemberDataContainer
- [2007年7月30日]门户类型已更改。现在sampleMember.py中的版本 与genericsetup的archetype_tool.xml匹配