You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2008/02/26 12:13:51 UTC

[jira] Created: (SLING-278) Add Resource Type inheritance

Add Resource Type inheritance
-----------------------------

                 Key: SLING-278
                 URL: https://issues.apache.org/jira/browse/SLING-278
             Project: Sling
          Issue Type: New Feature
          Components: Resource, ServletResolver
            Reporter: Felix Meschberger
            Assignee: Felix Meschberger
             Fix For: 2.0.0


As discussed on the dev-list [1], resource type inheritance for script/servlet resolution should be implemented as follows:

   * define an optional property sling:resourceSuperType which may take a resource type used as 
        the super type of a resource type. This property is stored at the node where the scripts
        located for the resource type. (see below)

   * if the sling:resourceSuperType is not set for a given resource type, any non-mixin base type
        of the primary node type of the resource node may be selected.

   * the resourceSuperType of a property resource is the resourceSuperType of the parent node
        plus the property name.

   * define a sling:ResourceSuperType mixin node type, which defines the sling:resourceType
        property for it to be attachable to any node.

   * Add Resource.getResourceSuperType() returning the super type of the resource type or
        null if no such super type exists.

   * Add support to the Servlet Resolver to resolve scripts not just for the resource type but also
        for the super type (if defined). This super type resolution takes place before falling back
        default scripts !


[1] http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html

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


[jira] Commented: (SLING-278) Add Resource Type inheritance

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572911#action_12572911 ] 

Felix Meschberger commented on SLING-278:
-----------------------------------------

Extended the Sling API with the new Resource.getResourceSuperType method in Rev. 631599.

> Add Resource Type inheritance
> -----------------------------
>
>                 Key: SLING-278
>                 URL: https://issues.apache.org/jira/browse/SLING-278
>             Project: Sling
>          Issue Type: New Feature
>          Components: Resource, ServletResolver
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: 2.0.0
>
>
> As discussed on the dev-list [1], resource type inheritance for script/servlet resolution should be implemented as follows:
>    * define an optional property sling:resourceSuperType which may take a resource type used as 
>         the super type of a resource type. This property is stored at the node where the scripts
>         are located for the resource type or at the node itself. (see below)
>    * the resourceSuperType of a property resource is the resourceSuperType of the parent node
>         plus the property name.
>    * define a sling:ResourceSuperType mixin node type, which defines the sling:resourceType
>         property for it to be attachable to any node.
>    * Add Resource.getResourceSuperType() returning the super type of the resource type or
>         null if no such super type exists.
>    * Add support to the Servlet Resolver to resolve scripts not just for the resource type but also
>         for the super type (if defined). This super type resolution takes place before falling back
>         default scripts !
> Sample:
>     /
>     +--- types
>                 +--- type1
>                 +--- type2
>                              +--- sling:resourceSuperType = type1
>                 +--- type3
>     +--- content
>                  +--- en
>                              +--- sling:resourceType = type2
>                  +--- en
>                              +--- sling:resourceType = type2
>                              +--- sling:resourceSuperType = type3
> The resource super types are defined as follows:
>      /types/type1 --> no super type
>      /types/type2 --> type1, due to sling:resoureSuperType property
>      /content/en  --> type1, due to sling:resourceSuperType property in types/type2
>      /conent/de   --> type3, due to sling:resourceSuperType property
> [1] http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html

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


[jira] Commented: (SLING-278) Add Resource Type inheritance

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572915#action_12572915 ] 

Felix Meschberger commented on SLING-278:
-----------------------------------------

In Rev. 631601:
   * Resource.getResourceSuperType() implementation for JCR based Resources
   * mixin node type to be able to set the sling:resourceSuperType property
   * constant for the sling:resourceSuperType property
   * utility method to retrieve the super type of a given resource type
               (JcrResourceUtil.getResourceSuperType())
   * unit tests



> Add Resource Type inheritance
> -----------------------------
>
>                 Key: SLING-278
>                 URL: https://issues.apache.org/jira/browse/SLING-278
>             Project: Sling
>          Issue Type: New Feature
>          Components: Resource, ServletResolver
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: 2.0.0
>
>
> As discussed on the dev-list [1], resource type inheritance for script/servlet resolution should be implemented as follows:
>    * define an optional property sling:resourceSuperType which may take a resource type used as 
>         the super type of a resource type. This property is stored at the node where the scripts
>         are located for the resource type or at the node itself. (see below)
>    * the resourceSuperType of a property resource is the resourceSuperType of the parent node
>         plus the property name.
>    * define a sling:ResourceSuperType mixin node type, which defines the sling:resourceType
>         property for it to be attachable to any node.
>    * Add Resource.getResourceSuperType() returning the super type of the resource type or
>         null if no such super type exists.
>    * Add support to the Servlet Resolver to resolve scripts not just for the resource type but also
>         for the super type (if defined). This super type resolution takes place before falling back
>         default scripts !
> Sample:
>     /
>     +--- types
>                 +--- type1
>                 +--- type2
>                              +--- sling:resourceSuperType = type1
>                 +--- type3
>     +--- content
>                  +--- en
>                              +--- sling:resourceType = type2
>                  +--- en
>                              +--- sling:resourceType = type2
>                              +--- sling:resourceSuperType = type3
> The resource super types are defined as follows:
>      /types/type1 --> no super type
>      /types/type2 --> type1, due to sling:resoureSuperType property
>      /content/en  --> type1, due to sling:resourceSuperType property in types/type2
>      /conent/de   --> type3, due to sling:resourceSuperType property
> [1] http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html

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


[jira] Updated: (SLING-278) Add Resource Type inheritance

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger updated SLING-278:
------------------------------------

    Description: 
As discussed on the dev-list [1], resource type inheritance for script/servlet resolution should be implemented as follows:

   * define an optional property sling:resourceSuperType which may take a resource type used as 
        the super type of a resource type. This property is stored at the node where the scripts
        are located for the resource type or at the node itself. (see below)

   * the resourceSuperType of a property resource is the resourceSuperType of the parent node
        plus the property name.

   * define a sling:ResourceSuperType mixin node type, which defines the sling:resourceType
        property for it to be attachable to any node.

   * Add Resource.getResourceSuperType() returning the super type of the resource type or
        null if no such super type exists.

   * Add support to the Servlet Resolver to resolve scripts not just for the resource type but also
        for the super type (if defined). This super type resolution takes place before falling back
        default scripts !


Sample:

    /
    +--- types
                +--- type1
                +--- type2
                             +--- sling:resourceSuperType = type1
                +--- type3
    +--- content
                 +--- en
                             +--- sling:resourceType = type2
                 +--- en
                             +--- sling:resourceType = type2
                             +--- sling:resourceSuperType = type3

The resource super types are defined as follows:
     /types/type1 --> no super type
     /types/type2 --> type1, due to sling:resoureSuperType property
     /content/en  --> type1, due to sling:resourceSuperType property in types/type2
     /conent/de   --> type3, due to sling:resourceSuperType property


[1] http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html

  was:
As discussed on the dev-list [1], resource type inheritance for script/servlet resolution should be implemented as follows:

   * define an optional property sling:resourceSuperType which may take a resource type used as 
        the super type of a resource type. This property is stored at the node where the scripts
        located for the resource type. (see below)

   * if the sling:resourceSuperType is not set for a given resource type, any non-mixin base type
        of the primary node type of the resource node may be selected.

   * the resourceSuperType of a property resource is the resourceSuperType of the parent node
        plus the property name.

   * define a sling:ResourceSuperType mixin node type, which defines the sling:resourceType
        property for it to be attachable to any node.

   * Add Resource.getResourceSuperType() returning the super type of the resource type or
        null if no such super type exists.

   * Add support to the Servlet Resolver to resolve scripts not just for the resource type but also
        for the super type (if defined). This super type resolution takes place before falling back
        default scripts !


[1] http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html


* Remove fall back to JCR node type hierarchy. This is confusing as it mixes two concepts switching back and forth.
* Add example use of sling:resourceSuperType settings

> Add Resource Type inheritance
> -----------------------------
>
>                 Key: SLING-278
>                 URL: https://issues.apache.org/jira/browse/SLING-278
>             Project: Sling
>          Issue Type: New Feature
>          Components: Resource, ServletResolver
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: 2.0.0
>
>
> As discussed on the dev-list [1], resource type inheritance for script/servlet resolution should be implemented as follows:
>    * define an optional property sling:resourceSuperType which may take a resource type used as 
>         the super type of a resource type. This property is stored at the node where the scripts
>         are located for the resource type or at the node itself. (see below)
>    * the resourceSuperType of a property resource is the resourceSuperType of the parent node
>         plus the property name.
>    * define a sling:ResourceSuperType mixin node type, which defines the sling:resourceType
>         property for it to be attachable to any node.
>    * Add Resource.getResourceSuperType() returning the super type of the resource type or
>         null if no such super type exists.
>    * Add support to the Servlet Resolver to resolve scripts not just for the resource type but also
>         for the super type (if defined). This super type resolution takes place before falling back
>         default scripts !
> Sample:
>     /
>     +--- types
>                 +--- type1
>                 +--- type2
>                              +--- sling:resourceSuperType = type1
>                 +--- type3
>     +--- content
>                  +--- en
>                              +--- sling:resourceType = type2
>                  +--- en
>                              +--- sling:resourceType = type2
>                              +--- sling:resourceSuperType = type3
> The resource super types are defined as follows:
>      /types/type1 --> no super type
>      /types/type2 --> type1, due to sling:resoureSuperType property
>      /content/en  --> type1, due to sling:resourceSuperType property in types/type2
>      /conent/de   --> type3, due to sling:resourceSuperType property
> [1] http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html

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


[jira] Closed: (SLING-278) Add Resource Type inheritance

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/SLING-278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Felix Meschberger closed SLING-278.
-----------------------------------

    Resolution: Fixed

Everything is in place and works. So I close this issue.

> Add Resource Type inheritance
> -----------------------------
>
>                 Key: SLING-278
>                 URL: https://issues.apache.org/jira/browse/SLING-278
>             Project: Sling
>          Issue Type: New Feature
>          Components: Resource, ServletResolver
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: 2.0.0
>
>
> As discussed on the dev-list [1], resource type inheritance for script/servlet resolution should be implemented as follows:
>    * define an optional property sling:resourceSuperType which may take a resource type used as 
>         the super type of a resource type. This property is stored at the node where the scripts
>         are located for the resource type or at the node itself. (see below)
>    * the resourceSuperType of a property resource is the resourceSuperType of the parent node
>         plus the property name.
>    * define a sling:ResourceSuperType mixin node type, which defines the sling:resourceType
>         property for it to be attachable to any node.
>    * Add Resource.getResourceSuperType() returning the super type of the resource type or
>         null if no such super type exists.
>    * Add support to the Servlet Resolver to resolve scripts not just for the resource type but also
>         for the super type (if defined). This super type resolution takes place before falling back
>         default scripts !
> Sample:
>     /
>     +--- types
>                 +--- type1
>                 +--- type2
>                              +--- sling:resourceSuperType = type1
>                 +--- type3
>     +--- content
>                  +--- en
>                              +--- sling:resourceType = type2
>                  +--- en
>                              +--- sling:resourceType = type2
>                              +--- sling:resourceSuperType = type3
> The resource super types are defined as follows:
>      /types/type1 --> no super type
>      /types/type2 --> type1, due to sling:resoureSuperType property
>      /content/en  --> type1, due to sling:resourceSuperType property in types/type2
>      /conent/de   --> type3, due to sling:resourceSuperType property
> [1] http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html

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


[jira] Commented: (SLING-278) Add Resource Type inheritance

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SLING-278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12572918#action_12572918 ] 

Felix Meschberger commented on SLING-278:
-----------------------------------------

In Rev. 631604:
   * Added ServletResource.getResourceSuperType() method
   * Enhanced script/servlet search to include resource super types before looking for default servlets

> Add Resource Type inheritance
> -----------------------------
>
>                 Key: SLING-278
>                 URL: https://issues.apache.org/jira/browse/SLING-278
>             Project: Sling
>          Issue Type: New Feature
>          Components: Resource, ServletResolver
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: 2.0.0
>
>
> As discussed on the dev-list [1], resource type inheritance for script/servlet resolution should be implemented as follows:
>    * define an optional property sling:resourceSuperType which may take a resource type used as 
>         the super type of a resource type. This property is stored at the node where the scripts
>         are located for the resource type or at the node itself. (see below)
>    * the resourceSuperType of a property resource is the resourceSuperType of the parent node
>         plus the property name.
>    * define a sling:ResourceSuperType mixin node type, which defines the sling:resourceType
>         property for it to be attachable to any node.
>    * Add Resource.getResourceSuperType() returning the super type of the resource type or
>         null if no such super type exists.
>    * Add support to the Servlet Resolver to resolve scripts not just for the resource type but also
>         for the super type (if defined). This super type resolution takes place before falling back
>         default scripts !
> Sample:
>     /
>     +--- types
>                 +--- type1
>                 +--- type2
>                              +--- sling:resourceSuperType = type1
>                 +--- type3
>     +--- content
>                  +--- en
>                              +--- sling:resourceType = type2
>                  +--- en
>                              +--- sling:resourceType = type2
>                              +--- sling:resourceSuperType = type3
> The resource super types are defined as follows:
>      /types/type1 --> no super type
>      /types/type2 --> type1, due to sling:resoureSuperType property
>      /content/en  --> type1, due to sling:resourceSuperType property in types/type2
>      /conent/de   --> type3, due to sling:resourceSuperType property
> [1] http://www.mail-archive.com/sling-dev@incubator.apache.org/msg02365.html

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