Как отслеживать изменения в тексте?

Здравствуйте!

Есть текст на 8000 знаков.
Пользователь может его отредактировать. И таких пользователей может быть до миллиона :-)

Как отслеживать изменения, добавления в тексте?
Как показать другому пользователю, какие изменения произошли с текстом? И он обязательно должен с этими изменениями ознакомиться. Т.е. просто сравнивать дату изменения текста с датой чтения не пройдет, т.к. за один заход пользователь может и не просмотреть полностью все изменения.

Хранить в базе каждого пользователя последний текст целиком и сравнивать его с конечным - не выход. База будет неприлично большого размера.
Ваши идеи? Все, кроме системы Git!

Спасибо!
  • Вопрос задан
  • 398 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Вы изобретаете собственную систему управления версиями? Ознакомьтесь с существующими решениями, возможно что-то из них вам подойдет.
(Подсказка: кроме git есть и другие).

Для истории можно хранить диффы.

8к знаков - это не так уж много. К примеру 1000 копий будут весить 8 мегабайт. Это по три правки в день в течении года, например. А если текст сжать, то он займет в разы меньше.

Или посмотрите на движок wiki, там тоже есть история изменений и множество пользователей.

Также, можно разбить текст на главы (да хоть на абзацы) и вести историю отдельно по каждому фрагменту. Тогда объем изменений еще уменьшится.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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