Стратегии управления версиями CMS для контента
Я смотрю на создание базовой функциональности CMS в нашем веб-продукте и изучаю советы и идеи дизайна для контента для версий. Я специально ищу схемы баз данных, которые используются сегодня.
Что вы используете для управления версиями контента? Какие шаблоны применяются, если у вас есть разные типы содержимого, которым нужны версии? Как обрабатывается вопрос с версией при переполнении стека?
Спасибо
Ответы
Ответ 1
Литература использует для этого 5-мерную модель:
- версия (хочет изменить)
- статус (жизненный цикл: создание, тестирование, развертывание, выход на пенсию)
- view (html, pdf, файловая система, выводимость)
- иерархия (страница, раздел, параграф)
- (в основном похожие, описывающие различия, семейства продуктов)
Большинство систем обрабатывают только некоторые из этих размеров. Чтобы обрабатывать все пять, вы должны описать (исправить) свой процесс разработки.
Ссылка:
Управление данными проектирования: пять измерений каркасов САПР, управление конфигурацией и управление данными о продуктах.
ван ден Хамер, П. Лепотер, К.
Philips Res., Эйндховен;
Эта статья представлена в: Материалы IEEE
Дата публикации: январь 1996 г.
Объем: 84, выпуск: 1
На странице (-ях): 42-56
ISSN: 0018-9219
Список литературы: 26
CODEN: IEEPAD
INSPEC Номер доступа: 5175049
Цифровой идентификатор объекта: 10.1109/5.476025
Текущая версия Опубликовано: 2002-08-06
Ответ 2
как ссылка, drupal использует следующее:
node node_revision
---- -------------
nid* vid*
vid nid
... body
...
(node по существу является основным типом контента). поэтому каждая ревизия записывается, и для получения последней вы выбираете текущий vid
из node. если вы заинтересованы в различиях, которые могут быть добавлены к вашей версии node_revision
.
Ответ 3
Мой инстинкт кишки заключается в том, что для этого лучше всего (в порядке наилучшего):
- Готовая система управления версиями. Приятный список здесь.
- Сохранение различий. Что такое diff здесь.
- Я предполагаю очевидное решение для базы данных с таблицей "ContentVersion", где у вас есть несколько "Версии" для уникального "Контента".