Multitenancy and Repositories

Contendo Server is designed with multitenancy in mind, allowing for the separation and management of data across different tenants. In Contendo Server, tenants are referred to as Domains. Content can be further grouped within a domain in storage units called Repositories

Domains

A Domain represents an isolated environment within Contendo Server. Each domain has its own users, access control settings, and content storage, ensuring complete segregation between different clients or organizational units.

Each domain operates independently, preventing data leakage across domains. Users, groups, and access control are managed per domain. Users and groups with the same name across multiple domains are strictly separate.

Repositories

A Repository is the actual storage unit for objects and their metadata within a domain. Each domain may contain multiple repositories, depending on organizational needs and data structuring requirements.

A domain can have multiple repositories, but each repository belongs to only one domain. Different domains can have repositories with a shared name, but they are not the same repository and are strictly separated.

Repositories store all objects, including documents, folders, and relationships. Users and groups are defined on repository level - depending on access control a user or group can have access to a single, multiple or even all repositories in a domain.

Operation URL Types

Operations in Contendo Server are executed either on the Domain or the Repository level. Depending on this scope, we have two types of urls:

  • Domain URL ({DOMAIN_URL}) - Used for operations that apply to the entire domain, such as managing repositories, users, and groups.
  • Repository URL ({REPOSITORY_URL}) - Used for operations performed on a specific repository, including managing types, handling objects, and configuring access control. Repository URLs are built upon domain URLs in this format: {DOMAIN_URL}/{repositoryId}