mvasenkov wrote:Максим выше уже предлагал завести для всех пользователей универсальную роль. Разовью мысль.
Я делал достаточно много конфигураций TrackStudio под разные нужды и пришел к такому шаблону: учетные записи пользователей в системе создаются только с одной ролью: Пользователь (исключение - Администратор системы, но это уже built-in). Для роли "Пользователь" настраиваются права в духе "нельзя вообще ничего, кроме смены пароля". В дальнейшем при настройке создаются роли согласно бизнес-процессам, как для управления задачами, так и, отдельно, для управления пользователями. И уже для этих ролей настраиваются права доступа, разрешения на выполнение операций и т.п.
Затем реальные пользователи назначаются на проекты уже с этими ролями через переопределение или расширение. Для назначения сразу нескольких пользователей они формируются в иерархию (и тогда права доступа на задачу должен назначать пользователь-узел иерархии для своих подчиненных, прямо через роль "Пользователи").
В любом случае не должно быть десятков "собственных" ролей пользователей, с которыми они регистрируются.
Добавлю от себя в тему о назначении ролей.
1) Нужно разделять пользовательские (дефолтные) роли и проектные роли.
Очень часто бывает, что юзеры имеют доступ к проектам не с дефолтными ролями. И в таком случае имеем две роли - у дефолтной роли реально используется только "юзерская" часть, а у проектной - только "проектная" часть настроек.
2) Создавать всех юзеров с одной дефолтной ролью возможно и подойдёт для небольших организаций.
Но для больший организаций обычно:
- юзеров сотни, которые делятся на разные команды
- разные команды должны иметь разный доступ на разные проекты
- и при этом юзеры могут переходить их одной команды в другую
- роль одтельной комадны в проекте может меняться
В таком случае управлять назначением на проект удобнее на уровне ролей (а не по каждому юзеру отдельно).
Поэтому исходя из 1) и 2) логичным будет в следующей мажорной версии TS ввести два типа ролей - пользовательсткие и проектные.
И ещё было бы хорошо получить возможность "прикреплять" проектные роли к юзерским ролям.
