我有一个 Plone 4 站点,它停止重命名新的 Archetypes 对象;在创建(类似于/temp/portaltype.2015-04-23.1234567890
)并保存第一个更改(包括给它一个标题)之后,它应该被重命名为更好的东西(/temp/an-object-with-a-meaningful-name
),但这不会再发生了。
当我应用一些更改将 Plone 从 4.3.3 更新到 4.3.4 (一次迈出一步)时,可能会出现问题;但我继承了一个 long versions.cfg
,它仅按包名称排序,不包括任何选择某些版本的提示......
我可以回去两个月并拥有一个可以重命名的版本,但是如果没有更多关于要查找什么的知识,重新应用每一个更改、重建、启动和测试将是一个非常耗时的过程; 但我的架构定义没有任何变化。我有一个temp
浏览器参与提供主要编辑表单。但这似乎不是储蓄行动的情况。
遗憾的是,我还没有完全理解base_edit
应该 - 据我所知 - 调用Archetypes.BaseObject.processForm
和隐式调用的动作机制._renameAfterCreation
,所以我会感谢一些如何调试它的指针。谢谢!
更新:
我的产品中有一些触发器configure.zcml
,例如:
<subscriber
for=".content.portaltype.PortalType
Products.Archetypes.interfaces.IObjectInitializedEvent"
handler=".events.onInitPortalType"/>
... 与,在events.py
:
def onInitPortalType(self, event):
"""
Called after first edit of new objects?
"""
print '/// onInitPortalType(%(self)r, %(event)r)' % locals()
setInitialOwner(self, event)
setStateToPrivate(self, event)
instance fg
但是,该事件似乎没有被触发,因为我在会话中找不到输出。
更新 2:
我注意到它zope.event
已被固定到一个相当旧的版本 ( 3.5.2
),所以我现在正在尝试更认真地更新到 4.3.4 (遵循这个操作方法)。这让我得到了zope.event
v4.0.3,但我现在有版本冲突:
There is a version conflict.
We already have: zc.recipe.egg 1.3.2.
While:
Installing.
Getting section test.
Initializing section test.
Installing recipe zc.recipe.testrunner.
似乎对zc.recipe.egg < 2dev
某个地方有要求,但我找不到。