每次我运行buildout来添加产品蛋时,它都会删除部件下的所有东西。
人们如何处理这个问题?
答案 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