Как лучше всего хранить историю изменений статей на сайте? - PullRequest
0 голосов
/ 02 ноября 2010

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

Ответы [ 3 ]

1 голос
/ 02 ноября 2010

Не зная слишком много о вашем стеке приложений (фреймворк, язык), у вас есть по крайней мере два основных подхода:

  • Версионные записи - Вместо храненияСтатьи в виде одной строки в базе данных (или один файл в файловой системе) и обновления с изменениями, просто создайте новую запись с указателем на ее предыдущие версии.Если вы на Rails, вы можете проверить этот Railscast о версионности моделей

  • Последовательные различия - Другой подход заключается в том, чтобы сохранитьтекущая копия документа, но ведите историю изменений, внесенных пользователями.Если это простой текстовый документ, эти правки могут быть представлены патчем diff.Википедия "diff" для получения дополнительной информации.

Если вам все еще нужна помощь, расскажите мне больше о ваших настройках / требованиях, и мы можем выяснить это оттуда.

0 голосов
/ 02 ноября 2010

Полагаю, вы используете CMS.Если нет, используйте один.WordPress - хорошее начало.

Если вы разрабатываете с нуля, обычный метод состоит в том, чтобы иметь две таблицы: одну для информации о странице (например, заголовок, положение меню и т. Д.), А затем таблицу page_content,в котором есть столбцы для page_id, content и timestamp.

. При сохранении страницы вместо обновления таблицы базы данных вы вместо этого записываете новую запись в page_content таблица с идентификатором страницы и временем сохранения.Таким образом, при отображении страниц на внешнем интерфейсе вы просто выбираете самую последнюю запись для этого конкретного идентификатора страницы, но у вас также есть история этой страницы, запрашивая все записи по page_id, отсортированному по timestamp.

0 голосов
/ 02 ноября 2010

Существует множество способов сделать это, как вы упомянули с помощью тегов php, .net, python и ruby.Вы пропустили несколько из головы Perl и JSP.У каждого из них есть свои плюсы и минусы, и вопрос в том, что лучше всего соответствует вашим потребностям.PHP, вероятно, самая быстрая награда за потраченное время.Ruby, я предполагаю, что Ruby on Rails - это автоматическое бинго в Buzz Word на весь день..Net, вы все Microsoft везде и хотите легкой интеграции с вашим сервером обмена и хорошим API Outlook?питон?Вам нравятся скриптовые языки, но вы слишком хороши для php и ruby.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...