Модули платформы b4
DESCRIPTION
Габидуллин А. Модули платформы B4TRANSCRIPT
+
АльбертГабидуллин
Докладчик:Решения для электронного правительства и электронизация государственных услуг
Больше, чем технологии!
Платформа B4: многообразие готовых модулей для разработки
Архитектура
Уменьшение количества потенциальных ошибок
Возможность быстрого расширения функциональных возможностей решения
Больше, чем технологии!
Ядро
Security
ReportPanel
Прикладное решение
ECM7
Добавление и обновление
Больше, чем технологии!
Сборку соответствующего модуля –> каталог /modules
Рестарт приложения (веб-сервер/интерфейс)
Сборка из каталога /modules –> каталог /.modules
Миграция БД
Модуль «ECM7»
Миграция базы данных – процесс внесения изменений в БД в ходе разработки (структура)
Больше, чем технологии!
Миграция БД. Для чего?
Больше, чем технологии!
Исключение возможности появления ошибок
Возможность отката структуры БД на более раннюю версию
Независимость от используемой СУБД
Автоматизация процесса развертывания БД на любом сервере
При разработке последовательно создаются классы с описанием
необходимых изменений и указанием номера версий.
Клиентский интерфейс для проведения
миграций.
Миграция БД. Как?
Больше, чем технологии!
Таблица в БД, хранящая актуальную информацию об актуальной версии миграции
по каждому модулю.
Используемый фреймворк ECM7 предоставляет API для
выполнения миграций.
Клиентский интерфейс для проведения
миграций.
SchemaInfo Up & Down
API Интерфейс
Миграция БД. Интерфейс.
Больше, чем технологии!
Безопасность и права доступа
Модуль «Security»
Аутентификация. Авторизация. Роли. Разграничение прав пользователей.
Больше, чем технологии!
Безопасность и права доступа
Больше, чем технологии!
Василий
АдминистраторРедактирование
справочников
Управление ролями
Руководитель отдела
Редактирование состава отделаАнатолий
Пользователь РольПрава
…
…
…
Безопасность и права доступа
Больше, чем технологии!
• Пользователи• Создание/Редактирование
пользователей. • Платформа предоставляет
интерфейс для добавления логики работы с пользователями
При необходимости можно реализовать свою аутентификацию, если логика должна отличаться от стандартной проверки логина и пароля
Безопасность и права доступа
Больше, чем технологии!
• Роли• Простой справочник• Добавление/Редактирование/
Удаление ролей через интерфейс (inline-грид)
Безопасность и права доступа
Больше, чем технологии!
• Права доступа• Класс-наследник PermissionMap, в
конструкторе которого перечисляются права
Namespace("ERegion.Dictionary", "Справочники");Permission("ERegion.Dictionary.Edit", "Редактирование");CRUDandViewPermission("ERegion.Dictionary")
Безопасность и права доступа
Больше, чем технологии!
Привязка прав к роли
Безопасность и права доступа
Больше, чем технологии!
Проверка ограничений
На сервере
• Основной метод проверки прав – Grant. Передаем текущего пользователя и название ограничения
• Формирование меню в зависимости от наличия тех или иных прав
• Атрибуты для класса контроллера
На клиенте
• Возможность применять ограничения к отдельному клиентскому компоненту
• Плагины для применения ограничений:• Плагин для применения ограничений к гриду• Плагин для применения ограничений к конкретный полям формы• ……
• Вспомогательные функции для применения ограничений
• Вспомогательные функции для выбора компонентов, к которым необходимо применить ограничение
Отчеты
«Reports» и модуль «ReportPanel»
Вывод печатных форм отчетов в формате Word и Excel
Больше, чем технологии!
Отчеты
Больше, чем технологии!
Reports
Является компонентом ядра1
Предоставляет интерфейсы для генерации отчетов
Работает на основе шаблонов 3
2
Отчеты. Reports. How To.
Больше, чем технологии!
Добавление шаблона в ресурсы
Добавление класса-наследника BaseReport
Добавление метода контроллера, отвечающего за формирование и отдачу отчета на клиент
Добавление кнопки в клиентском интерфейсе для обращения к соответствующему методу контроллера
Отчеты
Больше, чем технологии!
ReportPanel
• Добавляет клиентский интерфейс для формирования печатных форм отчетов • Позволяет передавать параметры для формирования отчета
Готовые модули
AdminPanel – панель администратора1
Больше, чем технологии!
Готовые модули
AdminPanel – панель администратора1
Больше, чем технологии!
State – работа со статусами2
Готовые модули
FileStorage – работа с файловой системой3
Messenger – сообщения внутри системы и через SMTP
UserProfile – пользовательские параметры
6
Audit – логирование действий пользователя
7
KLADR – работа с КЛАДР 5
4
Больше, чем технологии!
+Спасибо за внимание!