Uploaded image for project: 'Sling'
  1. Sling
  2. SLING-278

Add Resource Type inheritance

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3
    • JCR
    • None

    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

      Attachments

        Issue Links

          Activity

            People

              fmeschbe Felix Meschberger
              fmeschbe Felix Meschberger
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: