How can I compare arbitrary revisions of a post?

Сегодня я сам столкнулся с этой проблемой, читая длинную тему базы знаний на нашем внутреннем форуме. Мы также активно используем Discourse Policy, и каждый член команды должен подтвердить, что ознакомился с изменениями в темах политики базы знаний и принял их, когда увеличивается номер версии политики. Функция «Политика» очень удобна!

К сожалению, как указал автор оригинального поста ещё в 2018 году, похоже, что нет способа сравнить конкретные версии темы. Это означает, что если между версиями политики было несколько правок, вам приходится прокручивать весь документ для каждой версии, чтобы сравнить изменения с соседними.

Исторически сложившаяся функциональность работала отлично, потому что темы почти полностью посвящены обсуждениям, и редактирование постов не нужно или даже нежелательно поощрять — хотя для модерации всё же требуется история правок. Однако за годы мы добавили функции, чтобы сделать темы подходящими для совместного создания базы знаний документации. Это включает возможность превращать первый пост в вики-страницу, DiscoTOC — автоматическое оглавление, Discourse-docs: плагин управления документацией, Discourse Shared Edits, и, конечно же, политику.

Поэтому я выступаю за улучшение интерфейса для сравнения и управления версиями.

Вот как это выглядит сейчас: вы можете сравнить предыдущую версию (слева) с следующей более новой версией (справа). Навигация по версиям в нижнем левом углу позволяет переключаться на предыдущую/следующую версию или перейти к первой или последней версии.

Очевидное место для поиска существующих решений — Википедия, так как с ней знакомы люди, редактирующие вики-страницы. Страница Help:Page history - Wikipedia содержит видео, демонстрирующее всю систему версий Википедии, которая невероятно мощная, запутанная и одновременно ошеломляющая. Я мог бы представить, что реализация подобного функционала стала бы интересным проектом для тех, кто хочет внести вклад, особенно для сайтов, которые сильно полагаются на вики-темы и где приоритетом является версионирование. Неужели это может быть плагин?

Для ядра системы более простое улучшение для решения проблемы автора оригинального поста — реализовать страницу «Разница между версиями» — см. скриншот ниже. Она довольно похожа на Discourse. Обратите внимание, что навигация находится в заголовке и позволяет независимо перемещаться по левой и правой сторонам для сравнения разных версий. Кроме того, отображаются точное время и дата версии, тогда как в Discourse вам нужно навести курсор, чтобы увидеть точное время и дату.

1 лайк