为什么buildout每次运行时都会删除我的实例/ etc和Extensions文件夹?

时间:2012-03-03 10:12:14

标签: plone buildout

每次我运行buildout来添加产品蛋时,它都会删除部件下的所有东西。

人们如何处理这个问题?

3 个答案:

答案 0 :(得分:12)

更新:要仅向实例注册一个新蛋,您可以使用buildout的install-command仅构建这样的特定部分:

buildout install instance

“为什么buildout每次运行时都会删除我的实例/ etc和Extensions文件夹?”

- >因为这就是buildout的用途:自动构建部件,在buildout-configuration-file中定义它的方式。 我猜,不删除以前的目录和文件很容易导致冲突和错误。任何人都可以确认吗?

“人们如何应对这种情况?”

- >通过不在部件目录中放任何东西;)不严重,不建议这样做。

您的具体用例是什么?

答案 1 :(得分:4)

您可以将zope.conf的自定义直接放在buildout中。此外,在Plone 4 Extensions中不再创建,你可以把它放在其他地方。

例如,这样:http://plone.org/products/products.migrateexternalmethods会将您现有的外部方法移动到一个鸡蛋,因此您可以将它们放在svn中并像管理代码一样管理它们。

答案 2 :(得分:4)

正如已经指出的那样,您不应该直接在“parts”目录中放置任何自定义项。你需要把它放在其他地方。

这些天通常不需要扩展方法,但如果你想使用它们,你有几个选择:

选项1 在您自己的产品中创建Extensions文件夹。将您的模块放在“my.product / my / product / Extensions / mymodule.py”并在ZMI中将其引用为“my.product.mymodule”

选项2 使用plone.recipe.zope2instance中的“zope-conf-additional”参数为Extensions文件夹添加另一个位置,如下所示:

[instance]
recipe = plone.recipe.zope2instance
...
zope-conf-additional = extensions ${buildout:directory}/Extensions