Синхронизация содержимого тем в Wordpress и Discourse (предложение по улучшению)

В настоящее время комментарии в Discourse и WordPress синхронизированы. Было бы отлично реализовать двустороннюю синхронизацию основного контента, чтобы сообщество Discourse могло редактировать (изменять и значительно дополнять) контент прямо из экземпляра Discourse. Таким образом, сообщество сможет участвовать в улучшении сайта на WordPress (что и является целью сообщества — участие в создании и улучшении контента), а не только штатные редакторы.

Статьи станут лучше, информация — более точной и актуальной, без привлечения дополнительного персонала. Для этого необходимо добавить третью настройку: синхронизация тем между экземплярами.

2 лайка

Привет, Volanar,

Если твой сайт на Discourse будет дублировать твой сайт на WordPress, обязательно ли тебе нужны оба?

Исходя из формулировки их запроса, я вижу их процесс следующим образом:

    flowchart
         WP <--> Post
         Discourse <--> Post
         Community --> Discourse
         Editors --> WP

Хорошо, но в чём же польза наличия двух интерфейсов редактирования для одного и того же контента?

Хотя WordPress может работать с Markdown и иногда это делает, для большинства сайтов это не стандарт. Более того, если поведение системы не изменилось, Markdown при сохранении поста преобразуется в HTML. Также теряются любые специфические стили CSS. В результате хорошо оформленные посты в WordPress теряют часть визуальной точности при просмотре на сайте Discourse.

Если разрешить Discourse перезаписывать содержимое постов WordPress, это серьёзно ограничит многие функции оформления в WordPress. Кроме того, возникают проблемы с версионированием и одновременными изменениями — предположительно, побеждает последняя запись?

Если вы хотите, чтобы редакторы и участники сообщества вносили вклад в создание качественного контента, почему бы не редактировать его в одном и том же месте?

1 лайк

Потому что контроль того, кто что видит и что не может делать, в Discourse осуществляется гораздо эффективнее, тогда как на стороне WordPress могут быть и другие публикации.

Это может быть одной из причин. Я не занимаю чью-либо сторону, будь то хороший, плохой или нейтральный случай.

(По крайней мере, мне) кажется, что они не хотят добавлять всех участников своего сообщества в экземпляр WP:

Хотя вы правы: редактирование с одной стороны, скорее всего, лучше, чем редактирование с обеих сторон.

Привет, @volanar, я понимаю, чего вы пытаетесь достичь.

Это не станет частью плагина WP Discourse в обозримом будущем. Отчасти потому, что этот плагин сосредоточен на синхронизации комментариев WordPress, а не контента записей WordPress, и отчасти потому, что создание двусторонней синхронизации в плагине WP Discourse сопряжено с проблемами, которые сложно решить в рамках архитектуры этого плагина и его взаимодействия с Discourse. @Stephen уже упоминал некоторые из этих проблем. Есть и другие.

Тем не менее, возможно, вы сможете достичь своей цели, используя плагин WordPress ActivityPub и плагин Discourse ActivityPub. В теории их комбинация может реализовать то, что вы хотите, то есть двустороннюю синхронизацию контента (записей WordPress и записей Discourse).

Однако есть два важных предостережения. Функции двусторонней синхронизации плагина Discourse ActivityPub ещё не объединены в основную ветку плагина (соответствующий PR сейчас находится на рассмотрении), и я никогда не тестировал этот плагин в связке с плагином WordPress ActivityPub. Тем не менее, то, что вы предлагаете, потенциально возможно при объединении этих двух решений.

Действительно, описанный вами сценарий — именно то, для чего был разработан протокол ActivityPub. Почему это более реализуемо в этом контексте, чем в контексте WP Discourse? Причин много, и я не буду вдаваться в детали здесь, но достаточно сказать: если это ваша цель, то именно этот путь вам стоит рассмотреть.

Потому что WordPress поддерживает WPML, и контент переводится на несколько языков. WPML удобен для отслеживания изменений в контенте. Далее WP публикует контент на блог и в мобильном приложении. То есть WP может использоваться как headless CMS.
Основная тема будет создаваться в WP, но сообщество сможет вносить исправления и дополнения в контент. Это техническая информация, и эстетическая составляющая здесь не важна, поэтому по умолчанию в WP можно установить плагин Markdown для единого формата контента. В идеале лучше использовать Ghost, Strapi, Squidex или другую платформу, но это потребует затрат и подойдёт не всем. Решение должно быть универсальным для всех.

Я придумал хороший вариант. В конце темы укажите ссылку на редактирование на фронтенде в WordPress. Таким образом, пользователи смогут самостоятельно редактировать контент, а модератор сможет принимать или отклонять изменения.

1 лайк