We should completely reimplement such kind of feature because of number of reasons:
- proprietary XML-based format problematic for IDE of .xcss files(We want to change XML-based format of .xcss files to simple css files, maybe with some specific extension.)
- dependency to RF resources API (should use standard JSF2.0 Resource API)
- Current implementation use java2d buffered image that has problem on some environment including google app engine(we want some solution to pre-render images).
Also we want review standard predefined classes to make sure we do not have duplicate css styles all over the place. As far as we drop support for IE6 browser so we can remove two levels of skinning we have now - basic & extended(http://anonsvn.jboss.org/repos/richfaces/branches/community/3.3.X/ui/core/src/main/resources/org/richfaces/renderkit/html/css/basic.xcss, http://anonsvn.jboss.org/repos/richfaces/branches/community/3.3.X/ui/core/src/main/resources/org/richfaces/renderkit/html/css/basic_classes.xcss )
One more RFC is make dynamic CSS handling just from web application, so they will be easily modifiable at development stage. Ideally, CSS files should be modifiable without application restart, so they should be handled from web application resources as well That's the reason we want these files to be compiled dynamically in runtime and not by CDK. But For production stage, compiled files would get better performance.
Great debates arise over the question:
Should we reduce number of parameters of skins or not? The current set is too complicated. And some of parameters can be calculated from couple of base things: color scheme, base size etc… but if we reduce the number of colors that skin provides, we'll need to replace this handwork with an algorithm for approximating missing colors(it is hard to implement and will increase markup)
On another side Lex D(graphic designer) propose even to increase current set of parameters to make skins more colorfull and rich. Any comments on that question will be appreciated.
Another interesting new feature is fully skinnable tables(for that reason number of skin parameters may be increased too).
In future planes we want to discuss theme support in Richfaces 4.0.
If we have any thoughts about skin feature or have any question, please post your comments.