Это старая версия документа!
Содержание
Общие модули ShariX Open: публикация и передача ответственному
Назначение: Подход к разработке. Продукт: ShariX Open · Общий компонент.
Для кого: Разработчик · Оператор развёртывания · Рецензент и приёмщик · Нейросеть.
Темы: Разработка → Передача изменений · Архитектура → Границы.
Общий (shared) модуль может использоваться в ShariX Open и Platform. Разработчик ShariX Open готовит изменение в репозитории модуля, проверяет свою часть и публикует код. После этого он обязан оповестить ответственного со стороны Platform и передать сведения, необходимые для проверки, тестирования и принятия изменения в общий код.
Эта страница описывает действия со стороны ShariX Open. Конкретные операции ответственного на Platform находятся в intrawiki.
Сначала определить лицензионную границу
Эта публичная процедура относится к открытым общим модулям и их разрешённым к публикации изменениям. Shared означает совместное использование, а не GPL/AGPL и не разрешение распространять исходники.
Для каждого выбранного репозитория проверить LICENSE и COMPLIANCE, если он есть. Закрытый общий модуль, например конструктор сервиса, не становится частью открытой поставки ShariX Open. Его документация и порядок работы находятся в intrawiki; детали получают у ответственных Platform.
Группа –shared в repositories.sh выбирает репозитории по их роли в сборке, а не подтверждает открытую лицензию. Поэтому перед записью и публикацией нужно явно ограничить набор репозиториев публичной задачи. Перечень границ — владение моделями.
До изменения кода
- Определить репозиторий модуля. Общая модель или UI-компонент меняются там, где находятся их исходники, а не копируются в корень ради одной страницы.
- Записать исходный commit и связанные изменения других модулей. Проверить, какие предыдущие этапы уже применены.
- Найти существующий API, модель или библиотечный элемент. Выяснить, кто использует изменяемые поля, ответы и шаблоны.
- Определить ожидаемое поведение и проверки ShariX Open: успешный сценарий и существенные отказы, данные, права и существующую установку.
Статус репозиториев просматривают из фактического корня ShariX Open:
./bin/repositories.sh status --shared
Вложенные модули имеют собственную историю Git; чистый статус корня не заменяет их проверку. Карта — репозитории и владельцы.
Подготовить, проверить и опубликовать
Подготовка изменения:
- Изменить модуль и необходимые места вызова.
- Проверить совместимость сохранённых данных, миграции и доступ.
- Для изменения интерфейса использовать общую библиотеку элементов.
- Для обработчика сохранить связность Blockly, сгенерированного Python и сценария.
В патче и полном порядке применения указать:
- точную исходную базу;
- каталоги;
- роли;
- проверки до записи;
- действия при ошибке.
Патчи на сервере оператор размещает в /tmp. Общий совет «обновите зависимости» не заменяет сценария. Требования — передача результата оператору.
Публиковать согласованный набор открытых репозиториев штатным repositories.sh. –shared не заменяет проверку лицензий; опция –repo ограничивает выбор конкретными зарегистрированными путями. Команды записи и порядок update-* определяются фактическими ветками и сценарием ShariX Open. Порядок — публикация общего кода.
Что сообщить ответственному Platform
| Сведения | Что передать |
|---|---|
| Опубликованный код | Репозитории, ветки и точные commits. Если части зависят друг от друга — полный согласованный набор. |
| Смысл изменения | Какая задача решена, что меняется для пользователя или вызывающего модуля. |
| Совместимость | Изменённые модели, поля API, шаблоны, форматы или настройки; обязательные совместные версии. |
| Подготовка | Необходимость миграций, переводов, статики или новых параметров, если она есть. Секреты не передаются в сообщении. |
| Проверки | Что проверено в ShariX Open, на какой версии и с каким результатом. |
| Ограничения | Что осталось непроверенным и какое решение или помощь нужны. |
| Связь с задачей | Карточка и ссылки на описание изменения и применимую документацию. |
Если ответственный не определён, выяснить его у владельца проекта. Отправить сведения по принятому рабочему каналу и зафиксировать передачу в задаче. Имя человека или адрес канала не угадывают.
Где заканчивается эта инструкция
Отдельно фиксируются:
- получение уведомления;
- проверка;
- тестирование;
- принятие изменения ответственным.
Это разные результаты. По публикации commit или отправке сообщения нельзя автоматически считать проверку Platform завершённой. Результат рассмотрения записывают отдельно.
Автор ShariX Open не должен получать закрытые исходники или запускать команды Platform для выполнения этой публичной процедуры. Ответственный со стороны Platform действует по своим инструкциям в intrawiki. Публичный сценарий не перечисляет её каталоги, службы, ветки и собственные патчи.
Для нейросети и скриптов подготовки
Определить отдельно, затронут ли shared-модуль и открыт ли он по лицензии. Не включать закрытый репозиторий в публичную публикацию по одному признаку shared. После разрешённой публикации подготовить точные сведения для ответственного и обеспечить предусмотренное поручением оповещение. Не заменять этот шаг автоматическим обновлением Platform, поиском её закрытого checkout или применением патча во второй установке. Отдельно обозначить выполненные проверки ShariX Open и ожидаемый результат рассмотрения ответственным.
Проверенная исходная база: 29.10.2026
Проверены опубликованные исходники указанных ревизий. Это source-анализ; он не подтверждает применённую версию, конфигурацию или успешный сценарий конкретного сервера.
- sharix-open-webapp-base: CODING_POLICY.md — f65376cdb5a3.
- sharix-open-webapp-base: bin/repositories.sh — f65376cdb5a3.
- sharix-open-webapp-base: bin/install.sh — f65376cdb5a3.
- sharix-open-webapp-base: bin/utils/install_modes.sh — f65376cdb5a3.
- sharix-open-webapp-base: bin/check_acceptance.sh — f65376cdb5a3.