[ 
https://issues.apache.org/jira/browse/SLING-9871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17305897#comment-17305897
 ] 

Ashish Chopra commented on SLING-9871:
--------------------------------------

hi [~bdelacretaz]
{quote}
I think we are mixing two concerns here:

C1) The order in which repoinit fragments provided in feature models are 
processed (by the Sling Feature Launcher?) is hard to control

C2) The ordering in of ACL entries set by multiple executions of the 
SlingRepositoryInitializer that executes repoinit statements is impossible to 
control

My understanding is that C1) is the only immediate concern in the scope of this 
ticket.
{quote}

Sorry if I somehow miscommunicated - but to be clear, it is the C2 that this 
issue is concerned about. (this issue doesn't concern itself with the order in 
which repoinit fragments are processed).

The fact that (final) ordering of ACEs at a path is (currently) determined by 
"order in which repoinit fragments across feature-models are processed" is an 
implementation detail (or happenchance, if you may). This issue was created as 
a request to address this by decoupling the final ACE order with 
repoinit-fragment-processing order (one way to make that happen, as [~enorman] 
proposed in his first response, is by providing a set of directives to 
influence the final order).

> Specifying order of ACEs through repoinit directives
> ----------------------------------------------------
>
>                 Key: SLING-9871
>                 URL: https://issues.apache.org/jira/browse/SLING-9871
>             Project: Sling
>          Issue Type: Improvement
>          Components: Repoinit
>            Reporter: Ashish Chopra
>            Priority: Major
>
> As of writing this, repoinit processor (among other things not relevant to 
> this JIRA) collects {{create path}} statements and {{set ACL}} statements 
> declared in all the feature-models applicable to feature-aggregate under 
> consideration.
> Upon repository initialization, it applies all the {{create path}} 
> statements, followed by all the {{set ACL}} statements. However, the order in 
> which {{set ACL}} statements declared across feature models are applied isn't 
> defined (currently, it seems to be based on feature-model-name, 
> alphabetically ascending).
> This causes issues at times because we want the order of the ACEs to be 
> maintained (e.g., "deny"s for everyone at a given path must be the first ACE, 
> followed by "allow"s for specific, non-system-user principals)
> Repoinit should be able to support this requirement.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to