I'm trying to create a new role (permissions group) for Share sites in a existing installation. Before asking I did my 'homework' and found useful resources such as:
Among others.
I have no problem in configuring my new role, it works like a charm in a clean installation or in new sites, the issue that I have is that I need to have the role available for existing sites.
To do so, I have created a sub-group in the system group that represents the site. For instance say GROUP_site_{siteId}
is the site, I created a sub-group called GROUP_site_{siteId}_MyCustomRole
. The problem is that the sub-group is created in the APP.DEFAULT
zone and to make it work properly it MUST be in the APP.SHARE
zone (please anybody correct me if I'm wrong).
Basically that's the problem I'm having... I need to 'upgrade' existing sites but I'm not sure of how I could create sub-groups in the APP.SHARE
zone.
I have read the JavaScript API and the REST services documentation and it seems that zones management is not supported. The only way I see it can be achieved is through the Java API, specifically with the Authority service: http://dev.alfresco.com/resource/docs/java/repository/org/alfresco/service/cmr/security/AuthorityService.html
Now, assuming that the Java Authority service is my only option, which would be the right approach to implement the upgrade functionality that creates the child authorities in the appropriate zone? Perhaps by creating a custom patch (http://dev.alfresco.com/resource/docs/java/repository/org/alfresco/repo/admin/patch/impl/package-summary.html)?
Unless I'm taking the wrong approach, I'd like to hear from people who had the same issue, otherwise some advice would be really appreciated. I'd be really surprised if I'm the only one that need to create a new role for existing sites...
EDIT:
This problem is tracked here: https://issues.alfresco.com/jira/browse/MNT-2456