Jump to content






* * * * * 3 votes

IP.Board 3.1.0 Dev Update: Template Merge Center

Posted by Matt, in 3.1.0, Beta 30 April 2010 · 3,515 views

IPBoard Beta ipb 3.1.0
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:

http://www.youtube.com/watch?v=337VjTlpZRA
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.
Posted Image

When we run the tool, it checks all the templates for differences:
Posted Image

This produces a list of all templates that have differences and we can filter the result set further:
Posted Image

We can preview the conflicts:
Posted Image

And we can edit the conflicted text manually:
Posted Image

Once we have resolved the conflicts, we can commit these changes:
Posted Image

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:
Posted Image

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.




Awesome. Legendary.

Looking forward to seeing how this works on heavily customised skins. One of my skins has over 100 template bit edits. That will be interesting :).
Up the City ;)
nice matt
thank you very much - will be very useful :)
Wow.

Awesome. Legendary.

Looking forward to seeing how this works on heavily customised skins. One of my skins has over 100 template bit edits. That will be interesting :).


I tried it on Clean Cut which had a good dozen or so customisations. You wouldn't be able to use the auto tools as it won't be able to cleanly merge if large blocks of code have moved or been removed. What it will do, though, is give you a clear list of what has changed and where it has changed which makes the job so much easier.
Yeah, good thing.
Never heard Matt's voice before. Don't know what I expected but it wasn't what I expected.. :lol:

I tried it on Clean Cut which had a good dozen or so customisations. You wouldn't be able to use the auto tools as it won't be able to cleanly merge if large blocks of code have moved or been removed. What it will do, though, is give you a clear list of what has changed and where it has changed which makes the job so much easier.


Yeah, that's all I want. An easy way to see the changes :).
Ideally, I want to be able to see a side by side comparison with default and then mine so I can see what "new" code I need to insert.
WOOO! CITY!!! Rovers will not be amused.
Great stuff, Can't wait. :thumbsup:
Sweet. I like this. Matt you sound posh >.<
Sounds great!

WOOO! CITY!!! Rovers will not be amused.


They are insignificant :whistle: They run IPB too though :ph34r:
This should make my life much easier. Thanks.
Great stuff Matt! Eager to try this out.
Simply amazing!! :thumbsup:
I really hope this will help you upgrade your skins. All feedback appreciated. :)

And I'm not at all posh ;)
Sounds good. :thumbsup:
sweet, especially for those of us that are not skinning guru's, thank you