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.