И ещё пара моментов. Просто у меня ситуация такая

И ещё пара моментов. Просто у меня ситуация такая — есть свои классы и задумал я тут прикрутить к ним процессоры. Проблема не в создании процессоров, а в организации прав.

Чего я хочу.

Я хочу, чтобы юзеры с фронта могли просматривать/создавать/редактировать/удалять/getlist своих/чужих этих самых объектов. И чтобы все разрешения можно было гибко настроить из админки.

Какие есть варианты?

а) Создать свои глобальные политики доступа с именами вроде: load_my_super_object, list_my_super_object, view_my_super_object, create_my_super_object, delete_my_super_object и т.п.

Т.е. какие процессоры нужны, такие политики и насоздавать. И в каждом из этих процессоров проверять нужную в методе mod<какой-то там>Processor::checkPermission().

б) Отнаследоваться от modAccessibleSimpleObject, чтобы из коробки получить стандартные проверки на delete, save, load.

Но здесь я нифига не понял — что именно нужно писать в findPolicy() и checkPolicy()?..

Всё остальное делать в процессорах.

Ну и всё так же создать шаблон с вышеописанными политиками. А ведь ещё как-то надо организовать, чтобы политиками можно было регулировать возможность просмотра/редактирования/удаления/etc. чужих объектов, т.e. созданными другими юзерами. Как такое провернуть?

Надо так же создать несколько политик, вроде такого: load_another_my_super_object, list_another_my_super_object, view_another_my_super_object, delete_another_my_super_object

И в каждом процессоре на каждый чих делать проверки — нужной «another» политики и является ли юзер «владельцем» этого объекта? Или есть пути попроще?

Решил начать с создания шаблона политик. И вот здесь я снова в тупике.

Дело в том, что, при создании своего шаблона политик, modx мне предлагает в принудительном порядке выбрать на основании какого шаблона политик доступа делать новый. (нда, «политики»-«шаблоны», «политики»-«шаблоны»..))

?

Какой бы шаблон не был выбран в качестве основы, при создании новой политики — всё-равно в подсказках будет отображаться весь список всех возможных политик из всех возможных шаблонов.

?

Зачем тогда давать выбирать основу? Что вообще это даёт? Я понимаю, если бы политики из этого шаблона-основы были бы доступны в созданном шаблоне, так ведь нет же! Создаётся пустой список. И какой всё-таки надо выбирать?

Есть несколько кандидатов:

ElementTemplate: add_children, copy, create, delete, list, load, remove, save, view

ObjectTemplate: list, load, remove, save, view

ResourceTemplate: add_children, copy, create, delete, list, load, move, publish, remove, save, steal_lock, undelete, unpublish, view

и AdministratorTemplate со всем его зоопарком политик.

Вот столько у меня вопросов…

Извини за назойливость, но я реально здесь нифига не понимаю :-(