同步plone实例之间的内容

collective.synchro的Python项目详细描述


同步内容的工具beetwen plone instance

如何安装?

o在plone3中,转到portal_quickinstaller并安装collective.synchro

o在plone2.5中,转到portal_设置,在properties中选择collective synchro as 活动配置并在导入中单击导入所有步骤

它是怎么工作的?

这个工具通过插件导入内容。默认情况下有三个插件:fss、zexp和delete 您可以为您的用例添加和编写新的插件(请参见plugin.txt)

它将导出的数据存储在文件系统中,以便在 另一个实例(或多个实例)。外部程序必须将数据复制到导入队列。 这个egg为ssh传输提供了一个脚本。 添加buildout(buildout的示例可在collective/synchro/buildout目录中找到)此部分配置脚本:

[synchro]
recipe = zc.recipe.egg
eggs =
   collective.synchro

extra-paths=
   ${instance:location}
   ${zope2:location}/lib/python

这将在构建三个脚本的容器中创建:

o bin/create_queue -d PATH, –directory=PATH , create a queue structure

o bin/synchronize_queue -s SOURCE -d DEST , synchronize queue by ssh (via ssh key) (-h for other options)

o bin/import_queue -p PATH , import data from queue (-h for other options)

重要的是,导入队列必须与zeoclient实例一起运行:

>>> bin/instance run bin/import_queue ...

同步是由zope3事件系统触发的。有一个泛型方法 所有事件调用:collective.synchro.events.synchro。

插件是按事件选择的(objectmodified和objectremovedevent的插件列表不同)。 此注册表由同步工具管理

导入的本地化是通过查询一个多适配器来完成的,该适配器决定了内容的位置 重新进口。您可以通过zca更改导入内容的本地化。

队列的结构如下:

./IMPORT
./IMPORT/TO_PROCESS -> all files in order to process
./IMPORT/DONE -> file that are synchronized with an EXPORT queue
./IMPORT/ERROR -> data in error
./IMPORT/PROCESSING -> files are synchronizing with an EXPORT queue
./EXPORT
./EXPORT/TO_PROCESS -> files that are scheduled to export
./EXPORT/DONE -> files that are imported in the instance
./EXPORT/ERROR -> files in error
./EXPORT/PROCESSING -> files are importing from queue

如何配置导出?

转到ZMI,在“门户同步配置”中:

o queues : filesystem path (create if don't exits, one queue for one instance)

o expressions : a tal expression that must be true to synchronized content

兼容性

此包装在PLONE2.5和PLONE3.1中进行测试

待办事项

o interface to register/unregister plugins in zmi

o callback for imported content

更改日志

1.0.2-符合plone2.5.2

  • 用5个1.4.2对plone2.5.2进行测试
  • 导入后重新索引对象
  • 修复五个1.4.2的fss导入

1.0.1-初始值

  • 将脚本添加到synchronized并导入内容
  • 修复delete plugin中的错误(请参阅export.txt)

1.0.0-未发布

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java正在寻找Java8中的内置函数以忽略异常   javascript JQuery更改Div的颜色   java PostgreSQL使用JDBC写入inet列   java为什么体重指数计算结果不正确?   java禁用linux中的log4j控制台日志记录   java我可以让我的JMS主题在新订阅者连接时通知发布者(使用ActiveMQ)   基于三个浮点输入的java过滤器JTable?   Java OpenGL/LWJGL体素纹理   在SpringBoot java应用程序中,有没有一种方法可以通过不同的机器使用hostIP作为主机远程连接到redis服务器   java Struts 2 s:提交按钮语法以在映射中设置值   java源代码:setDomainEnv。windows 7中的cmd文件   缺少货币计算java的返回语句   JavaHibernate没有注意到从其他源进行的数据库更新   无法在OpenCV/Java中生成负矩阵   Java不做循环   java无法使用类对象写入文件ArrayList   jpa使用数组作为调用Java的存储过程的输入   java使用文件提供程序检索内容Uri失败   需要java程序来创建方法模板