12

我正在考虑将基本的 CMS 功能构建到我们的 Web 产品中,并且正在研究版本控制内容的技巧和设计理念。我正在专门寻找今天使用的数据库模式。

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

谢谢

4

3 回答 3

11

文献为此使用了一个 5 维模型:

  • 版本(想要更改)
  • 状态(生命周期:创建、测试、部署、退役)
  • 视图(html、pdf、文件系统、可导出性)
  • 层次结构(页、节、段)
  • 变体(非常相似,描述差异,产品系列)

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

参考资料:

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

本文发表于:IEEE
出版日期: 1996 年 1 月
卷: 84,期数: 1
页数: 42-56
ISSN: 0018-9219引用的
参考文献: 26
代码: IEEPAD
INSPEC 登录号: 5175049
数字对象标识符: 10.1109/5.476025
当前版本发布时间: 2002-08-06

于 2008-11-07T00:35:53.830 回答
2

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

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

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

于 2008-11-06T23:43:49.083 回答
1

我的直觉是,最好的办法是(按最佳顺序):

  1. 一个现成的版本控制系统。一个不错的清单在这里。
  2. 存储差异。这里有什么区别。
  3. 我猜想具有“ContentVersion”表的明显数据库解决方案,其中每个唯一“内容”有多个“版本”。
于 2008-11-06T23:31:25.723 回答