sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tomek Rękawek (JIRA) <j...@apache.org>
Subject [jira] [Commented] (SLING-848) Support getting versioned resources by using uri path parameters
Date Wed, 07 Jun 2017 12:09:18 GMT

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

Tomek Rękawek commented on SLING-848:
-------------------------------------

The current state is as follows:

*1. Parameters has to be put at the end of the path*

Valid:
{noformat}
/content/mysite/page;foo=bar
{noformat}

Invalid:
{noformat}
/content/mysite;foo=bar/page
{noformat}

*2. Parameters can be put before or after extension*
{noformat}
/content/mysite/page;foo=bar.html
/content/mysite/page.html;foo=bar
{noformat}

*3. Single-quotes can be used to escape values*
{noformat}
/content/mysite/page;foo='bar'
/content/mysite/page;foo=bar
{noformat}

*4. Single-quotes has to be used to escape values containing dots, if the parameters are specified
before extension*
Valid:
{noformat}
/content/mysite/page.html;v=1.0
/content/mysite/page;v='1.0'.html
{noformat}

Invalid:
{noformat}
/content/mysite/page.html;v=1.0.html
{noformat}

If I understand correctly, the rule 1 is OK, but 2, 3 and 4 controversial and [~fielding]
suggestion is to get rid of them. In other words:

* parameters can only be put after extension,
* single-quotes can't be used to escape the parameter value,
* the path should be resolved in a "smart" way, so if there's a node matching the path (even
containing parameters), it should be used directly.

Is this right?

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

Mime
View raw message