3.2 KiB
Редакционный порядок центра помощи Chatballs
chatballs.json задаёт порядок опубликованных статей внутри каждого раздела и
направленные связи между статьями. Карта охватывает 73 русскоязычные статьи и
172 перехода. Она не меняет тексты, категории и статусы публикации.
articles/klassy-vidzheta.yml содержит статью «Классы виджета» в штатном
формате импорта статей портала. Её текст сверяется с
apps/web-chat/src/widgetClasses.ts тестом widgetClassesDocumentation.test.ts:
npx vitest run docs/portal-curation/widgetClassesDocumentation.test.ts
При реализации раздела «Оформление» ссылка «Классы виджета» должна получить
адрес helpArticleUrl("klassy-vidzheta") из shared/help. В текущей версии
WebIntegrationPage этот раздел отключён; подключение ссылки и проверка
перехода зависят от реализации раздела в T-023.
Добавление YAML в репозиторий само по себе не публикует статью. Перед применением обновлённой карты нужно импортировать YAML через библиотеку статей центра помощи в существующий раздел «Точки входа» и опубликовать ревизию. Изменения действующего портала выполняются только после согласования с владельцем. До публикации новой статьи проверка карты завершится ошибкой состава статей.
Команда apply_portal_curation сначала проверяет, что карта полностью совпадает
с опубликованными статьями выбранного портала: состав, разделы, язык и ссылки.
Без --apply она только показывает число записей, которые были бы изменены.
После штатной выкладки версии с миграцией 0012_article_curation:
cat chatballs.json | ssh ubuntu@SERVER \
'cd /home/ubuntu && docker compose exec -T backend-admin \
python /app/apps/backend/manage.py apply_portal_curation \
--host chatballs.com.edevs.tech --file -'
После сверки результата тот же запуск с --apply сохраняет порядок и связи.
Повторный запуск идемпотентен: при уже применённой карте число изменений равно
нулю. Файл передаётся через stdin и не сохраняется на сервере, поскольку
production-образ не содержит этот каталог документации.