Django-oscar: Better support for multi-tenancy sites

Created on 5 Mar 2013  Â·  4Comments  Â·  Source: django-oscar/django-oscar

_This is a work in progress ticket, intended to gather user stories for adding multi-tenancy support to Oscar_

Requirements:

  • [ ] Allow multiple (sub)domains to point to the same Oscar install.
  • [ ] Allow a subset of the catalogue to be shown on each site
  • [ ] Users should be able to login to each site so their address/billing information is shared
  • [ ] Reporting will need to distinguish between sites

Things that need to vary per site:

  • [ ] Offers
  • [ ] CMS-controlled pages
  • [ ] ~Promotions/merchandising~
★ New feature

Most helpful comment

We achieved multi-tenancy at edX (https://github.com/edx/ecommerce) in the following manner:

  • Added site foreign key to Basket model
  • Created a SiteConfiguration model with site-specific data, and linking Site objects to Partner objects.
  • Each Product has a single StockRecord whose related Partner allows us to determine which Site the product is affiliated with

In hindsight, the overloading of the Partner model is not ideal. Were I to change things, I would add a site foreign key to the Product model.

Note that we share users across the sites. This might not be desired in a truly white-label multi-tenancy scenario.

All 4 comments

This will only be started when a permission-based dashboard has been merged into master.

what is the status for this multi-tenancy ?

Hi all, I am also interested in utilizing this functionality. Has there been any advances in this area?

We achieved multi-tenancy at edX (https://github.com/edx/ecommerce) in the following manner:

  • Added site foreign key to Basket model
  • Created a SiteConfiguration model with site-specific data, and linking Site objects to Partner objects.
  • Each Product has a single StockRecord whose related Partner allows us to determine which Site the product is affiliated with

In hindsight, the overloading of the Partner model is not ideal. Were I to change things, I would add a site foreign key to the Product model.

Note that we share users across the sites. This might not be desired in a truly white-label multi-tenancy scenario.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ad-65 picture ad-65  Â·  5Comments

maikhoepfel picture maikhoepfel  Â·  8Comments

Wingie picture Wingie  Â·  3Comments

natea picture natea  Â·  7Comments

elioscordo picture elioscordo  Â·  8Comments