You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Bertrand Delacretaz (JIRA)" <ji...@apache.org> on 2007/12/10 14:25:42 UTC
[jira] Created: (SLING-129) microsling SyntheticResource, can be
used for request paths which do not have matching repository Nodes
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.
[jira] Closed: (SLING-129) microsling SyntheticResource, can be
used for request paths which do not have matching repository Nodes
Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SLING-129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Felix Meschberger closed SLING-129.
-----------------------------------
Resolution: Fixed
Fix Version/s: 2.0.0
Assignee: Bertrand Delacretaz
Closing issue because it has been fixed from the perspective of microsling.
> 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
> Assignee: Bertrand Delacretaz
> Priority: Minor
> Fix For: 2.0.0
>
>
> 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.
[jira] Commented: (SLING-129) microsling SyntheticResource, can be
used for request paths which do not have matching repository Nodes
Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SLING-129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12550112 ]
Bertrand Delacretaz commented on SLING-129:
-------------------------------------------
In revision 602954, EctScriptEngine supports SyntheticResource.
Other script engines might need to be adapted as well, if they currently only support Resources that provide Nodes.
> 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.
[jira] Commented: (SLING-129) microsling SyntheticResource, can be
used for request paths which do not have matching repository Nodes
Posted by "Bertrand Delacretaz (JIRA)" <ji...@apache.org>.
[ 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.