Jump to content
Matt
 Share


IP.Board 3.1.0 Dev Update: Template Merge Center

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.
 Share

Comments

Recommended Comments



  • Management

[quote name='Graeme S.' date='30 April 2010 - 04:50 PM']
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.

Link to comment
Share on other sites

[quote name='Matt' date='30 April 2010 - 11:59 AM']
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.

Link to comment
Share on other sites




Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...