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

Bertrand Delacretaz commented on SLING-129:
-------------------------------------------

Committed a  simple implementation in revision 602927, SyntheticResource 
objects are created if no JCR Resource is found, and the path (iterated by 
ResourcePathIterator) matches one of the following default regexps:

public static String [] DEFAULT_PATH_REGEXP = {
        "/search(/.*)?",   // everything under /search
        ".*\\*$"          // everything ending with *
    };

We can of course make these regexps configurable, even if it's just in web.xml.

The "everything ending with *" is useful to solve the chicken-and-egg problem 
described in b) above, I'll try to explain more on the sling dev list as 
there's more to consider about this.

> microsling SyntheticResource, can be used for request paths which do not have 
> matching repository Nodes
> -------------------------------------------------------------------------------------------------------
>
>                 Key: SLING-129
>                 URL: https://issues.apache.org/jira/browse/SLING-129
>             Project: Sling
>          Issue Type: Improvement
>          Components: microsling
>            Reporter: Bertrand Delacretaz
>            Priority: Minor
>
> The Sling SyntheticResource [1] might be useful in microsling, for example:
> a) To implement search functions under /search, without having the 
> corresponding nodes. For example, "/search/customer/foo" could mean "find all 
> customers named foo", even though customers are not stored under /search
> b) To solve the chicken-and-egg problem of starting with an empty repository 
> for a blog application, for example, where /content/blog/*.post.html should 
> display an editing page, before any content exists.
> I'll implement a simple SyntheticResource based on path regexps: if the 
> MicroslingResourceResolver doesn't find a Resource and the request path 
> matches one of the regexps of the SyntheticResourceProvider, a 
> SyntheticResource is selected.
> [1] 
> https://svn.apache.org/repos/asf/incubator/sling/trunk/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/helper/ResourceProvider.java

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to