A common problem for all administrators that have skin customisations is having to apply them after each upgrade. This is often time consuming and laborious. One has to pour over a difference report and manually copy and paste the new code into existing templates. A major upgrade such as 3.1 can mean dozens of changed templates.
I'm pleased to say that we've added a new tool to greatly assist in this process. Indeed, skins with just a few minor customisations such as colours can almost automate the upgrade process.
Introducing the Template Merge Center
This new tool will check for differences and attempt to perform a merge on your templates and CSS files.
For those interested in the technical details, a three way merge works like this: A diff(erence) off the old default and new default is performed, and a difference of the custom skin and the new default is performed. The differences are examined and merged into one text. if a change is detected in both the old > new and the custom > new, this is flagged as a conflict.
Anyone who has worked with version control systems will be familiar with the concepts.
If you'd like to see a practical demonstration, please see this video:
Apologies for the quiet audio.
A typical work flow would be as follows:
- Run the merge report on a skin set
- Automatically or manually resolve the conflicts
- Commit the merged items
- Tweak the final result by hand if required
Let's run through that:
This screen shot shows a 3.0.5 skin from a customer running on a 3.1 board. As you can see, there are several problems such as missing items and incorrectly styled items.
When we run the tool, it checks all the templates for differences:
This produces a list of all templates that have differences and we can filter the result set further:
We can preview the conflicts:
And we can edit the conflicted text manually:
Once we have resolved the conflicts, we can commit these changes:
The end result is pretty good. We'd need to tweak the CSS to change the border colour of the notifications box but we've done a lot of the hard work with a few mouse clicks:
Of course, this tool isn't a magic wand, but it will greatly assist in the manual upgrading of a skin an as we've seen here, skins with simple customisations may require little manual intervention.
We hope that you find this tool useful when upgrading to IP.Board 3.1.