Symphony is a powerful CMS system that is used by many of the world’s most recognisable brands. It’s a great system that lets the developer focus on XHTML and data they are creating rather than much of the back-end code. It does have it’s flaws though and one of them is that it’s very easy for Symphony ‘sections’ and ‘pages’ to get out of sync between production and staging servers.
Sure, the pages themselves can be version-controlled but much of the metadata about the pages such as which datasources are attached are stored in the database and previously this data was only really accessible by clicking on each page within Symphony individually. Now this is fine if you have just a couple of pages but on some of the sites I’ve worked on this involved 50 pages or more with almost as many sections…
My solution was to create a Symphony extension called Blueprint Metadata that pulled this metadata out of the database and export it as an XML file conveniently time-stamped containing the server hostname. This allows you to quickly ‘diff’ the changes between two servers and quickly see the differences so you can apply them manually. I wrote this extension quite a few years ago but still find myself using this even today and have decided to make it open source under a very flexible BSD license.
Feel free to grab the Blueprint Metadata extension on Github now.