Plone 使用卸载配置文件删除自定义属性表

Plone 使用卸载配置文件删除自定义属性表,plone,uninstallation,genericsetup,Plone,Uninstallation,Genericsetup,我将信息存储在我的一个定制产品的定制属性表中(然后在javascript文件中使用该信息)。我希望此产品能够干净地卸载,但我似乎不知道如何使用genericsetup在卸载时删除自定义属性表。我知道remove=“True”不起作用,但是我没有太多的运气找到正确的方法(或者任何方法)来删除这个。如果您有任何建议,我们将不胜感激。至少有两个原因使您感到困惑: 我们都在积极使用。旧样式指的是Extensions/Install.py(Python代码),新样式指的是profiles/default

我将信息存储在我的一个定制产品的定制属性表中(然后在javascript文件中使用该信息)。我希望此产品能够干净地卸载,但我似乎不知道如何使用genericsetup在卸载时删除自定义属性表。我知道
remove=“True”
不起作用,但是我没有太多的运气找到正确的方法(或者任何方法)来删除这个。如果您有任何建议,我们将不胜感激。

至少有两个原因使您感到困惑:

  • 我们都在积极使用。旧样式指的是
    Extensions/Install.py
    (Python代码),新样式指的是
    profiles/default
    (GS XML+setuphandlers.py Python代码)

  • 在所有可能的情况下,成功安装和卸载加载项仍然需要使用新旧样式的技术

如果您不关心卸载,则永远不需要使用
Extensions/Install.py
。如果您确实关心卸载,请使用Installuninstall方法创建一个
Extensions/Install.py
。 同时创建“卸载”配置文件(除了“默认”配置文件之外),例如
profiles/uninstall
。配置
Extensions/Install.py:Install()
方法以在安装时执行“正常”配置文件/默认步骤。现在是“有趣”部分

由于某些技术可以通过GS“正确”卸载,即它们遵守
remove=True
参数,因此您的Extensions/Install.py:uninstall()方法应该执行“正确”的GS配置文件来执行卸载。但是,如果您的加载项使用了无法通过GS“正确”卸载的技术,即不遵守
remove=True
参数的技术,则需要编写Python代码来执行卸载

见:


更多信息。

为什么
remove=“True”
不适合您?另外,请包括版本信息(请参阅Plone控制面板)。可能是因为尚未实现属性的通用设置处理程序(根据)我在Python2.6.7中使用plone 4.0.7,实际上我已经实现了所有这些,我的问题实际上与删除属性表所需的python代码有关,我真的不知道从哪里开始,我想知道是否有人知道学习这些的一些资源。据我所知,与卸载产品相关的所有信息都有上述信息,但除了
remove=“True”
之外,没有任何关于属性的内容不起作用。这是因为属性API与安装/卸载无关(这实际上是一个CMF概念)。尝试使用collective.recipe.omelete或Products.DocFinderTab来发现对象上的方法,例如。