Jump to content

* * * * * 1 votes

IP.Board 3.1.0 Dev Update: Skin Upgrader

Posted by Michael , in 3.1.0 25 January 2010 · 7,102 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!
    • Darken, iAdi, and 1 other like this
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. :)

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.
    • Michael and kysil like this

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
    • Michael, Booth and edivad like this

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.
    • Cory b, Lewis P and Tony like this
Jan 25 2010 02:28 PM
This is excellent news and will make us skin designer's work much easier in the process...well done!
Good news!
    • likes this
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 :)
    • Michael and like this
And people say we don't listen to people...

(this doesn't mean rants work we usually ignore rants :lol: )
    • bfarber and Tom T like this
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!

August 2014


Recent Entries

Latest Visitors

  • Photo
    Yesterday, 11:13 PM
  • Photo
    The Nomad
    Yesterday, 10:39 PM
  • Photo
    Yesterday, 10:34 PM
  • Photo
    Andrew Ryan
    Yesterday, 10:29 PM
  • Photo
    Yesterday, 09:12 PM
  • Photo
    Yesterday, 08:48 PM
  • Photo
    Yesterday, 07:56 PM
  • Photo
    Yesterday, 06:54 PM
  • Photo
    Zach Campbell
    Yesterday, 06:51 PM
  • Photo
    Yesterday, 06:45 PM

Recent Comments

Search My Blog