Jump to content


Welcome to IPS!

Feel free to browse our community to get a feel for how our community software operates. Post in the pre-sales forum with any questions you have before purchasing or use the Test Posting forum to post a few messages yourself! You can also get a free demo to try the IPS Community Suite yourself.

Already an active IPS client?

Login with the same email address and password you use for the client area to access client-only areas.





Photo * * * * * 1 votes

IP.Board 3.1.0 Dev Update: Skin Upgrader

Posted by Michael, in 3.1.0 25 January 2010 · 596 views


One of the neat new features of IP.Board 3.0 was its integrated application/hook installer and upgrader. Using this took a lot of the headache out of updating modifications when the author produced a new version as you would have either needed to use a custom installer script or install a component dedicated to modification installations. This has helped out with the installations of modifications, but skins still install in essentially the same way, and there is nothing built in to the product to let you upgrade skins.

Currently, when a new third party skin gets updated by its author, it can involve a lot of work for board owners who use that skin to upgrade the copy of it on their site. The old procedure was to import the new version of the skin, move everyone who was using the old version onto the new version, and delete the old version. If you had customized anything to do with that skin template prior to initially installing it, you'd have to keep track of what changes you had made so that you could apply them to the new version of the skin. It should go without saying, this procedure was clunky at best.

Recently I stumbled across a post where this frustration was mentioned. This got me thinking about the issue. Surely there must be a way to upgrade a skin just like hooks and applications can be upgraded, right?

Right now I'm developing some additional functionality in the Skin Import/Export feature in IP.Board 3.1 to take care of this. Essentially how it will work is this: when you import a skin set, the skin info is checked to see if a 'skin set key' has been set. If it has, it checks if this key matches the key of a skin you already have installed. If it does match, and you check a box indicating you want to try and upgrade, it will attempt to upgrade your existing skin. Any replacements/CSS/templates that this new skin XML has will be checked against the existing items from the old version of the skin to see if changes are needed.

Thus far, I have it coded to show you the check box to indicate whether or not an upgrade will be attempted:

Attached Image

I also have a lot of the back end work done where it will see if it needs to upgrade an existing item instead of just inserting a new version of the item. There's a lot of checking involved to be sure I'm not duplicating elements, so this will require a lot of testing. I've got a few bugs to work though on this, but it should be in place pretty soon.

I think that this will be a feature that will be appreciated by a lot of folks. I welcome any feedback you may have. :)




Very Nice!
This is great, as I have seven third-party skins (plus my default skin) installed on my forum. This will save me a lot of time when new skins are released. :)

..Al
wow! nice to see this :D ... :thumbsup::devil:
This looks like a very good addition
Very good!

Does this mean that skin keys will be packaged along with the export now? In my experience, they haven't been in the past.

No1 1000, on 25 January 2010 - 06:41 PM, said:

Very good!

Does this mean that skin keys will be packaged along with the export now? In my experience, they haven't been in the past.
This. I've been copying skins from dev site to dev site over the last few weeks, and every time I have to re-input the skin key

No1 1000, on 25 January 2010 - 01:41 PM, said:

Very good!

Does this mean that skin keys will be packaged along with the export now? In my experience, they haven't been in the past.
Thank you for bringing that up. That's correct, currently, skin set keys do not show up in the export. I fixed that while working on this. Starting with the next update, skin XML exports will contain that value.

Since they didn't show up in the exports before, they would never have been set when people imported them. So to take advantage of this feature, it's going to be important for skin authors to communicate that people will need to set these keys prior to upgrading. Once they are set, the upgrade should work fine, and further upgrades after that point should also work fine.
This is excellent news and will make us skin designer's work much easier in the process...well done!
Good news!
Thanks so much for this Mike! :)
This is going to be loved feature!
Just as a quick update, I just took the CleanCut beta skin available in the client center, imported it into a test board, and set the skin set key. I then downloaded the new update for CleanCut for IP.Board 3.0.5 and the latest IPS applications and imported it, selecting to upgrade the existing skin; it seemed to work well. :)
I started a rant that became a feature :P

Thank you :)
And people say we don't listen to people...

(this doesn't mean rants work we usually ignore rants :lol: )
Wow. I have to hand it to you here Michael! This is unbelievable. Although I would have appreciated it before, I never even remotely thought of this being possible with such ease to the board user. Thanks for proving me wrong! I can see this coming in handy as I really like to have multiple skins on my board and upgrade them when the time comes around to doing so. Now this will speed things up so much more and contribute to making normally hard tasks into simplistic ones with IPB! In turn this will make it a lot less cumbersome (if it was at all) to me as a board owner and will give me valuable time to worry about other things with my board. Great progress so far!
Awesome news Mike this was greatly needed! :thumbsup:
and you thought it's not possible :thumbsup:
Nice one Michael, good man for thinking forward, this will be used by everyone I am sure. Thank you.
Oh! Nice works!!

IPS Rocks!! :devil: :thumbsup:
AWESOME! Thank you!

February 2012

S M T W T F S
   12 3 4
567891011
12131415161718
19202122232425
26272829   

Latest Visitors

Search My Blog