Hi Sergiu,
From: Sergiu Dumitriu [mailto:sergiu.dumitriu@gmail.com]
Sent: vendredi 29 décembre 2006 02:00
To: xwiki-dev(a)objectweb.org
Subject: [xwiki-dev] [vote] Skin naming convention
The current trunk version has 4 skin directories:
- 'default' is the skin used until this autumn, the classic XWiki skin, which can
still be seen on
old.xwiki.org
- 'new' is (AFAIK) a failed experiment for implementing a new skin, mostly empty,
unused
- 'xwiki10' is the skin developed this summer/autumn by Marta, with the main goal
of improving usability. It was deployed on the intranet, and was used as the starting
point for a few sites. Also it is the starting point for the beta1 skin (if you take away
the images and colors). Thus, we call it the XWiki10 alpha skin
- 'xwiki10b1' is the current skin, deployed in the beta1.
Problem: we're now working on the beta2. Should we make a new directory, xwiki10b2?
This is bad practice. We will also have 1.0rc1 and 1.0 final, and then 1.1 and 2.0 (with
beta-s and rc-s) and who knows what next. We'll soon have a dozed directories if we
keep it like that.
This is why we must decide on one skin naming convention which should work for an
unlimited timespan.
Options:
1. We continue in the same way as it is now, making lots of skin directories
No…
2. Each major version will have it's own skin directory. Thus, we will have
'xwiki09', 'xwiki10', 'xwiki11', 'xwiki20', etc.
I don’t think skins are linked to XWiki versions. They should be independent in their
names IMO. I’d prefer to have new names, even ones that have no meanings like names of
cities, starts, countries, whatever. Or names indicating what they are (classic, business,
etc).
2a. 'default' points to the 0.9 version
2b. 'default' points to the latest stable skin
We should remove the « default » name and instead name the default skin appropriately
(classic or xwiki09 or something else).
We should have the xwiki.defaultskin param point to the new skin (the one in xwiki 1.0
beta 1) I think.
3. As 2, but each release duplicates the skin, like a svn tag, creating xwiki10b1,
xwiki10b2, xwiki10rc1, etc.
4. We only have two skin directories, 'default' and 'wip' (work in
progress). Once we release a new version, we copy the wip skin as the new default.
I think we should only distribute one main skin in the distributed WAR and other skins
should be made available on
xwiki.org. We should still store the different skins in SVN
(somewhere like xwiki/xwiki/trunk/skins – I’ll send a proposal for this tomorrow).
Thanks
-Vincent
Pros and cons, as I see them:
1+ We don't have to change anything, we continue as it is now
1+ Users kep the old skin intact, nothing gets broken for them
1- Anytime we make a new release, those willing to use the new skin have to change their
settings to reference the new skin
1- We make tons of directories, thus ignoring one of the benefits of version control.
1- We increase the size of XWiki a lot (the current skin has more than 1Mbyte)
2+ We let users choose their favorite skin-flavor and stick with it
2+ We offer a few different skins to choose from
2a+ we keep a piece of backwards compatibility, meaning that sites based on the default
skin will not be broken with each new release
2b+ we offer the best of XWiki with each new release. Sites using the default skin
unmodified will instantly have a fresh new look, and those that want to keep the old one
just have to change one option.
2b+ default means default, so it should always be the skin used by default
2- We have to override the current directories. xwiki10 (the alpha skin) will be replaced
with the real 1.0 skin, and any site using the alpha will have to be fixed. This problem
only occurs this time, since xwiki10 was used prematurely, and only in a few sites
3+ If a user prefers the beta2 skin over the final skin, he has a choice, without asking
him to never update that directory or manually copy it into a 'mycustomskin'
directory
3- In theory, the skin will be almost the same between the beta1 and final version, with
only minor fixes and improvements. So, anyone wanting to stick to a temporary version must
be crazy :) . Of course, this does not apply to the 1.0alpha skin.
3- Again, we discard versioning
3- Again, we make too many unnecessary directories which can be retrieved from the various
branches/tags
4+ We make full use of version control, and we keep the xwiki package size to a minimum.
Users always have the latest version of the skin, and we don't have to maintain too
many skin directories up to date with important features/fixes.
4- We have to change too many existing directories
4- It is hard to fix bugs in existing skins, so we provide poor support for those who
chose to use an older skin.
A big + for keeping the number of directories to a minimum and overriding existing
directories: XWiki users can always copy their skin to a new directory and use it as it
is, ignoring 'default' or 'xwiki10', which are subject to change.
Another big + for keeping the number of directories to a minimum: new
features/fixes/improvements are usually implemented in only one skin, so at least you
don't have to feel bad knowing that you probably should make the change in all the
other skin directories
A big + for keeping a skin directory for each major release: some
features/fixes/improvements must be implemented in all skin versions, for the clients
using an older version of the skin
Implied changes:
1: None
2a: we copy 'default' into 'xwiki09' and rename 'xwiki10b1' into
'xwiki10', overriding the alpha skin
2b: 2a + we copy the new skin in the 'default' directory
3 'xwiki10' becomes 'xwiki10a', 'xwiki10b1' becomes
'xwiki10', 'xwiki10b1' is copied from the beta1 branch
4 'default' remains the same until 1.0 rc1, 'xwiki10b1' becomes
'wip', and all the other directories are removed. After rc1, we replace
'default' with the new skin
I vote for 2b.