Время от времени я нахожу веб приложения, которые имеют своего рода историю / версию статьи, где вы можете выбрать предыдущую версию статьи / контента и, в основном, выполнить процесс «восстановления». Я планирую иметь такой, но у меня в голове есть несколько вещей, и я хотел бы узнать ваше мнение.
1) Должно ли автосохранение добавить новую запись в список истории? Я хотел бы реализовать функцию автосохранения, поэтому мне интересно, следует ли каждому автосохранению добавлять новую запись в список истории версий? Или я должен иметь отдельный «список» (= только последние автосохранения) для автосохраненных статей? Я думаю, что лестница имеет больше смысла. В случае сбоя браузера (или wtvr) пользователь может восстановить автосохранение. Список истории предназначен для тех статей, которые он сохранил, нажав кнопку отправки. Согласитесь?
2) Сколько версий? Если пользователь продолжает изменять статью (скажем, он продолжает добавлять новые абзацы), а затем сохраняет статью, сколько разных версий статьи должно быть в максимуме? Должен ли я позволить пользователю решать (что было моей первоначальной мыслью)? Что обычно является разумной ценностью? 10? Версировать плохо, когда дело доходит до дискового хранилища? Если каждая статья имеет 10 версий, это в основном в 10 раз больше места для всего содержимого статьи ... теперь представьте, что у вас есть 1 МБ содержимого статьи, это будет 10 МБ для всей БД, а некоторые хосты имеют ограничения в размере БД. Это приводит к вопросу 3:
3) Вы когда-нибудь удаляли версии? Если версии статей оставались нетронутыми достаточно долго, удалите ли вы их? Если да, какую продолжительность вы установите? Пользователь определен? Является ли одна неделя достаточным значением по умолчанию? Если время не показатель, то что? И если время является индикатором, то запускаете ли вы Crons для чистки или как?
4) Как определить «изменение»? Если пользователь добавит одну точку в конец статьи и нажмет кнопку «Сохранить», я все еще буду создавать новую запись в истории? Как вы справляетесь с этим? Вы просто сравниваете, изменилась ли статья, и если да, то создаете новую запись?
Я знаю множество вопросов, но если у вас есть какие-то мнения или мысли, я рад их услышать. :)