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

Alexander Klimetschek commented on SLING-3909:
----------------------------------------------

{quote}Modification are always done on the "most significant" resource{quote}

I disagree, it depends on the application logic.

Thus I think a CRUD implementation (which would know how to write the correct 
"merge" properties such as hide) should be separate from the resources returned 
from the merged provider (these would only be readonly), and an application 
would be able to tell where to do the change (e.g. where on the search path or 
list of resource to merge). Last but not least it would be nice if this works 
easily with the sling post servlet (maybe using an extension there) and doesn't 
require a custom API. Otherwise folks will start writing many CRUD servlets for 
any merged content, something that we want to avoid with sling.

> Merged ResourceProviders should be optionally modifiable
> --------------------------------------------------------
>
>                 Key: SLING-3909
>                 URL: https://issues.apache.org/jira/browse/SLING-3909
>             Project: Sling
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Justin Edelson
>
> This is a continuation of the work originally started in SLING-3420.
> Modification are always done on the "most significant" resource (i.e. 
> /apps/foo instead of /libs/foo) as determined by the MergedResourcePicker.
> The algorithm for modification is as follows:
> * Create - if the most significant resource doesn't exist, one is created at 
> that path; otherwise an exception is thrown.
> * Delete - if the most significat resource doesn't exist, the hide children 
> property is set on the most signfiicant resource's parent. if it does exist, 
> it is deleted and the hide children property is set.
> * Property Modifications - most significant resource is created as necessary.
> ** Create - created on most significant resource
> ** Modify - created/updated on most significant resource
> ** Delete - deleted if necessary on most significant resource and hidden.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to