Definitions

Some context

There has been some confusion regarding the concepts of Partners, Sites, and Organizations and how they work together in Open edX to yield a crude form of multi-tenant capability.  Several issues help to contribute to this confusion:

Notwithstanding these issues, we are continuing to push forward with development of the system's multi-tenancy framework on an ad-hoc, as-needed basis, filling in the gaps on a use-case by use-case basis.  

As of this writing, the most recent development on the multi-tenancy front was the introduction of multi-Partner support in the Catalog service.  This new feature enables Catalog service indexing of data from multiple service endpoints (Sites) tagging each record collected as pertaining to a particular partner.  Clients are subsequently able to filter query results by partner short code.  Discussion was had around the proper concept to utilize in order to achieve the necessary type of data partitioning required for the use case.  Django Sites were considered (with addition of a new SiteConfiguration model), but decided against because the Catalog service is considered a "backend" data service.  We attempted to map the Organization concept to this partitioning, but the multi-organization scenario presented by courses.edx.org meant we could not easily use Organization in that context.  After reviewing our other services, we noted the concept of Partner was already present in Otto and seeing that it supported the multi-Organization case and did not require Django Sites to be implemented, decided it was the right entity to use for the Catalog service as well.

With the expansion of the Partner entity, we now have a concept available which could provide a common thread for workflows spanning across multiple services.  A Partner maps to our backend financial systems, and could function as a collection of one or more Sites, as well as a collection of one or more Organizations, which solves many of the above-noted issues.  We currently have an open question regarding the Source of Truth for Partners, and this is something we should answer before getting too much further along with the use of this entity as the meta-concept for our multi-tenant initiatives.