The Web Express service at CU Boulder runs over 1,000 Drupal-powered web sites and is designed, developed and maintained by a team of nine. For our team to support the service, we created a design, development and user experience strategy that allows us to support and scale the service to the campus needs.
When we started with Drupal, we were eager to do any custom design and development work that was required for a project. In a short amount of time, we had a lot of custom sites on custom codebases. We learned that this was not something that would scale well and needed to rethink our approach to offering Drupal as a service to our entire campus.
To consolidate our designs and code, we built a Drupal distribution. The Express distribution contains all the modules, themes, libraries, etc. that are available to each site. The distribution contains various content types and block types to create a variety of content in addition to tools for page layouts, search engine optimization, social media, and e-mail marketing.
For our small team to support and scale Web Express, we needed to make some decisions on how the service worked. The key to this was understanding who our client base was.
The majority of Web Express users:
For these reasons, we put restrictions one what users are allowed to do in Web Express. Users cannot:
By creating these restrictions, we made Web Express easier for our staff to support. These restrictions:
When it came to the design of Web Express sites, we fully embraced our branding standards and visual guidelines. This not only made it easier for us to create and maintain the Web Express themes, but also put our users at ease to know that their site would always be brand compliant.
We designed a variety of themes with various options that would allow each site to customize the design while retaining all of the campus branding requirements and visual guidelines.
As Web Express grows, we choose carefully what we will work on and what new features we will add. Each new addition now impacts hundreds of sites.
When new features are requested, we determine how a given functionality can be best used by the majority of our users and design it accordingly. This may mean we don't design something for a specific use case, but we create something that meets the original use case and can also be used by other sites with different types of content.
Having the entire team working on a single product, rather than a variety of custom projects, means we are able to develop solutions quicker and provide a better customer support.
We've learned a lot of things building the Web Express service: