Jump to main content Jump to doc navigation

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

  • modxcms/revolution охватывает сам MODX Revolution (как 2.x, так и 3.x) и является основным местом для сообщений о проблемах.
  • modxcms/xpdo специально охватывает xPDO.
  • modxorg/Docs решает проблемы с содержанием документации.

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

Для каждого из этих средств отслеживания проблем есть 2 очень стоящих способа внести свой вклад особенно для людей, не являющихся разработчиками!

  1. Сообщения об ошибках или проблемах регистрируются достаточно подробно в нужном месте. Обсуждение проблем на форуме - это здорово, однако, если это указывает на ошибку в ядре, это должно быть зарегистрировано, как проблема. Это гарантирует, что разработчики могут взглянуть на него в одном месте, когда захотят узнать, в чем их проблема.
  2. Отслеживание проблем означает, что проблемы в трекере действительны и детализированы. Есть много сообщений о проблемах, которые являются расплывчатыми или фактически поддерживают запросы, но нет детальности, и путем сортировки мы можем сохранить список проблем полезным.

Ниже мы обсудим каждое действие более подробно.

Сообщение о проблемах

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

  1. Начните с выбора правильного репозитория. Если вы столкнулись с ошибкой в дополнение, вам нужно найти средство отслеживания проблем для этого конкретного дополнения.
  2. На вкладке "Issues" воспользуйтесь поиском, чтобы убедиться, что это еще не известная проблема. Если вы ничего не нашли, обязательно попробуйте другое написание или имена (например, «acl» или «permission»). Найдите часть сообщений об ошибках. Хотя вы в первую очередь ищете проблемы в статусе Open, быстрый просмотр вкладки Closed также может выявить проблемы, которые уже были решены в версии, находящейся в настоящее время в разработке.
  3. Если вы не обнаружили новой проблемы, нажмите зеленую кнопку «New Issue button» в правом верхнем углу вкладки «Issues».
  4. Когда вас спросят, выберите правильный шаблон.
  5. Заполните всю информацию, которую запрашивает шаблон задачи. Пожалуйста, не удаляйте шаблон и заполняйте его иначе. Наиболее важными (для отчетов об ошибках) являются четкие шаги для воспроизведения, наблюдаемое поведение и среда. Всегда указывайте конкретные номера версий вместо таких вещей, как «последняя».
    • Если вы видите сообщение об ошибке, включите полное сообщение об ошибке и трассировку, если она у вас есть (вы, конечно, можете подвергнуть цензуре свои конкретные пути или другую конфиденциальную информацию).
    • Если вы не видите сообщения об ошибке при сообщении об ошибке, попытайтесь выяснить это. Посмотрите свой журнал ошибок MODX (через Система> Отчеты> Журнал ошибок), в консоли разработчика браузеров и в журналах ошибок сервера, которые обычно доступны через панель управления сервером. Сообщение об ошибке невероятно полезно для решения проблемы.
    • Если на форуме было обсуждение ошибки или запроса функции, включите ссылку на ветку. Это может послужить необходимой предпосылкой для решения проблемы.
  6. Разместить! :)

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

Проблемы с сортировкой

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

Если вы не опытный разработчик ядра, самое важное, что вы можете сделать - это убедиться, что проблема воспроизводима. Выполните указанные шаги, чтобы воспроизвести проблему, и убедитесь, что происходит описанное поведение. Если вы также можете добавить более подробную информацию о проблеме (например, проблема возникает/не возникает в других версиях PHP или MODX), это также может быть полезно для определения основной причины и ее устранения.

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

Если проблема явно решена, ее можно закрыть. Прокомментируйте @modxbot close (если у вас есть доступ к modxbot) или комментарий, в котором говорится, что вы предлагаете закрыть проблему, чтобы кто-то другой, имеющий доступ, мог сделать это за вас.

Получение доступа к @modxbot

Через @modxbot отдельным участникам может быть предоставлен доступ для управления проблемами. Доступ к этим командам предоставляется Джейсоном (@opengeek) и/или Джоном (@theboxer).

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

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

Сообщение о проблемах безопасности

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

Пожалуйста, ответственно сообщайте о проблемах безопасности по электронной почте: security@modx.com. Это информация будет доступна частной группе основных интеграторов, действующих в качестве группы безопасности. Они рассмотрят его и начнут работать над патчем, если отчет верен.

Следующие факторы не считаются уязвимостями:

  • Серверные (неправильные) конфигурации
  • Ввод скриптов где-нибудь в диспетчере (ресурс, шаблоны), в результате чего эти скрипты выполняются во внешнем интерфейсе. MODX - это CMS, а управление контентом и создание шаблонов - это основной клиент, так что это в буквальном смысле функция, а не ошибка.

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

В настоящее время нет официальной программы вознаграждения за ошибки.

Сообщите о проблемах для соответствующего проекта в разделе проблем на Github: https://github.com/modxcms/

Проблемы, которые сообщество может инициировать или совместно решать, включают:

  • ошибки в MODX (Evolution и Revolution) и некоторые дополнения
  • запросы функций для MODX (Evolution и Revolution) и некоторых дополнений
  • отчеты об ошибках или проблемах с различными сайтами MODX или их частями

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

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