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

Bertrand Delacretaz commented on SLING-2920:
--------------------------------------------

As Carsten said above, reverting to the old behavior (by configuration or 
hardcoded) might not fix things as people might have a mix of filters that use 
one or the other convention.

To fix this for cases where people cannot modify the source code of some 
filters I guess the only way is to implement a utility that can change the 
ranking of specific filters once they're registered. That utility would be 
configured with a list of LDAP filters (to select which service to change) 
associated with their new service rankings. It can actually be generic, not 
limited to filter services.

Not very nice but I don't see a better solution given that both conventions 
have been out for some time now.

> Wrong handling of Sling Filter ordering
> ---------------------------------------
>
>                 Key: SLING-2920
>                 URL: https://issues.apache.org/jira/browse/SLING-2920
>             Project: Sling
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: Engine 2.2.8
>            Reporter: Felix Meschberger
>            Assignee: Carsten Ziegeler
>             Fix For: Engine 2.3.4
>
>         Attachments: SLING-2920.patch
>
>
> It looks like the ordering of Sling Filters is not implemented as it is 
> documented on [1].
> The documented intent is:
> * service.ranking ordering with higher numbers being higher preference over 
> lower numbers
> * filter.order ordering with lower numbers being higher preference over 
> higher numbers
> * filter.order is ignored if service.ranking is defined
> * higher preferenced filters called before lower preferenced filters
> Actual implementation:
> * service.ranking ordering with lower numbers being higher preference over 
> higher numbers
> * filter.order ordering with lower numbers being higher preference over 
> higher numbers
> * filter.order is ignored if service.ranking is defined
> * higher preferenced filters called before lower preferenced filters
> As one can see, the service.ranking ordering is not properly implemented. It 
> looks like this has been wrong since the first implementation as of 
> SLING-1735 (Jan 2011).
> We can either live with this actual implementation and fix the documentation 
> or fix the implementation at the cost of having to also fix any down-stream 
> filter providers using service.ranking values as implemented (and not as 
> documented).
> Discussion at http://sling.markmail.org/thread/h6uiveb2udw6y46q
> [1] http://sling.apache.org/documentation/the-sling-engine/filters.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to