面向模式文档的灵活可插入版本控制系统

zopyx.versioning的Python项目详细描述


zopyx.版本控制

zopyx.versioning是面向架构的通用版本控制系统 内容对象(zope.schema、原型、灵活性等)。

为什么要使用另一个版本控制系统?

在Zope世界中存在的版本化方法是:

条件
  • 广泛使用
  • 非常单一
  • 与CMF的集成过于紧密
  • 脆弱的实现
  • 做得“太多”
  • 以非常不妥协的方式“做得太多”
  • 除了python pickle,没有后端序列化格式
  • 仅基于zodb的后端
  • 后端不可插入

基本概念

  • 黄金法则1:保持简单,保持小巧
  • 可插拔存储API(存储版本化数据)
  • 使用json作为要版本化的对象之间的数据交换格式 和versioner以及versioner和后端存储(存储 可能使用不同的序列化格式(例如,zodb的“pickle 基于后端或“json”的典型nosql后端,如mongodb)
  • 利用zope组件架构采用任意 存储API的内容对象
  • 解决方案不声明存储和还原 内容对象。相反,我们专注于处理元数据和 内容本身。如果对象使用复杂的内部数据模型,则 负责将数据序列化和反序列化为json。
  • 保留复杂的功能(可能处理引用、对象关系 等)超出核心版本控制引擎-这可以通过 实现iversionsupport的适配器。

开口点

  • 应在存储层还是版本控制层上处理重复数据消除 (我假设存储层是一个可选特性,以便保持 整体复杂度低)< /李>
  • 所有可版本化对象都必须提供唯一的id(UIDfor 原型支持内容)。灵巧怎么样?怎么样 基于模式的内容?
  • 如何处理“大”内容。例如,基于MongoDB的后端在默认情况下 嵌入文档的4MB限制(通常足够标准内容,但是 不适用于图像等二进制内容)

作者

佐皮克斯有限公司
转交Andreas Jung 夏洛滕斯特。37/1
D-72070图宾根
德国
www.zopyx.com

更改日志

0.1.0(2010-07-09)

  • 基于MongoDB的版本存储的初始版本

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

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException