guidance.enterprise · 0.1.3 · Python 3.12+

Помощь рядом.
В темпе пользователя.

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

Посмотреть в ERP ↗ · Скачать wheel ↗ · Полный контракт подключения ↗

15 руководств · 64 шага

Знакомство, профиль, организация, роли и допуски, MS AD / FreeIPA / OpenLDAP, счета и периоды, первая операция, сторно, закрытие периода, контроль руководителя, бизнес-процессы, масштаб внедрения, аудит, модули и устранение ошибок.

Никаких неожиданных окон

Мастер запускается пользователем. Остановка сохраняет шаг. Продолжение возвращает к нему. Отмена и перезапуск доступны в управлении мастером. Рассылок, таймеров и напоминаний нет.

Установка

python -m pip install --index-url https://engine.yeti3.ru/sdk/simple/ yeti3-guidance==0.1.3

Ядро пакета использует только YETI³ Core. Необязательный Django-адаптер требует Django 5.2–6.0 и базу проекта. В ERP используется PostgreSQL; пакет не создаёт SQLite и не выбирает БД за приложение.

Контракт движка

from yeti3_guidance.module import Package
engine.register(Package())
engine.boot()
guidance = engine.capabilities.get('guidance.enterprise')
pack = guidance.load_pack()
# guidance.available(guide, role)
# guidance.transition(progress, action, steps=4, version='1')

Приложение → адаптер → SDK → Engine

SDK предоставляет каталог, правила переходов, страницы и модель прогресса. Приложение передаёт проверенную роль, серверный scope рабочего пространства, доступные локальные маршруты и базовый шаблон. Бизнес-команды и проверка доступа к ним остаются в приложении.

INSTALLED_APPS += ['yeti3_guidance']
YETI3_GUIDANCE_CONTEXT = 'your_app.guidance.context'
# URL: path('help/', include('yeti3_guidance.urls'))
# Context processor: yeti3_guidance.context_processors.guidance
# Layout: include 'yeti3_guidance/inline.html'
# Styles: yeti3_guidance/guidance.css

После подключения выполните миграцию владельцем БД, выдайте ограниченные runtime-права на таблицу прогресса и её sequence, проверьте доступность ранней помощи и collectstatic. Полный пример контекста и разрешённые routes находятся в README SDK.

Состояния мастера

ДействиеРезультат
Начать / продолжитьАктивный шаг; другой мастер в том же пространстве ставится на паузу
Назад / дальшеПодтверждённый пользователем переход, без выполнения бизнес-команд
ОстановитьПауза с сохранением текущего шага
ОтменитьСброс шагов этого мастера с сохранением рабочих данных
Начать зановоПервый шаг; требуется явное действие пользователя

Каждый POST проверяет CSRF, роль и revision. Устаревшая вкладка получает HTTP 409. После обновления версии руководства продолжение требует явного перезапуска. GET не меняет прогресс.

Что означает завершение

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

Проверка подключения

python -m unittest discover -s tests -v
# На отдельной PostgreSQL test database ERP:
python manage.py test core.test_guidance core.test_sdk --noinput

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

Короткие шаги прямо в интерфейсе

Один элемент, одно пояснение. Подсветка поля или кнопки, переход назад, пропуск, остановка и запуск заново. Мастер не открывается сам и не выполняет операции за пользователя.