GUI RBAC YII2

Выкладываем свои наработки
Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

GUI RBAC YII2

Сообщение yiijeka » 2014.12.24, 15:33

Привет мальчишки и девчонки.

Есть такая задача у Yii2 Реализация интерфейса для rbac.

Я тут сделал набросок - https://github.com/githubjeka/gui-rbac-yii2

Кто чем может помогите ;)

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: GUI RBAC YII2

Сообщение Insolita » 2014.12.24, 18:07

красиво :-)

Аватара пользователя
samdark
Администратор
Сообщения: 9104
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: GUI RBAC YII2

Сообщение samdark » 2014.12.24, 19:31

Идеями помогайте тоже, штука не очень тривиальная как по части идей, так и по части реализации.

Avgusto
Сообщения: 46
Зарегистрирован: 2013.11.07, 21:09

Re: GUI RBAC YII2

Сообщение Avgusto » 2014.12.24, 20:32

Sam Dark писал(а):Идеями помогайте тоже, штука не очень тривиальная как по части идей, так и по части реализации.
а эта "штука" про визуализацию или про логику привязки RBAC к модулям? (там часть высказываний про логику)
Или задача в том, как доступно и наглядно показать сложную ветвистую структуру наследования ролей?

Аватара пользователя
samdark
Администратор
Сообщения: 9104
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: GUI RBAC YII2

Сообщение samdark » 2014.12.24, 21:32

У RBAC нет никакой привязки к модулям, так что речь о визуальном редакторе. Как лучше представить, как лучше построить процесс редактирования и т.д.

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GUI RBAC YII2

Сообщение yiijeka » 2014.12.29, 16:18

Может кто знает, что-нибудь про "алгоритмы построения связей блоков"? Пока тяжело даётся - как оптимально строить линии с ломанием их в определённых местах, учитывая расположения блоков.

Заумно написал пожалуй, ну да ладно. Эх, школьные годы ... ничего уже не помню, изобретаю велосипед :)

http://basic-rbac-githubjeka.c9.io/basi ... php?r=rbac

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GUI RBAC YII2

Сообщение yiijeka » 2015.01.05, 15:48

Более менее настроил связи(линии). Отцентрировал.

Пожелания, замечания приветствуются.

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: GUI RBAC YII2

Сообщение zelenin » 2015.01.05, 15:53

yiijeka писал(а):Более менее настроил связи(линии). Отцентрировал.

Пожелания, замечания приветствуются.
сейчас стало намного лучше.
Интересно, как это будет работать с большим количеством прав. У нас например очень большой файл с различными ролями и правами (100-200, а может 500).
Соответственно сделай плз импорт из файла в схему.

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GUI RBAC YII2

Сообщение yiijeka » 2015.01.05, 15:57

Ок по импорту. По поводу большого файла, csv есть ? Сделай выгрузку базы по этому методу if u can :)

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: GUI RBAC YII2

Сообщение zelenin » 2015.01.05, 15:59

yiijeka писал(а):Ок по импорту. По поводу большого файла, csv есть ? Сделай выгрузку базы по этому методу if u can :)
не, у меня php-файл готовый

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GUI RBAC YII2

Сообщение yiijeka » 2015.01.05, 16:02

так запусти консольку, он выгрузку сделает в json, ещё и лучше будет, чем csv

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: GUI RBAC YII2

Сообщение zelenin » 2015.01.05, 16:12

yiijeka писал(а):так запусти консольку, он выгрузку сделает в json, ещё и лучше будет, чем csv
в личке

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GUI RBAC YII2

Сообщение yiijeka » 2015.01.05, 16:32

Спасибо, не тормозит. Но вот с начальным построением проблемы, есть над чем подумать. Спасибо ещё раз.

P.S.

Object {nodes: Array[238], links: Array[654]}

Изображение
Вкладка съедает 57 Мб памяти.

Аватара пользователя
samdark
Администратор
Сообщения: 9104
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: GUI RBAC YII2

Сообщение samdark » 2015.01.05, 19:41

Серьёзно так кушает...

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GUI RBAC YII2

Сообщение yiijeka » 2015.01.06, 10:02

Нашёл вот такое разрешение - createOrUpdateUserAsChiefManagerForPartnerAndContent 410px в ширину.
Как поступать с такими штуками?
Прямоугольники в 410px не очень смотрятся, на мой взгляд -
Изображение

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GUI RBAC YII2

Сообщение yiijeka » 2015.01.06, 14:49

Ладно с прямоугольниками, но вот со связями. Всё хорошо пока этих связей не много, но вот проект от zelenin ломает на корне всю красоту от квадратных углов в соединениях. К вышевыложенной картинке добавлю и ещё две .

Изображение
Изображение

На этой используется алгоритм ациклических ориентированных графов (directed acyclic graph, DAG). В его основе лежит идея: расположить вершины графа по иерархии(максимальное количество связей), а потом переставить их таким образом, чтобы по максимуму убрать пересечения. Я применил его к базе с 238 ролями и правилами, и 654 их назначениями. Возможно, эта база требует оптимизации, но если бы это было не от zelenin, то я бы усомнился в избыточности связей, а так вроде берём как есть. Вывод из сложившейся ситуации такой: использовать первоначальное построение узлов по Y иерархическим уровнями не применимо к нашей ситуации. Ломать линии для наглядности в определённых точках тоже лишнее, так как пересечений и наложений линий будет очень много. Обычно в крупном проекте на одну, две "главные" роли назначено много правил, а это линии, линии, линии....

Из всего это я вернулся к первоначальному варианту, он самый лучший для данной картины:
Изображение
Изображение

В этом варианте, связанные узлы будут максимально притянуты друг к другу и пересечения не такие "ужасные".

Что думаете?

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: GUI RBAC YII2

Сообщение zelenin » 2015.01.06, 15:35

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

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GUI RBAC YII2

Сообщение yiijeka » 2015.01.06, 15:52

Ну визуально по линиям с подсветкой, для твоей базы, я легко гуляю на круговом варианте. Удалять, назначать тоже нормально. Точить нужно под любую цифру, так как противоположный концепт визуализации - форма https://github.com/githubjeka/gui-rbac- ... rms-layout тоже мало юзабильна.

Изображение

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: GUI RBAC YII2

Сообщение yiijeka » 2015.04.01, 09:54


Аватара пользователя
samdark
Администратор
Сообщения: 9104
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: GUI RBAC YII2

Сообщение samdark » 2015.04.01, 14:01

Для визуализации прям конфета. Нравится.

Ответить