Укажите версии плагина для минимальной и максимальной версии Discourse

Существует два основных класса плагинов и тем для TC:

  • Официальные
  • От сторонних разработчиков

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

Плагины от сторонних разработчиков

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

На практике имеет смысл поддерживать совместимость только с двумя версиями:

  • последней стабильной (stable)
  • последней, прошедшей все тесты (tests-passed)

Вы уже можете использовать систему привязки версий (Pinning plugin and theme versions for older Discourse installs (.discourse-compatibility)), чтобы зафиксировать версию для stable. Было бы неплохо каким-то образом явно отображать эту информацию, чтобы показать совместимость, но отсутствие привязки не означает, что плагин не совместим.

Совместимость с последней версией может отображаться зелёной галочкой от CI на GitHub.

Это зависит от двух вещей:

  • тщательной настройки CI (в идеале на основе стандарта плагинов Discourse)
  • очень высокого покрытия тестами

Последнее — большая просьба к сторонним майнтейнерам, работающим бесплатно.

Для неофициальных плагинов ваш запрос на новую функцию сводится к адекватному финансированию плагинов от сторонних разработчиков.

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

Единственная причина, по которой мои плагины всё ещё работают, заключается в следующем:

  1. Я сам их использую.
  2. Это способ поддерживать репутацию в экосистеме.

Это ценно для меня, но имеет свои пределы.

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

Другие исключения:

  • плагины, используемые крупными хостинг-провайдерами, такими как Communiteq — возможно, у них есть своё мнение, но даже они вынуждены фокусироваться на том, что хотят большинство клиентов, и у них тоже есть ограничения по ресурсам.
  • плагины Custom Wizard и Events, к которым привязана система подписки — здесь тоже можно узнать мнение Энгуса о том, куда это всё движется.

Резюме

Поскольку вы действительно можете полагаться только на совместимость официальных плагинов (и, возможно, нескольких дополнительных от очень активных разработчиков, таких как я или Communiteq), я предлагаю просто сосредоточиться на использовании плагинов из категории official. Для них, на мой взгляд, ваш запрос на новую функцию излишен, так как уже существует процесс отслеживания изменений в ядре для таких плагинов.

7 лайков