内容的CMS版本控制策略

时间:2008-11-06 22:52:43

标签: database-design content-management-system versioning

我正在考虑在我们的网络产品中构建基本的CMS功能,并正在研究版本控制内容的技巧和设计思路。我特意在寻找今天使用的数据库模式。

您使用什么内容版本控制?如果您有需要存储版本的不同类型的内容,哪些模式适用?如何在Stack Overflow上处理问题版本控制?

由于

3 个答案:

答案 0 :(得分:11)

文献使用5维模型:

  • 版本(想要改变)
  • 状态(生命周期:创建,测试,部署,退休)
  • view(html,pdf,file system,derivedability)
  • 层次结构(页面,部分,段落)
  • 变体(大致相似,描述差异,产品系列)

大多数系统只处理其中一些维度。要处理所有这五个,您必须描述(修复)您的开发过程。

参考:

管理设计数据:CAD框架,配置管理和产品数据管理的五个维度。
van den Hamer,P。Lepoeter,K。
飞利浦Res。,埃因霍温;

本文出现在: IEEE会议录 出版日期:1996年1月
卷:84,问题:1 在页面上:42-56
ISSN:0018-9219
引用次数:26
CODEN:IEEPAD
INSPEC保藏号:5175049
数字对象标识符:10.1109 / 5.476025
当前版本发布:2002-08-06

答案 1 :(得分:2)

作为参考,drupal使用以下内容:

node         node_revision
----         -------------
nid*         vid*
vid          nid
...          body
             ...

(节点本质上是主要的内容类型)。所以每个版本都会被记录下来,为了获得最新版本,你可以从节点中获取当前的vid。如果您对可能会添加到node_revision版本中的差异感兴趣。

答案 2 :(得分:1)

我的直觉是,对此最好的是(按照正常顺序):

  1. 现成版本控制系统。 A nice list here.
  2. 存储差异。 What is a diff here.
  3. 我猜这是一个明显的数据库解决方案,它有一个“ContentVersion”表,每个独特的“内容”都有多个“版本”。