[ https://issues.apache.org/jira/browse/SLING-233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12578211#action_12578211 ]
Bertrand Delacretaz commented on SLING-233: ------------------------------------------- Agree about wontfix, we can always reopen if the need comes > UjaxPostServlet should care to find an appropriate parent location for new > nodes > -------------------------------------------------------------------------------- > > Key: SLING-233 > URL: https://issues.apache.org/jira/browse/SLING-233 > Project: Sling > Issue Type: Improvement > Components: Launchpad > Reporter: Felix Meschberger > Assignee: Felix Meschberger > Fix For: 2.0.0 > > > When the UjaxPostServlet is called with an URL not resolving to an existing > resource, it just takes the missing resource path as the path of the node to > handle. > This may be a problem in case the ResourceResolver applies a mapping, such as: > /* ==> /content/* - try every path below /content/ > /* ==> /* - try every path unmodified > The intent of this is to first locate resources below the /content/ node and > only then unmodified. This way, the primary web site content may be stored > below /content but still be accessed as if it would be located just below > root. > Consider a POST request to /home/intro where the /home page does not exist > (yet). In this case currently, the /home/intro node would be created as > requested. If the /home page would be located at /content/home, the new node > would be created as /content/home/intro. > To work around this problem, I suggest to modify the servlet, such that in > the case of a missing resource such as /home/intro or /home/* the request > path is walked up until a resource can be resolved. In the example POST to > /home/intro with a missing /content/home resource, the post servlet would go > up to "/" which resolves to "/content" (assuming /content exists of course) > and thus would create the new node under /content/home automatically also > creating the intermediate /content/home node. > To be able to still create nodes at the exact path, I propose the > introduction of a control parameter ujax:parentMatch: > ujax:parentMatch == "exact" --> use the request path as node path as > is without resolving a parent > ujax:parentMatch == "resolve" --> resolve a parent node and have > intermediate nodes created accordingly > The default value if the ujax:parentMatch parameter is missing is "resolve". > WDYT ? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.