Matrix Design and Design Customisations offer a great degree of flexibility in how an HTML design can be created and modified. They are so powerful in fact, they tend to be overused and can become real roadblocks for productivity when best practices for using Designs are not followed. The three main problems with Designs and Design Customisations are:
- Designs don't scale.
- Designs require more user training and more user permissions.
- Designs don't support safe edit.
1. Designs don't scale
Designs don't scale well, because there is a limit to the number of Design Customisations a single Design can handle, depending on the resources available to your system. Additionally, Design Customisations are often slower to work with than other assets. A single Design should not be used for a group of sites - or worse - an entire system, because:
- If a large group of assets rely on a single Design, that Design file becomes a single point of failure. This means a trivial error when modifying your Design, has the potential to affect an entire website.
- You don't have complete control over Design Customisations. If a change is made to a top level Design Customisation or the Design itself, any child Design Customisations could be affected - or worse - removed.
- A single Design File will ultimately become more complicated than multiple Design Files would, because of the numerous Design Areas that are required.
A good way to avoid additional customisations is to assign a class to the <body> tag, which allows small changes in a Design such as different colour schemes, background images, or layouts, to be created using CSS. For example, by applying a class to the <body> tag, we can add different background images to the <h2> element on each page, turning this:
In the above two examples, the HTML and CSS used to present these identities were: