Hi Dominik,

On Mon, Jun 16, 2014 at 1:55 PM, Dominik Süß <dominik.su...@gmail.com> wrote:
> ...I fear it is not as easy since this mandates rendering engines to be able
> to perform that filtering (in other words - to be able to skip rendering
> based on the feature flag)...

so IIUC you're looking at the "alter resource rendering" use case of [1] ?

Note that even if the resource resolver hides rendering resources like
scripts, I suspect you'll get in trouble as rendering scripts are
cached. That's a good example of why I pushed for the SLING-3483
removal.

> ...This might not be that much work if applying features in
> the first place, but just think of a solution like AEM where a huge
> codebase should be "featurized" (e.g. a part should be deactivable due to
> licencing or some other criteria)...

I sense a slightly more complex use case than [1] here...not sure if
in-content feature flags are the right way to implement this.

>... If I got the idea of featureflags right they should be at least invasive in
> code as possible, keeping the risk low that a deactivated feature by
> accident influences the rest of the system at all....

aka "magic feature flags" ;-)

I agree that this looks nice, but as mentioned before I'm wary of
multiple weird side effects like the caching thing mentioned above.
We've seen those coming before SLING-3483, and so far no one has been
able to reassure me that we're not opening a can of worms.

> ...From a consumers perspective I would like to be able to declare resources
> to be part of a feature (whitelisting) and probably to be removed for a
> feature (blacklisting - although this requires a logic resolving potential
> theoretical conflicts with a whitelist) by adding attributes...

Assuming you want to work like this for scripts, how to you handle
rendering servlets?

-Bertrand

[1] 
https://cwiki.apache.org/confluence/display/SLING/Sling+Feature+Flags+support

P.S. no emotions about this on my side...I'm just not convinced so
far, and wary of possible side effects. Best way to convince me is
probably a prototype with sufficiently good tests that prove me wrong.

Reply via email to