sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bertrand Delacretaz (Jira)" <>
Subject [jira] [Commented] (SLING-8757) Add option to set/edit access control policies at user homes
Date Wed, 09 Oct 2019 12:31:00 GMT


Bertrand Delacretaz commented on SLING-8757:

I have implemented the parser changes in a fork at []
so that if someone implements the repoinit JCR module changes (I don't have time for that
right now) we can apply those changes.

And if that doesn't happen soon we don't end up with a parser feature that's not usable, as
suggested by Angela offline (thanks!).

See the {{test-34.txt}} in that commit for the supported syntax.

The parser converts an expression like {{home(alice, bob)/sub/folder}} to {{:home:alice,bob#/sub/folder}}
so that it's cleaned up and easy to parse in the repoinit JCR module.

If we apply these changes we'll also need to update the docs at []
, basically copy the {{test-99.txt}} changes there as part of the main example.

> Add option to set/edit access control policies at user homes
> ------------------------------------------------------------
>                 Key: SLING-8757
>                 URL:
>             Project: Sling
>          Issue Type: Improvement
>          Components: Repoinit
>            Reporter: Angela Schreiber
>            Priority: Major
> [~rombert], while looking into moving all service user creation and permission setup
from content packages to repo init, i noticed that there is one special case that doesn't
seem to be covered by repo init but possible with Jackrabbit content packages: creating/editing
access control policies at a user home. the path of those is an implementation detail and
cannot be 'guessed'.
> based on my previous work on the repo-init grammar, i could envision the following main
options to include this functionality.
> # explicitly extend the 'path-token' which is currently defined to be {{(PATH_STRING>
| t = <PATH_REPOSITORY>)}} to something like {{(PATH_STRING> | t = <PATH_REPOSITORY>
| <USER_ID>)}}.
> # similar to the first one: but don't touch the grammar just extend the jcr-implementation:
if 'path' is a relative path and is not _repository_, treat it as userId and try to obtain
a path from the corresponding user object.
> # completely separate it from the 'pathList' and don't allow a combination of absolute
paths, repository-marker and userIds, explicitly include the notion that the edited policy
is not bound to a regular path but to a user home.... instead of {{on /abspath, repository}}
it then would e.g. say {{on user id1, id2}}
> without having looked into it in great detail and given the fact that there are already
so many different ways to edit access control content with repo-init, the first option would
feel the most natural to me. 
> wdyt? i could try to come up with a patch/tests/docu, but i would love to avoid investing
a lot of time and then have to throw it away or redo it all over again.

This message was sent by Atlassian Jira

View raw message