I’ve been using the DXA framework for a couple of months now, and it’s very easy to use it to quickly set up a new publication structure and create a new website.
The installation is very well documented and doesn’t take that much time.
But what if you want to integrate the DXA framework in an existing set of publications ?
Recently, I was asked to DXA-ify an existing proof of concept website. The website was using the regular Tridion publishing model, and it had some complex content and pages defined.
As the DXA CM install process creates a set of new publications, this meant that I would end up with a new publication structure, and would have to move over all of the existing schema’s, content and pages.
The solution for this is pretty simple. The installer is actually a script wrapping a contentporter import (it does a bit more, like setting up security etc), but in the end, it just uses the import service.
So, I did the following :
My existing blueprint structure contained a 010_design, a 020_content and a 030_website publication (well, it contained a little bit more, but I use this for simplicity). I figured out that my DXA templates and modules (the items that go in the DXA Master publication) should be placed in the 010_design publication.
All I needed to do was to rename this publication to 100 Master. I also made sure that this publication did not contain any folders that are also used in the DXA 100 Master publication, just to make sure the DXA items would not be mixed with any existing items.
Than, I opened content porter and opened the “Master only.zip” content porter package. You can find it in the DXA installation package in the CMS folder.
This package contained all of the items I needed : all DXA tbbs, templates, schemas and configuration components. Once the import was done, my publications were all ready to use all DXA goodness.
If you need to set up the default DXA security settings, you can now also run the installer again but use the following command.
.\import.ps1 -importType rights-permission -cmsUrl "https://cms.example.com:81/"
However, you might need to alter some of the webdav paths in the permissions.xml file, so that these reflect your publication names. This permissions.xml file can also be found in the CMS folder of the DXA installation package.
Once this is done, I renamed the 100 Master back to it’s original name, and started developing.
I set up the the rest of my DXA environment (the web app), and I could start adding my custom views and models.