Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt
hiddentrue

Describes different scenarios and use cases from the real world that the Sling Tenant implementing is supposed to fulfill.

Table of Contents

...

Multitenancy Status Quo (August 2014)

Resources and discussion on MultiTenancy in Sling from the last months:

Definition of terms

Definition of terms used in this wiki page

  • Multitenancy
    • The generic description is found in Wikipedia: http://en.wikipedia.org/wiki/Multitenancy
    • The main question is: what exactly is a "Tenant" in context of Sling, and what are the requirements for customization etc. This wiki page should help to shape the answers.
  • Content
    • Content accessible via Resources in the Resource Hierarchy (in most cases in a JCR content repository) which belongs to each tenant
    • Is stored by convention below /

...

    • content/*, but this is not mandatory
    • May be associated via resource types with scripts and components globally available, or tenant-specific custom scripts
  • Configuration
    • Configuration that customizes the system and application behavior
    • Either globally, or on a more fine-granular level (e.g. per tenant)
    • OSGi configurations are part of it, but there may be other configuration as well
  • Scripts
    • Scripts like JSP/ESP/Sightly/Java files stored as resources in the resource hierarchy that are used by Sling to render the views of the resources
    • Ca be both globally available (stored in /libs or /apps), or tenant-specifc
  • Bundles
    • Java bundles containing services deployed to the OSGI runtime
    • Usually bundles are always global, not tenant-specific. But configuration may be needed to be tenant-specific as well, which is currently only possible if the bundle implementation supports it.
  • Site
    • A site is a collection/subtree of resources of the content that forms a logical unit used to publish a CMS-based site
    • The root of the subtree may be the homepage, with the subnodes forming the content hierarchy of the site
    • Usually there is a need for site-specific configuration

Scenarios

After reviewing the discussions in the mailing lists there seem to be two major usecases that have the need for a Multitenancy support. Although there have some shared requirements, both have a set of special requirements with some complexity to implement that are not so relevant for the other.

// TODO

Usecases

// TODO