Hi there Xoops users and developers,
in the last weeks I have spent some time in testing on the next to come Xoops version (2.5) and I was really delighted by the large improvements/add on in the admin side.
Talking about theming and templating as much as I was delighted by admin side I was equally frustrated by the user side, which is the same (more or less) which I ran into six years ago when I started playing with Xoops..
Something has been done surely.. but I feel to say clearly guys that Xoops is still a large step back from other cms and probably from real world theming...
From Xoops 2.5 I was expecting a change in this situation or at least a change in the general approach, for example a new more stylish css default theme (able to attract new user) or more clean templates..
This did not happen and by some point of view things seems to get even worse...
The problems I point out are mainly:
1) default theme/ system templates are still table based and sometimes kind of buggy or don't output a good/accessible layout
2) css is approached and structured in a unnecessary complex way
First point it's something we see from many years in Xoops.. you start with the default theme with a border with no padding around text (awful), you have unneeded tables in profile visualization and still you can't have an ordered/readable list of user activity in profile.. and much much else... everyone knows that if you want to do a good/stylish site with xoops you need to put some efforts in giving system templates a smarter look..
Second problem it’s just a matter of choosing what css should be used for..
The xoops.css style sheet in 2.5rc2 it’s 16kb large file (almost a jscript framework!) attached to every page and setting up a myriad of classes that should be used as standard in theming and templating..
so following that line if I want to style I div in my theme/module I should write something like:
<div class=”width80 pad2 small uppercase green solidsilver line100”>
Because almost every css attribute now has a class representing it for example:
.solidsilver { border : 1px solid #c0c0c0;}
… but guys this is not what css should be used for, it’s reverting back to inline style, because styling a div that way it’s the same of writing html attributes in the markup..
You have same approach in templates.. system_userinfo.html for example has a class (or more than one) for almost every html tag in the page.. it seems that has been forgotten that with css you can style directly html tag and that id/classes should be
semantic (describe and style what the element contain) not merely contextual.
This way of organizing css make harder the work for a theme developer which for simply styling the user profile now have to deal with a large number of applied classes and should also know not only normal css language but also the ‘language’ imposed by the xoops.css file.
Well my opinion (and I guess I’m not the only one..) is that this complex and ‘non-standard’ way of approaching css and templating it’s not taking Xoops on a good road and it’s not helping the general growth which we all see in the project.. because we all know that people choose a cms also for the visual impression it receive from it at first test.. and people choose to develope for a cms when it sees solid and clean structure in code (and this apply to html/css also)
Now I want to be positive and propose possible solutions..
For point one I’ve ported a solid tableless, full css theme in Xoops environment transforming it in the default Xoops theme we all know, all te info are here
https://xoops.org/modules/news/article.php?storyid=5679For point two I’ve started ‘redrawing’ system templates in a more clean and also accessible way..
So on my test site you can see how things could be done looking at the source of the table showing infos about user, rewritten applying three simple class..
http://xoopsing.isgreat.org/userinfo.php?uid=1I’m planning to rewrite all the system templates following this line (and where possible avoiding tables..)
I don’t think mine it’s the best markup/style in the web, these are only one of the possible solution for a simpler, standard and accessible approach to theming/templating that a great project like Xoops should have.
Hope that this too much long post will open a constructive discussion and may be some of you guys would like to join me in building a solid theming project for Xoops able to set solid foundations and rules for theme and module developers.. later on I’ll write about this
Thank for your attention
Ian