You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Oliver Lietz (JIRA)" <ji...@apache.org> on 2018/09/18 11:26:00 UTC

[jira] [Commented] (OAK-7756) Register node store as Observable

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

Oliver Lietz commented on OAK-7756:
-----------------------------------

bq. I think this is rather an improvement. Changed issue type accordingly.

Well, from an OSGi point of view it's in my opinion a bug as knowing and relying on (private) internals and a cast is required. But as long as it's gets fixed or improved I'm fine with any type.

bq. Registering a NodeStore also as an Observable sounds reasonable to me, but since the Observable provides read access to the NodeStore, I would think the same application code that restricts access to the NodeStore will also restrict access to an Observable.

Probably, so it would be nice to make {{SecureContentRepositoryAccess}} configurable – but this is a different story.

bq. So even if Oak exposed the NodeStore as an Observable you'd be back to square one.

That's maybe true for AEM but for Sling it's fine and makes the intention in code obvious.

[~mreutegg], can you take over this issue? Should I open PRs for the three stores (did I miss a NodeStore)?

> Register node store as Observable
> ---------------------------------
>
>                 Key: OAK-7756
>                 URL: https://issues.apache.org/jira/browse/OAK-7756
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>            Reporter: Oliver Lietz
>            Priority: Major
>
> The recently released [Sling Clam module|https://github.com/apache/sling-org-apache-sling-clam] uses the NodeStore service for listening to add and change events.
> That works fine on Sling but a cast to {{Observable}} is required.
> On AEM it works not OOTB as {{com.day.crx.sling.server.impl.jmx.SecureContentRepositoryAccess}} prevents direct access to {{NodeStore}} and therefore {{SecureContentRepositoryAccess}} component has to be disabled to make it work.
> To get rid of the cast and the limitation on AEM node stores should be registered as {{Observable}} also.
>  * {{SegmentNodeStore}} in {{SegmentNodeStoreService}}
>  * {{DocumentNodeStore}} in {{DocumentNodeStoreService}}
>  * {{CompositeNodeStore}} in {{CompositeNodeStoreService}}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)