Архитектура приложения на Yii2

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
pashakhorikov
Сообщения: 11
Зарегистрирован: 2014.12.01, 02:15

Архитектура приложения на Yii2

Сообщение pashakhorikov »

Всем привет. В общем, потрогал Yii 2 - норм.
Сейчас нужно писать корпоративную информационную систему. Решил сделать все на Yii2 (advanced template). Поскольку у меня была парочка проектов на Yii 1.xx.xx, весьма простеньких, то представление имею. У меня, ребят, вопрос больше организационно-архитектурный по Yii2. Попробую вкратце.
В общем, внутри конторы есть три ключевых отдела - конференционный, который отвечает за проведение конференции разного уровня профильных, фотоархив, и издательство (три или четыре журнала выходит) там. в общем, надо писать внутреннюю информационную систему. Собственно у каждого отдела свои нужды и требования - детали тут ни к чему, ясно что конференционщикам нужно принимать онлайн заявки на конференции, редакции принимать статьи научные от авторов (песочница) и архив с авторами и публикациями, ну а фотоархиву собственно цифровочка всего фотоматериала с поиском по событиям, персоналиям, лицам, и так далее.

Вопрос - как с точки зрения именно архитектуры спроектировать приложение? RBAC и модуль на каждый отдел или все описывать безмодульно? Ясное дело, что (гипотетически) никто из соседних отделов не должен видеть разделы других, например, конференциям ни к чему фотоархив и так далее. Как спроектировать получше, грамотнее? Заранее благодарен. Если есть вопросы, спрашивайте. Расскажу детальнее.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Архитектура приложения на Yii2

Сообщение ElisDN »

Можно взять шаблон advanced и его части backend/frontend переименовать в conference/archive/publishing, соответственно повесив их на три поддомена.
pashakhorikov
Сообщения: 11
Зарегистрирован: 2014.12.01, 02:15

Re: Архитектура приложения на Yii2

Сообщение pashakhorikov »

Дим, спасибо, за участие, то есть получается, тот же RBAC + модули для каждого отдела со своим набором моделей и контроллеров. По сути advanced template модульно реализован и разделен на frontend and backend. Мне вот только не понятно зачем делить на поддомены все? А если скажем надо будет оперативненько пробросить функционал одного модуля, в отдел к другому, скажем, тому кто работает с фотоархивом, дать проверять песочницу и научные статьи которые присылают авторы для премодерации. Это получится, что придется вылогиниваться идити на поддомен, влогиниваться и работать автономно. Хотелось бы иметь доступ сразу ко всему и оперативненько назначать переназначать сотрудников туда - сюда. (Да-да, это такая специфика там, не шучу.)
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Архитектура приложения на Yii2

Сообщение zelenin »

ну так делайте стандартно - одно приложение (админка), в нем все разруливайте через rbac. Модули - по вкусу. Я все делаю только модулями, т.к. чуть что и без модулей уже черт ногу сломит.
pashakhorikov
Сообщения: 11
Зарегистрирован: 2014.12.01, 02:15

Re: Архитектура приложения на Yii2

Сообщение pashakhorikov »

Да, развел по модулям и RBAC'ом буду пилить роли и доступы. А админский аккаунт просто смержим все пункты меню из модулей и они будут отдаваться целиком, если юзер админ.
Например, у тех кто отвечает за кофнеренции будет
//авторизуем ползователя, смотрим RBAC'ом кто он и что может и возвращаем набор кнопок в меню соотвествующий:
case1: { return menuItems(1) } //навигация по экшнам и контроллерам для конференций.
.... // etc
case n: {return merge_array(все ссылки на все модули для админа)}

Кажется, годный план, спасибо, ребят.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Архитектура приложения на Yii2

Сообщение zelenin »

ну не совсем. если вы пользуетесь встроенным виджетом меню, то у каждого пункта есть опция active, в которой надо делать проверку на разрешение. Мерджить ничего не надо - права раздаются при инициализации рбака.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Архитектура приложения на Yii2

Сообщение zelenin »

общий смысл: есть роли: админ, модератор, редактор. есть разрешения (permissions), которые назначаются ролям - типа editAuthor, editPublication, createUser итд. Вот на пермишны и надо делать проверки.
pashakhorikov
Сообщения: 11
Зарегистрирован: 2014.12.01, 02:15

Re: Архитектура приложения на Yii2

Сообщение pashakhorikov »

zelenin писал(а):общий смысл: есть роли: админ, модератор, редактор. есть разрешения (permissions), которые назначаются ролям - типа editAuthor, editPublication, createUser итд. Вот на пермишны и надо делать проверки.
Да, это ясно. уже накатил что нужно.
70.png
70.png (26.84 КБ) 2920 просмотров
Ответить