DXA is a reference implementation from SDL to use with SDL Web (formerly known as SDL Tridion) content management system.
In this article we explain:
- What is DXA?
- What the benefits?
- Is it the right choice for you?
The big CMS CDS picture
Before diving into DXA it is important to get familiar with the system architecture and terminology. On a high level, there is a SDL Web Content Management System (CMS) and a Content Delivery System (CDS).
The CMS is installed on a Windows platform with a content database.
The CDS-side is often a combination of two things:
- Content Broker database instance to store published content
- Web server to run a web application that serves content
A content manager creates components and pages in the CMS and publishes them to the CDS. Traditionally, the CMS rendered the content with CMS templates to publish HTML. This is often referred to as “static rendering”. I personally see this as the Dreamweaver Template era.
In the DXA world, the templates only render XML and leaves all HTML rendering to the web application. This approach is often referred to as “dynamic delivery”. This is a much cleaner separation of concerns: content is in the CMS and code is not.
What is DXA?
DXA stands for Digital eXperience Accelerator and is developed/supported by SDL. Its goal is to speed up CDS implementations by standardizing solutions and showing best-practices. DXA is an Open Source project which utilizes either .NET MVC or Spring MVC to provide dynamic content delivery on the CDS.
The CMS installer adds a default blueprint structure to separate concerns. Each publication contains the necessary building blocks required for content assembly: structure groups, schemas, folders, components and pages.
When you publish you get the sample site that showcase the DXA’s “out of the box” functionalities with dummy content and white label HTML design. This could be the starting point for further development.
• Faster time to market and easy maintenance
When using DXA to kick start your project the most common functionality is there. Creating a new look-and-feel is just customizing the white label design. The white label HTML design is responsive and based on Twitter bootstrap. Additional site functionality can be implement by developing DXA modules. Deployments can be automated for faster time to market.
• Easier staffing of project team
SDL Web specialist are scarce. Since less development is done in the CMS this no longer such a big impediment. Any experienced MVC (ASP.NET of JAVA) can contribute and collaborate as a team. Learning curve is short and starting will be easy.
• Search, SEO and Site Analytics
DXA has several modules for supporting common requirements. It uses SI4T module for enabling site search. All schemas are designed for Search Engine Optimization (metadata fields). All pages contain search optimized HTML structures. Google Sitemap module can help indexing by search bots. The Google Analytics module enables you to track visitors and get insight into the website usage.
• Other DXA features
Some other features that are at your disposal: Google Maps, YouTube videos, Social network sharing, Redirects, Image resizing, Header navigation, Footer navigation, etc.
• Full support for Experience Manager
DXA is XPM ready. It has out-of-the-box support for it and can be used for editing and reviewing content on a staging website.
• Simpler upgrading scenarios
With DXA, code is abstracted away from the CMS. This results in easier upgrading to a newer version of SDL Web. It simply has less impact and be done independent from the CDS and the web application.
We at Tahzoo have experience in helping clients to upgrade to SDL Web and implementing DXA or DD4T. If you need help, please contact us for more information.
DXA benefits for developers
• Better development experience
DXA allows local development like any other MVC application. Every developer can create their controllers, view models and razor views without really knowing anything about Tridion. All they need is a connection to a Content Broker database. Local debugging is easy and changes can be made quickly.
• Writing Unit Testable code
This was always a pain with DWT. Since DXA is just a MVC application, this is not a problem anymore. Write your tests. Run them on the build server. Generating coverage reports. It is all possible.
• Code belongs in Source Control
With Dreamweaver Templates (DWT) all code should be uploaded into the CMS. Off course there is version history and rollback, but is not sufficient for what a developer needs. What about branching, merging and tagging release versions? It is all possible when using DXA, since code is not in the CMS anymore.
• Support for Continuous Delivery pipeline
In an agile world we would like rapid incremental updates to deliver business value as fast as possible. To be able to achieve this, we need to automate the build, testing and deployment processes. Due to the fact that code is no longer in the CMS but in GIT we can connect to it and achieve this goal.
Interested in Continuous Integration and Continuous Delivery? We have experienced people who are passionate about automating your Delivery – Feel free to get in touch with us to discuss your needs.
When not to use DXA?
DXA is just one of the options when building a SDL Web powered website. Below are situations that you may decide other solutions.
• Visual designs are really different
The (mobile) visuals from a design agency can be totally different then the supplied DXA design. Although you are totally free to change it in anyway, sometimes it can be less work to start from scratch.
• DXA vs. DD4T choice
DD4T (Dynamic Delivery for Tridion) is a framework for developing a MVC application just like DXA. DXA itself uses some elements from DD4T, but not all. When DXA does not align with your functional requirement, it is a valid option to go for DD4T.
• Look at your team skills
When you team is not skilled in developing .NET MVC or Spring MVC web applications, it is a steeper learning curve. Additional training or a team architect will be required.
• Static vs. dynamic delivery
If the nature of your website is mostly static content, DXA could be too much overhead. Why not stick with HTML itself? No server side processing will result in a faster and better performing website. For some customers it can also be a hybrid solution of both models.
• Copy-paste deployments
Although some administrators may dislike this uncontrolled way of changing websites, it is fast. Just changing some bit of code in CMS that fixes a critical issue can be useful when in crisis. Then verify on staging and publish to live and you may have saved the day.
Online resources for further reading:
- SDL DXA Documentation
- SDL DXA Community Site
- SDL DXA GitHub code repositories
- DXA Bootcamp presentation
- DXA Web application overview presentation
Need advice as to what best suits your situation and company? The Tahzoo team is available to listen and help get you started.