Включение более популярных плагинов в ядро Discourse

Я помню, что при неудачной пересборке старый контейнер автоматически запустился.

2 лайка

Думаю, это происходит, если вы запускаете discourse-doctor.

Полагаю, вы имеете в виду docker manager.

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

Возможно, для тех, кто размещает систему самостоятельно, опыт был бы лучше, если бы мы в таких случаях принудительно обновляли CLI у всех, независимо от ситуации.

Всё в итоге наладилось.

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

К счастью, в конце сообщения при первом повторном запуске через CLI было указано, что именно нужно удалить.

2 лайка

Ой. Точно.

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

5 лайков

Это полное непонимание ситуации.

Это изменение разблокировало огромную скорость работы для команды. Изменения, которые раньше занимали у нас многие часы, теперь занимают минуты.

Возьмем, к примеру, добавление поддержки /filter для assign и solved. Я сделал это на прошлой неделе. Да, раньше это было возможно, но требовало координации между репозиториями, что было очень сложно реализовать. Теперь мы можем делать такие вещи легко, всего в одном коммите.

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

12 лайков

Мы принудительно выполняли пересборку CLI для каждой партии связанных плагинов:

Я не видел никаких сообщений о неудачных пересборках через UI, поэтому считаю, что эта стратегия успешно направляла пользователей к пересборке через CLI. Эти пересборки CLI затем предоставляли сообщения-подсказки о необходимости удаления строк из app.yml.

4 лайка

Моя ошибка. Мне казалось, что я видел несколько таких случаев, но, наверное, вы следите за этим внимательнее, чем я!

Извините за это.

2 лайка

Я не уверен, как с этим справиться.

Обновление завершается ошибкой с множеством сообщений, подобных следующим:

СОВЕТ: Плагин ‘discourse-solved’ теперь включён в состав Discourse и не должен быть указан в конфигурации вашего контейнера.
Удалите строку ‘git clone https://github.com/discourse/discourse-solved’ из файла containers/web_only.yml, а затем повторите попытку.
Для получения дополнительной информации см. Bundling more popular plugins with Discourse core

Я отредактировал web_only.yml и закомментировал все указанные плагины, но это не помогло.

`cmd:`
`##          - git clone ` https://github.com/discourse/docker_manager.git
`## - git clone ` https://github.com/discourse/discourse-templates
`## - git clone ` https://github.com/discourse/discourse-akismet.git
`## - git clone ` https://github.com/discourse/discourse-chat-integration.git
`## - git clone ` https://github.com/discourse/discourse-solved.git
`## - git clone ` https://github.com/discourse/discourse-cakeday.git
`## - git clone ` https://github.com/discourse/discourse-adplugin.git
`## - git clone ` https://github.com/discourse/discourse-patreon.git
`## - git clone ` https://github.com/discourse/discourse-linkedin-auth
`## - git clone ` https://github.com/discourse/discourse-data-explorer.git
`## - git clone ` https://github.com/discourse/discourse-assign.git
`## - git clone ` https://github.com/discourse/discourse-topic-voting.git
`## - git clone ` https://github.com/discourse/discourse-user-notes.git
`## - git clone ` https://github.com/discourse/discourse-math.git
`## - git clone ` https://github.com/discourse/discourse-oauth2-basic.git
`## - git clone ` https://github.com/discourse/discourse-calendar.git
`## - git clone ` https://github.com/discourse/discourse-affiliate.git
`## - git clone ` https://github.com/discourse/discourse-invite-tokens.git
`## - git clone ` https://github.com/discourse/discourse-github.git

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

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

2 лайка

Это был список того, что вы удалили, или того, что у вас осталось? Потому что многие пункты из него есть в списке в исходном посте. Вы действительно сохраняете yml-файл или просто выходите?

О, я вижу, у вас есть web.yml… Возможно, для этой установки нужно сделать что-то ещё.

1 лайк

С днём создания аккаунта! :birthday_cake:

Уже есть более чёткое представление о том, когда discourse-cakeday будет перенесён в ядро?

Сэм упоминал некоторое время назад:

Я думал, что, возможно, уже в следующем месяце, но стали ли мы сейчас более уверены в этом, чем тогда?

1 лайк

Удивительно, но cakeday — это последний плагин, который у меня всё ещё есть в app.yml на моём личном сайте! :exploding_head:

Кстати, на этой неделе мы вернулись с нашего ежегодного всемирного митапа и все ещё пытаемся нагнать упущенное, поэтому это не будет в приоритете! Я уверен, что это будет сделано скоро, но спешить некуда.

3 лайка

Для всех, кто не следит за правками в первом посте:
cakeday перенесён в ядро

9 лайков

Добавят ли bbcode в ядро?

1 лайк

Не в ближайшем будущем, это очень-очень сложный плагин, особенно когда речь идет о редакторе текста с форматированием.

2 лайка

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

2 лайка

Привет, извини, что ты недоволен выбранным нами путём, но таковы правила, к сожалению для тебя. На мой взгляд, инструкции достаточно ясны: всё, что нужно сделать, — это удалить несколько строк из файла app.yml, пересобрать приложение, и всё готово!

1 лайк

Да, я не говорю, что это действительно сложно (это была простая задача, которая заняла 45 секунд), но мне показалось слишком жёстким заставлять нас заходить и делать это вручную, в то время как обычный интерфейс обновления просто пишет: «Пожалуйста, пересоберите приложение вручную!». На мой взгляд, было бы лучше проигнорировать эти строки и просто вывести сообщение вроде hint: плагин discourse-solved теперь включён в ядро и должен быть удалён из файла app.yml, а затем продолжить сборку, либо сразу показать это в интерфейсе. Но это не такая уж большая проблема, лишь небольшое неудобство.

1 лайк

Вы говорили, что это проблема, но, как вы сами заметили, это не так. Просто уточняю этот момент для вас и для других будущих путешественников.

Ваша точка зрения понятна: мы можем сделать больше, чтобы подобные изменения в будущем были проще. В данном случае я не уверен, что можно было сделать иначе, поскольку изменение требовалось в файле app.yml, который должен редактироваться самохостером через командную строку.

В любом случае, на этот раз всё уже готово, и все эти замечательные официальные плагины теперь включены в ядро и доступны всем для использования. Больше не нужно добавлять их в app.yml или беспокоиться о том, как они взаимодействуют друг с другом. Мне нравится, что мой app.yml теперь так прост.

2 лайка