@Agony6331

Как делается система статьи с версиями на примере сайта 'Википедии' и тому подобных?

Меня интересует техническая часть в теории, как такое реализовать ?
Пока я представляю это себе так:

1. Создаю таблицу с именем статьи и столбиками:
a. ID-статьи;
b. Название статьи;
c. Версию статьи;

2. Создаю еще одну таблицу и id таблицы привязываю к id-статьи из первой таблицы.
a. ID-статьи;
b. Имя автора статьи;
c. Версия статьи;
d. дата публикация статьи;
etc.

Ну и смотрю если версия изменилась заменяю на более новую, а как быть с теми кто поправляет? Получается постоянно новые строки в бд создавать, тогда id переназначается ?

Дайте ссылку если есть статьи на эту тему.
А так же как профессиональные разработчики решают эту задачу ?
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Достаточно одной таблицы:
ID, Заголовок, Контент, Автор/Владелец, Редактор, Создано, Изменено, Версия, Родительская версия, URL, Тип ("Черновик" или "Опубликовано")

При сохранении новой версии статьи (при создании или исправлении) - создаётся новая запись.
Поле URL - можно исправлять только ДО ПУБЛИКАЦИИ ПЕРВОГО черновика. Потом - оно недоступно к редактированию и не выводится.
Поле "Тип" - выводится всегда, но может иметь состояние "Опубликовано" только для ОДНОЙ конкретной версии статьи. Именно она и будет выводиться на паблик.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы