Стратегии управления версиями CMS для контента - PullRequest
12 голосов
/ 07 ноября 2008

Я смотрю на встраивание основных функций CMS в наш веб-продукт и изучаю советы и идеи для создания версий контента. Я специально ищу схемы баз данных, которые используются сегодня.

Что вы используете для управления версиями контента? Какие шаблоны применимы, если у вас есть разные типы контента, для которых нужны версии? Как обрабатывается управление версиями вопросов при переполнении стека?

Спасибо

Ответы [ 3 ]

11 голосов
/ 07 ноября 2008

Литература использует 5-мерную модель для этого:

  • версия (желающая изменить)
  • статус (жизненный цикл: создание, тестирование, развертывание, удаление)
  • просмотр (html, pdf, файловая система, вывод)
  • иерархия (страница, раздел, абзац)
  • вариант (в значительной степени похожий, описывающий различия, семейства продуктов)

Большинство систем работают только с некоторыми из этих измерений. Чтобы справиться со всеми пятью, вы должны описать (исправить) процесс разработки.

Ссылка:

Управление данными проектирования: пять измерений CAD-структур, управление конфигурацией и управление данными о продукте.
ван ден Хамер, П. Лепоэтер, К.
Philips Res., Эйндховен;

Этот документ появляется в: Слушаниях IEEE
Дата публикации: январь 1996
Объем: 84, Выпуск: 1
На странице (ах): 42-56
ISSN: 0018-9219
Цитируемые ссылки: 26
КОД: IEEPAD
Инспекционный номер INSPEC: 5175049
Идентификатор цифрового объекта: 10.1109 / 5.476025
Текущая версия Опубликовано: 2002-08-06

2 голосов
/ 07 ноября 2008

просто для справки, drupal использует следующее:

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

(узел по сути является основным типом контента). поэтому каждая ревизия записывается, и для получения последней вы берете текущий vid с узла. если вам интересны различия, это может быть что-то, что можно добавить к вашей версии node_revision.

1 голос
/ 07 ноября 2008

Мой инстинкт инстинкта заключается в том, что лучше всего для этого (в порядке наилучшей):

  1. Готовая система контроля версий. Хороший список здесь.
  2. Хранение различий. Что такое здесь разница?
  3. Полагаю, очевидное решение для базы данных - наличие таблицы «ContentVersion», в которой у вас есть несколько «Версий» на уникальный «Контент».
...