[
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)