Мне неизвестно о каком-либо формальном определении термина «verfified».Любое программное обеспечение потенциально может содержать ошибки.
Ветка tests-passed содержит самые актуальные коммиты. Ветка beta получает только бета-релизы. Ветка stable получает только стабильные релизы.
Ветка tests-passed используется практически на всех хостингах discourse.org и на подавляющем большинстве самохостинговых сайтов.
@mcwumbly — есть ли у нас документ «Какую версию мне запускать»? Я немного поискал, но не нашёл. Всё, что я помню, — это что-то вроде этого из анонсов ветки stable.
Я разделил это (кажется, впервые!), так как этот бедняга всё ещё не может понять, опасно ли обновляться, и обсуждение того, как решить проблему неосведомлённости людей о необходимости обновления, не помогает.
Другой вопрос, который он задал, с которого всё началось, и который, по-моему, вполне разумный: «Если я нахожусь на последней бета-версии, зачем мне нужно обновляться?» И вышеизложенное довольно прямо отвечает на это.
Я не думаю, что нам это нужно. Мы хотим, чтобы пользователи находились на ветке tests-passed. Официальные инструкции по установке должны вести к стандартной установке с максимальным количеством настроек, соответствующих нашим требованиям. Это включает в себя отслеживаемую ветку.
Всегда найдутся люди, которые захотят использовать, например, последнюю стабильную версию. Отсутствие руководства о том, как это сделать в наиболее очевидном месте, не заставит их исчезнуть; это лишь создаст для них небольшие неудобства и, скорее всего, приведёт к тому, что они будут приходить сюда с вопросами, а другие пользователи будут вынуждены тратить время на ответы (опять и опять).
Однако более сильным аргументом является то, что руководство может показать, как сделать это правильно, то есть как впоследствии вернуться к предыдущей версии, если пользователь передумает. Если они не знают, как это сделать, они могут случайно сломать свою установку, что создаст неудобства как для них самих, так и для их сообщества.
Если в файле INSTALL-cloud.md будет раздел о смене ветки, это поможет прояснить, какая ветка используется по умолчанию и почему, а также подчеркнёт, что ветка по умолчанию является наиболее распространённой и простой в поддержке.
Я полностью согласен с тем, что на Meta должен быть гид о том, как менять ветки. Однако я не считаю, что это должно быть в официальном руководстве по установке, где 95% пользователей не интересуются этим или не нуждаются в этой информации.
Если «Базовый Боб» пытается установить Discourse, он просто хочет пройти процесс установки как можно быстрее и проще, чтобы начать работу над своим новым сайтом. Информация о смене веток лишь заставит его задуматься и вызовет путаницу.
«Продвинутая Элли», с другой стороны, возможно, заинтересована в понимании того, как работают ветки и какая из них лучше подходит для её сайта. Но она, скорее всего, проводит больше исследований перед установкой Discourse, а не просто следует руководству по установке.
Действительно, в настоящее время мы периодически получаем темы от пользователей, желающих откатиться к бета-версии или стабильной, но это не удаётся.
Размещение этой информации в стандартной документации по установке действительно откроет шлюзы, как из-за вышеупомянутой проблемы, так и из-за проблем совместимости плагинов со старыми выпусками.
Я согласен. В целом мне кажется, что ветка beta скорее путает людей, чем приносит пользу.
Я думаю, что здесь полезно провести различие между вещами, которые вы используете и которые имеют значение внутри вашей организации, и вещами, которые имеют значение для третьих сторон. Ветка beta — хороший пример этого. Хотя она может иметь некоторую внутреннюю полезность, для третьих сторон она мало полезна и иногда их путает.
Мне было бы интересно услышать противоположное мнение, но, подумав об этом сейчас, я не могу вспомнить ни одного серьёзного самохостера, который на самом деле использует beta каким-либо значимым образом. «Простой Боб» на самом деле не знает, что такое ветка, и, вероятно, ему это не важно (и это нормально). «Продвинутая Элли» будет использовать tests-passed, если она индивидуальный пользователь или малый/средний бизнес, и, возможно, stable (или фиксацию коммитов), если она представляет среднее или крупное предприятие.
Мое предложение: оставить все ветки в точности как есть, но публично заявить: «У нас есть две ветки, которые вы можете использовать: tests-passed (по умолчанию и лучшая) и stable (если вы знаете, что делаете, и у вас есть особая потребность)».
С моей стороны, было бы достаточно улучшения, если бы название ветки tests-passed отображалось рядом с именем версии на панели управления.
Полностью согласен. Любой, кто захочет использовать другую ветку, почти всегда сможет её найти.
Если они не могут найти её с помощью существующих ресурсов (поиск, стандартный проект на GitHub), то действительно ли они обладают навыками, необходимыми для полного понимания различий между ветками, не говоря уже о том, чтобы отойти от безопасности ветки по умолчанию?
Конечно, это имеет смысл. Но мне кажется, мы упускаем возможность помочь пользователям понять разницу между различными вариантами. Я не вижу ничего плохого в том, чтобы объяснить владельцам самостоятельных установок, что по умолчанию используется tests-passed, что идеально подходит для большинства сайтов и гарантирует получение последних исправлений безопасности и обновлений. Если вы осторожны в плане рисков, вы можете оставить значение tests-passed и обновляться только тогда, когда об этом будет сообщено в самом программном обеспечении, или через неделю или около того после получения уведомления. Таким образом, другие пользователи сначала обнаружат возможные проблемы, и они будут устранены до вашего обновления.
Исходя из вышесказанного, есть ли у владельцев самостоятельных установок законные причины переключаться с tests-passed? Думаю, это может быть актуально, если ваш сайт сильно модифицирован и обновление ядра Discourse или официальных плагинов приведёт к его поломке, и вы не доверяете себе или своим администраторам в вопросе предотвращения обновлений? Или, возможно, если вы настраиваете среду разработки или тестирования?
Ещё одно место для пояснения — файл app.yml, который в настоящее время довольно запутан, так как в нём упоминается только tests-passed без указания других вариантов или ситуаций, когда может потребоваться переключение на другой.
## Какую ревизию Git должен использовать этот контейнер? (по умолчанию: tests-passed)
#version: tests-passed
На мой взгляд, использование чего-либо, кроме tests-passed, действительно имеет смысл только в том случае, если вы используете управляемый хостинг, либо: 1) у вас есть команда, управляющая вашим сообществом (то есть вы представляете среднее или крупное предприятие); и 2) у вас есть конкретная причина не использовать tests-passed, например, у вас есть множество кастомизаций, которые могут привести к сбоям.
Я бы сказал, что оба условия необходимы, потому что, если у вас нет команды, управляющей вашим сообществом в сценарии с множеством хрупких кастомизаций, то ваша проблема заключается не в выборе ветки, а в общем управлении сайтом (то есть это неустойчиво).
Даже если оба условия выполняются, сначала следует учесть и другие факторы, такие как ваша политика обновлений.
Я думаю, что проблема в том, что если бы вы написали что-то вроде «Вы можете использовать stable или tests-passed», некоторые люди вставили бы туда stable, потому что это звучит «разумно», хотя им, вероятно, не следует его использовать.
Что же насчет beta?
Чтобы еще больше укрепить аргументы против ветки beta, в различных письменных и устных контекстах она вызывает следующие основные заблуждения:
Люди обычно ассоциируют термин «бета» с чем-то более передовым, чем «стандарт». В данном случае это не так.
Некоторые предприятия рассматривают возможность её использования, потому что она кажется менее передовой, чем tests-passed, и более актуальной, чем stable, то есть, опять же, это кажется «разумным». Но в большинстве случаев это плохая идея.
Термин «beta» используется как в номерах версий Discourse, так и в качестве названия ветки Discourse. Я обнаружил, что это сбивает некоторых людей с толку.
“Бета” вероятно отпугивает некоторых людей с базовыми компьютерными навыками, вроде меня — обычно это означает «все еще тестируется на качество», а не «все еще добавляются функции».
Думаю, я имел в виду в основном названия версий, а не название ветки. Я предположил, что нахожусь в ветке «бета» исходя из названий версий (на самом деле нет), пока не проверил сейчас, так что ничего меня не отпугнуло…
Да. Я считаю, что это сбивает с толку (или я понимаю, как это может сбивать с толку): вы находитесь на ветке tests-passed, версия отображается как «beta», но вы можете выполнить обновление и получить новый код, который является той же версией beta, на которой вы уже находитесь. Между выпусками beta-версий проходят недели и сотни коммитов.