You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Carsten Ziegeler (JIRA)" <ji...@apache.org> on 2011/01/10 08:23:45 UTC

[jira] Updated: (SLING-1923) Improve the (internal) resource handling

     [ https://issues.apache.org/jira/browse/SLING-1923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carsten Ziegeler updated SLING-1923:
------------------------------------

    Affects Version/s:     (was: Scripting JavaScript 2.0.12)
                           (was: Scripting JSP 2.0.14)
                           (was: Scripting API 2.1.4)
                           (was: Scripting JST 2.0.6)
                           (was: Scripting JST 2.0.4)
                           (was: Scripting Java 2.0.2)
                           (was: Parent 11)
                           (was: Scripting JSP-Taglib 2.1.2)
                           (was: Scripting JSP 2.0.12)
                           (was: Scripting JavaScript 2.0.10)
                           (was: Scripting Core 2.0.16)
                           (was: Installer Core 3.0.2)
                           (was: Scripting Velocity 2.0.2)
                           (was: Scripting Velocity 2.0.0)
                           (was: Servlets Resolver 2.1.2)
                           (was: Servlets Get 2.1.2)
                           (was: Servlets Post 2.1.2)
                           (was: Parent 10)
                           (was: Scripting Core 2.0.14)
                           (was: Path based RTP 2.0.4)
                           (was: Scripting API 2.1.2)
                           (was: Scripting API 2.1.0)
                           (was: Servlets Get 2.1.0)
                           (was: Parent 9)
                           (was: Scripting Java 2.0.0)
                           (was: Scripting JSP-Taglib 2.1.0)
                           (was: Scripting JSP 2.0.10)
                           (was: Scripting JavaScript 2.0.8)
                           (was: Scripting Core 2.0.10)
                           (was: Scripting JSP-Atom-Taglib 1.0.0)
                           (was: Servlets Resolver 2.1.0)
                           (was: Scripting Core 2.0.8)
                           (was: Servlets Get 2.0.8)
                           (was: Parent 8)
                           (was: Servlets Post 2.1.0)
                           (was: Scripting JSP-Taglib 2.0.6)
                           (was: Scripting JavaScript 2.0.6)
                           (was: Parent 7)
                           (was: Scripting Core 2.0.6)
                           (was: Scripting JSP 2.0.8)
                           (was: Servlets Resolver 2.0.8)
                           (was: Servlets Get 2.0.6)
                           (was: Parent 6)
                           (was: Parent 5)
                           (was: Scripting Java 1.0.0)
                           (was:  Scripting JavaScript 2.0.4)
                           (was:  Servlets Resolver 2.0.6)
                           (was: Scripting JSP-Taglib 2.0.4)
                           (was: Servlets Get 2.0.4)
                           (was: Scripting Core 2.0.4)
                           (was: Scripting JSP 2.0.6)
                           (was: Servlets Post 2.0.4)
                           (was: Samples Webloader UI 2.0.2)
                           (was: Samples Webloader Service 2.0.2)
                           (was: Path Based RTP 2.0.2)
                           (was: Samples Simple Demo 2.0.2)
                           (was: Scripting JSP-Taglib 2.0.2)
                           (was: Scripting JSP 2.0.2)
                           (was: Scripting JavaScript 2.0.2)
                           (was: Scripting Core 2.0.2)
                           (was: Scripting API 2.0.2)
                           (was: Servlets Post 2.0.2)
                           (was: Servlets Get 2.0.2)
                           (was: Servlets Resolver 2.0.4)

> Improve the (internal) resource handling
> ----------------------------------------
>
>                 Key: SLING-1923
>                 URL: https://issues.apache.org/jira/browse/SLING-1923
>             Project: Sling
>          Issue Type: Improvement
>          Components: Installer
>    Affects Versions: Installer Core 3.0.0
>            Reporter: Carsten Ziegeler
>            Assignee: Carsten Ziegeler
>             Fix For: Installer Core 3.0.2
>
>
> The current resource handling has some drawbacks - one is that a resource is always copied into the local data store even if it did not change; another one is that integrating new concepts like the resource transformer etc is difficult and error prone.
> The first thing we should change is the resource types, currently we have CONFIG and BUNDLE - this assumes that the client knows what resources it is providing - however it is not the task of the client to decide this; in many cases the client has even not the knowledge about it. Therefore we should introduce two new resource types PROPERTIES and FILE.
> However, if the client really knows what it is dealing with, it can use one of the two new types OSGI_BUNDLE or OSGI_CONFIG - we introduce these new types, to be more compatible - the old constants CONFIG and BUNDLE will be deprecated and aliases for PROPERTIES and FILE!
> When a new resource provider is registering itself or an update of resources takes place, merging of resources should be done immediately - the sync first does some general sanity checks on the incoming data and then uses URL and digest of the data to check for updates/removes. If a resource with the same URL and digest is already available, it is assumed to be the same and no further processing is required! This avoids unnecessary copies.
> We further decide between incoming resource type (usually PROPERTIES or FILE) and processing resource type. The new resource transformer services are responsible for this transformation (maybe in combination with data transformation). A resource transformer can omit one or more resources with resource type and data.
> If a resource has a processing resource type, this resource is used to be processed by the osgi installer task factories. As long as the resource has no processing resource type, it is not processed.

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