Thinking of updating the default DXA blueprinting structure? I’ve outlined some of the common scenarios to help consider how to best structure your DXA implementation.
Why change the DXA blueprint?
The out-of-the-box blueprint is great for sites that have completely different content whilst sharing common functionality but does not allow for (a) sharing of global content (b) differing functionality per site (c) differences in local content.
The great thing is that the simplicity of the default DXA blueprint allows for many variations of extension. Creating just a handful of publications can get you on the way to a more suitable structure for your organisation.
Each example below shows the default DXA structure (left) with my recommendation (right).
TIP: It may be worth downloading each variation then flicking between them to easily see the differences.
Same functionality – Same content
Use this when you want multiple sites with the same functionality and the same content. The importance here is the global content at the 300 level which allows you to share content between DXA sites. Notice that you can always localise components at the 400 level for any site specific content.
Same functionality – different content
Different functionality – different content
Imagine you want one content manager to host a multitude of DXA sites all inheriting the core functionality whilst allowing for additional functionality per blueprinting flow. e.g. you have 2x site types, ‘marketing’ and ‘corporate’, they’re both DXA but differ in specific functionality, i.e. one uses social media and the other doesn’t.
In this scenario our ‘100 master’ will contain the out-of-the-box DXA module (core) and the 150 level will contain modules specific to a site variation.
Different functionality – different content (with Translation)
Requirements differ per implementation but I hope this provides you a foundation for designing your DXA blueprint structure.
Note, you’ll most likely end up moving some pages between publications to match your chosen layout e.g. creating your search/HTML design page where appropriate.