Re: Australia Weather from BOM
July 2nd, 2012, 3:55 am
When you have multiple skins that depend on a common set of files, you have two good options:
- Package all of the skins together in a "suite," ala Enigma, Gnometer, et al.
- Treat each skin as a completely separate project, and duplicate common files for each one.
Anything in between tends to be messy, confusing, and hard to maintain.
For example, you could
put your two skins in their own top-level folders, and then have a third folder - say, "Kanine Common Files" - that the other two refer to for images and scripts:
Skins\Kanine Internet Usage
Skins\Kanine Common Files
ImageName=#SKINSPATH#Kanine Common Files\image.png
Each package would contain a copy of Kanine Common Files and install it alongside its respective skin.
But then, if anyone wants to install both
of your skins, you have a problem. Because if a user installs a more recent version of Weather while keeping an older version of Internet Usage, the new Weather package will overwrite Common Files and run the risk of breaking the old Internet Usage skin. (This is also a great way of cluttering up other people's Documents folder, which they tend not to appreciate.)
Alternatively, you could put all of the common files into either Weather or Internet Usage, and have one skin be required for the other to work. But in that case, you might as well just package them together.
Ultimately, it's just a good principle to treat any distributed skin package as an independent, self-contained unit, and minimize any chance for different skins (or different versions of the same skin) to interfere with each other.