Создать плагин для Discourse, который публикует содержимое из определённых файлов в репозитории напрямую в тему.
Основной сценарий использования такого плагина — управление контентом в GitHub (с контролем версий, задачами, pull request’ами и т. д.), при этом главная ветка всегда остаётся синхронизированной с конкретной темой.
Примеры сценариев использования: руководства, база знаний, репозиторий с идеями.
В частности, наш внутренний сценарий заключается в том, что мы используем Discourse как центр знаний, но хотим иметь более тонкий контроль над обновлением и редактированием контента — именно здесь и пригодится Git-процесс.
Несколько дополнительных замечаний:
Плагин должен работать только с файлами .md.
Мы будем рады, если проект будет открытым (мы готовы покрыть начальные затраты на разработку).
Когда это нужно сделать?
Сроки не срочные, но в ближайшие несколько месяцев.
Каков ваш бюджет в долларах США для этой задачи?
Точный объём работ пока не до конца ясен, поэтому сначала нужно его определить.
Чего именно не хватает в Discourse в этом отношении? Можно ли улучшить Discourse, чтобы удовлетворить ваши потребности и отказаться от использования GitHub?
Вы упоминаете pull-запросы, возможно, потребность заключается в возможности запрашивать изменения, которые затем проверяются и утверждаются кем-то другим перед окончательным утверждением? Я полагаю, это можно реализовать «по-дискурсовски», ответив на пост с просьбой о проверке или назначив задачу кому-то после внесения изменений. У меня был некоторый успех с установкой таймера для темы, который автоматически удаляет ответы, чтобы тема не перегружалась множеством мелких сообщений.
Ещё одна идея — использовать плагин политики. Группу можно уведомлять об изменении темы и просить подтвердить, что они прочитали и согласны с изменениями.
Тем не менее, я считаю, что это отличная идея, и хотел бы увидеть её реализацию. Я вижу, что это может быть полезно даже для Meta! У нас здесь много тем, посвящённых репозиториям GitHub, и было бы здорово видеть обновления файлов readme.md этих репозиториев в первом посте, чтобы их не приходилось поддерживать в двух местах.
Для Discourse for Teams это также может быть полезной функцией, чтобы команды, активно использующие GitHub, могли по-прежнему использовать Teams как «единый источник истины» для справочной информации, без необходимости всем постоянно входить в GitHub. Возможно, это могло бы стать частью или дополнением к плагину code review?
Самое главное здесь — это ветвление. Основная идея заключается в том, что должен существовать механизм, позволяющий создавать ветки, улучшать их, проводить ревью, а затем сливать. Аналогично, это позволяет ревьюеру пройти через похожий процесс: вносить более мелкие изменения непосредственно в ветку, что даёт более тонкий контроль над изменениями.
Хотя я бы очень хотел, чтобы это было возможно, недостающие элементы довольно нетривиальны:
Ветвление
Слияние изменений в один клик
Это отличный трюк для тех, кому не так важно ветвление, как мне в данном случае.
Кажется, это могло бы быть чрезвычайно полезно во многих отношениях. Как только я найду подходящего человека для найма по этому вопросу, я бы с радостью немного поработал вместе. Возможно, этот инструмент в итоге станет «официальным» плагином! (можно только мечтать).
Если основным сценарием использования являются файлы .md и общий язык, я всё же считаю, что у Discourse есть большое преимущество: это разговорная платформа, которая позволяет людям действительно общаться друг с другом на понятном языке. Как вы и сказали, именно такие обсуждения знаний должны происходить на Discourse. Поэтому, на мой взгляд, стоит подумать о том, как оставить большую часть этого контента именно там, иначе вы отвлечёте внимание и фокус от того, что должно стать вашей основной платформой.
Я могу представить себе такую схему:
Readme.md как тема вики на Discourse, синхронизированная с GitHub;
Обсуждение этого Readme в виде последующих постов на Discourse, которые регулярно удаляются (по аналогии с текущей настройкой на meta);
Дополнительные файлы и папки в репозитории обрабатываются на GitHub с использованием ветвления. Текущая структура репозитория может синхронизироваться с Discourse, чтобы отображаться вместе с постом вики в виде оглавления.