You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Alexander Klimetschek (JIRA)" <ji...@apache.org> on 2017/06/05 21:49:04 UTC

[jira] [Commented] (SLING-848) Support getting versioned resources by using uri path parameters

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

Alexander Klimetschek commented on SLING-848:
---------------------------------------------

[~tomek.rekawek] [~cziegeler]

This change looks like it makes it impossible to read resources containing a ";" in their name via getResource(path). In case of the JCR resource provider, these can be created via the JCR API.

This is because a path like {{/content/something;else}} will be parsed as {{/content/something}} in getResource(path) (within getResourceInternal()) and thus not found. I am using 1.5.22 of org.apache.sling.resourceresolver.

IIUC, this type of parameter parsing for URLs should only be done in resolve(), but not in getResource()?

> Support getting versioned resources by using uri path parameters
> ----------------------------------------------------------------
>
>                 Key: SLING-848
>                 URL: https://issues.apache.org/jira/browse/SLING-848
>             Project: Sling
>          Issue Type: New Feature
>          Components: API, JCR, ResourceResolver
>    Affects Versions: JCR Resource 2.0.2
>            Reporter: Carsten Ziegeler
>            Assignee: Tomek Rękawek
>             Fix For: JCR Resource 2.5.0, API 2.9.0, Resource Resolver 1.2.0
>
>         Attachments: SLING-848-metadata.patch
>
>
> Getting versioned content should be support thorough uri path parameters, like /something/hello;v=1.1
> For jcr based resources the value of the version should either point to a version name or label.
> In order to not change our existing apis, we introduce a new utility method which removes all uri path parameters
> and returns a map of these. Every resource provider could use this utility method and then decide to act on these
> parameters.
> If a requested version does not exists, a 404 is returned.
> If the requested node does not directly point to a versionable node, the algorithm checks the parent hierarchy until a versionable node is found, and tries to get the version of this node and then goes down the path again. If the versionable node does not have the requested version or the child, a 404 is returned.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)