[
https://issues.apache.org/jira/browse/SLING-1778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12910179#action_12910179
]
Julian Sedding commented on SLING-1778:
---------------------------------------
Thanks for the feedback so far!
@Bertrand
> Seems like this could be very confusing...if you really need it, I'd suggest
> making it configurable and turned off by default.
It is configurable via the sling:overlayable boolean property and the default,
i.e. if the property is missing, is off.
@Felix
> * As for the symlink query: I would look for sling:symlinkTarget properties
agreed
> * sling:overlayable: I understand the concept, but: can we come up with a
> nicer name ? ;-)
Please feel free to suggest something more intuitive ;)
> * The ResourceResolver field of the SymlinkManager should be private. Access
> to the field for the SymlinkResourceProvider
> should be possible using a getter method
Yes, that should be private. I think it is not used by SymlinkResourceProvider
at all.
> * SymlinkResourceProvider.listChildren should probably support non-Symlink
> resources, particularly if the symlink overlay is
> enabled
Yes, I was thinking about this. I don't think it's trivial, as the
ResourceResolver might go into a recursion. That's the reason I'm using the JCR
API in places. An option might be to directly query other ResourceProviders.
> * As a convenience it would be usefull to add the rootPath to the
> service.description property of the provider service registration
Purely for information? Yes, makes sense. A web console plugin might also be
useful. I was also playing with the thought of exposing SymlinkManager as a
service and provide an API to e.g. list registered symlinks.
> * Not sure here: Would it make sense to have the sling:SymlinkResource type
> also extend sling:Resource ?
Not sure either, probably won't hurt. What's the use of slingResource btw?
> * How is the symlink resource accessible ?
I used CRXDE lite for testing, which works via the Jackrabbit davx servlet.
Therefore I don't know. Is the POST servlet purely JCR based? If that's the
case, at least modifications would be possible. It seems, however, that a
solution is needed to also view the symlink definition. Ideas welcome :)
> ... one more thing: for us to be able to use this contribution you should
> upload it with the "Grant license to ASF for inclusion in ASF works" button
> checked. Thanks.
That's a mistake, I meant to check this of course.
@Justin
I agree that shareable nodes could be an alternative way to explore this.
However, the use-case I need to cover is creating a language tree in a WCM
scenario, which can be gradually overlayed with translated pages. So the "with
exception of overlayable" would have hurt.
> Symlinks
> --------
>
> Key: SLING-1778
> URL: https://issues.apache.org/jira/browse/SLING-1778
> Project: Sling
> Issue Type: New Feature
> Components: JCR
> Reporter: Julian Sedding
> Attachments: symlinks.patch
>
>
> I have implemented a ResourceProvider, which allows to create symlink nodes
> in the JCR repository. A symlink node has a sling:symlinkTarget property,
> which should contain a valid JCR path. JCR content from the
> sling:symlinkTarget path is then exposed below the symlink node.
> There is a mixin node type, sling:Symlink with a mandatory property
> sling:symlinkTarget and an optional property sling:overlayable. Additionally,
> there is a convenience node type, sling:SymlinkResource, which extends from
> sling:symlinkTarget and nt:unstructured.
> ResourceProvider instances are registered for existing symlinks when the
> bundle is started. Modifications are taken care of via JCR observation.
> To get started:
> * apply the attached patch to a trunk checkout
> * build and install the bundle
> * create a symlink node, pointing to some existing content
> * access the symlink node e.g. via a browser
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.