Comparing Plone to WebGui

We are moving one of our Plone clients to WebGui. After extensive evaluation of all the other CMS’s out there, WebGui scored the highest based on the clients requirements and plans for expansion. WebGui is as “big” as Plone in that it’s definitely overkill for your standard brochure-ware site.

I am tasked with creating the “theme” for this new WebGui website. After some initial reading and talking to the WebGui guys I’m left with the feeling that we (Plone) are making skinning sites way too difficult. The primary culprit? Viewlets. When one of our star programmers has to create a third-party product (GloWorm) just to allow designers to change a footer or header in the site we need to rethink the way we are approaching this whole theming scenario. Deliverance is great, but really guys, how many of you really believe someone who is focused on the “visual” aspect of a site is going to learn xslt? It’s easier, but it still isn’t easy enough to attract more designers. We have less than a dozen individuals in our community of over 400 (guessing here) who actually can take a .psd and convert it to a Plone 3 theme (and most of us are still struggling, I’m not the only one). Look at our paltry offering of themes available now,? The OOTB theming group is working really hard to get as many out as possible.  We need to step up theme creation but that is not going to happen if there is not a dramatic change to the process of theming. It’s too painful. I do have to say though that buildout and eggs rock! I just hate viewlets (ok there I said it). As someone who works directly with clients in determining their requirements, there hasn’t been a single theme that we’ve done that didn’t require extensive changes to the viewlets (including different banners on inside sections and changes to drop downs in horizontal nav based on where you are located, etc etc). The fact that we have to turn off viewlets first, then add the new one and have to change at least 4 files to do that?? configure.zcml, viewlets.xml, viewlets.py and umm there was one more.

Now back to the WebGui theming. I’m just getting started and I’ve already ran into one thing that Plone really does right. Filesystem skin development rocks. WebGui does not offer filesystem skin development, yet. All “theming” has to be done in the browser (or offline in Dreamweaver and then pasted into the browser). They are working on this but as someone who has been doing file system development for a few years now, it’s something I’ll miss.

I have a large Plone project starting next week along with this WebGui project. I will write about the difference, what I really like and what bugs the heck out of me.

  • For the record, you’ll never see XSLT in Deliverance. There is one implementation of Deliverance that uses XSLT underneath, but you wouldn’t be exposed to that any more than you’d be exposed to Python.

    Deliverance does use XML, though I’m actively considering an approach more like stylesheets. Either way, the configuration is quite constrained and targeted at HTML and designers’ needs, rather than a general XML transformation language. Also the newest (trunk) version of deliverance includes tools to help designers and integrators understand the transformations that are happening and debug problems.

  • Ian,

    I saw your posting about the proposed changes. I love the idea of keeping it as close as possible to css syntax. I realize it may be egotistical to expect that all design elements be written to the lowest-common-denominator. I believe we are striving for wider adoption in design/marketing circles or am I way off the mark there?

    Donna

  • sandprint

    I agree very much about the huge hassle of theming Plone and customizing viewlets in particular. Many people involved in managing and theming sites are not developers, and viewlets confuse them hugely.

    Also, hardly anybody writes uninstall profiles. Consequently, when you uninstall a theme, it leaves untidy bits of itself everywhere, including marooned viewlets. Just install and uninstall NuPlone for an excellent demonstration of the problem.

  • pauleveritt

    As Ian pointed out, XSLT is either nowhere in the Deliverance story, or (optionally) an internal optimization that you’ll never see.

    At Ian’s talk, someone raised a question that gets to the heart of the matter: “Why should I learn ‘theming’ when it only does part of the job? I’ll still have to learn everything else when I want to customize a viewlet.”

    Thus I think the Plone community needs to first decide if it wants a concept called “sitetheming” that is distinct from skinning, using a far simpler and less weird set of technologies, aimed at a different group. Some in the community will reject sitetheming unless it provides enough power to make any change, and with that level of power you get more complexity than the sitethemer can tolerate.

    So before the question of “To Deliverance?”, the community has to decide if it is actually unhappy with the idea of ZPT, the main_template.pt full of slots, registrations, etc. If there isn’t agreement that there is a problem, then solutions will be rejected.

    Next, there has to be a decision that the problem should be solved with “a dramatic change to the process of theming”. That was the premise of Deliverance, and it totally nailed that premise (using HTML as the “API”, leaving out any templating language, etc.) But there is still a group of Plone folks that think Plone technology should be used for all things in Plone, and won’t look for a “dramatic change”.

    In summary, there needs to be a groundswell of support amongst themers saying: “This is a fundamental problem requiring a dramatic change.” Right now, enough people feel that things should remain stable as-is that dramatic change isn’t welcome.

    In the meantime, Ian’s work on Deliverance should make it possible for people to get out of jail, experiment with some ideas, and decide what might be interesting in a future of Plone.

  • Gilles Lenfant

    You forgot the viewlet-foo.pt viewlet-bar.pt in your list of files :o)

    I agree with most of your post about Plone 3 theming. From Plone 3, the designers of my company now need the help of programmers to make Plone themes.

    Simple theming can be done TTW with collective.phantasy. And unfortunately, the advanced TTW theming utility CPSSkins seems to be an abandonware.

  • I think moving to stylesheets is an overall win — it is a better way of representing the rules, more stable with respect to changes in the underlying markup, reads better, and happens to also be more comfortable for designers. So it’s not a change of priorities as much as a simple improvement.

  • leejoramo

    The Deliverance presentation at the 2008 Plone Conf was one of the most exciting presentations to me.

    I have seen Paul Everitt present these ideas several times in various forms dating back to the first 2003 Plone conference. This time it really clicked with me. Maybe it was because the ideas and implementation have matured. Maybe it has been the pain of moving from Plone 2.5 to 3 themeing, maybe because I have now done projects trying to integrate content from out side of Plone.

    While I would prefer a CSS style syntax similar to KSS, the current XML syntax does not look too bad. If you can handle TAL page templates, this syntax should be easy to pick up.

    I am eager for some time to play with Deliverance.