Hi Sergiu,
From: Sergiu Dumitriu
[mailto:sergiu.dumitriu@gmail.com]
Sent: vendredi 29 décembre 2006 02:00
To: xwiki-dev@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.