Working with Multi-Domain Sites

Ben Beecher

How are the editors organized

Two models we've seen

Centralized team working on multiple sites
 

Geographical teams working on shared infrastructure

For centralized teams

Create per domain base pages

Flexibility takes a frontseat

less surface area to train, so you can spend more on your complexity budget

Expect more from the teams 

For distributed teams

Force people to use standard items

Standardization is more important than flexiblity

Assume low skill levels and focus on simplicity

For distributed teams

Double down on user groups and aggressively limit edit status

Snippets are extra useful  - lock down permissions for them

As much as possible, set good foundational data ( e.g tags)

Radical differences in layout are your enemy

Keep the markup the same as much as possible

Expect that you'll have a different base styling per domain

Expect that things will look different, but you want to keep the functionality as similar as possible

Try to do site specific work in CSS

Push as much content to richtext as possible

This is the easiest datatype to deal with so use it as much as possible

Rich text improvements are often the most portable cross domain

Don't allow raw HTML

You will forever lose the ability to make cross domain changes if you allow this

Identify per-site choices

Create headers dynamically from pages below site root

Footers inevitably end up different

Meta stuff is all different

Probably need a god object to store logos/filter custom django objects from

Wishlist

Swappable Sites model

Publish notification email per domain