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

Reply via email to