Thursday 4 June 2009

Fatal Attraction

Well, we met on the internet. It was one of those casual, chance encounters. We weren't formally introduced and I can't exactly tell you the moment when I realised that this was it - what I'd been looking for. One brief, sublime download later and a few heady days of discovery over the Christmas holidays and Plone and I were definitely an item.

That was a few years ago now, we were both young (ish) and innocent and we've come a long way since then. In my University, I was one of the early adopters of content management (although that's not saying much as our University is never really "early" about anything). So I tell my colleagues, when they are casting about for the "perfect" content management system, that they need to stop playing the field and make a commitment. Content management is like marriage - it's for the long term, it's a challenge, it's not perfect and divorce is likely to be a bit messy.

So did I foist this grand passion on my unsuspecting family in the University? To a certain extent, yes, but they've got along OK and grown to appreciate Plone's strengths and accept its weaknesses. We've accepted the compromises. Plone has suited our use-case.

We offer a "service" to a number of departments and units in one Division of our University, helping them create public facing websites. There's two of us now full-time, me as project manager and integrator, my colleague as designer. Right now we also have a part-time trainer and support officer. If we need serious development work we have to buy it in on a fairly limited budget.

We've got about 50 websites in our CMS at the moment and about 150 web editors. Key to the operation of the University is the concept of subsidiarity, to devolve decision-making wherever appropriate. To put it bluntly, we can't "tell" anyone to do anything. Each department or unit is entitled to express its own individuality, and, if we think it would be a good idea for things to proceed in a certain direction, we must persuade and encourage. So the obvious outcome is that each of these 50 websites is subtly different. This is a lavish way to behave and a tremendous strain on resources and talent - it is no place for the systems thinker or the control freak. You have to go with the flow.

We are evolving a core set of products to underpin the production of these sites, but we also need to provide plenty of straightforward customization options. When we design or develop anything, we have to have one eye open to the long term implications - how will this affect the other sites on our servers, where can we build in flexibility and choice, what kind of future maintenance are we looking at? The sites evolve too. Enthusiasms wax and wane. We don't just walk in, undertake a project, finish it and walk away. We get people started on thinking about their site - give them a site to play with and let them progress things at their own pace.

Plone has been good at this. Lots of options for through-the-web customization. Simple ways to override things through acquisition. A bit of a learning curve for the integrator, but powerful enough with a bit of Python and a lot of templating. Then, a straightforward user-interface which most people "get" within an hour or so of being introduced.

Just recently though, I've noticed a shift. We're both of us getting bigger and more sophisticated, but I'm worried that we're growing apart. Even the simplest things seem so much more complicated and our Division's growing needs, to create good looking, flexible sites, seem so much harder to meet. I'm juggling viewlets, portlets, Python classes, trying to differentiate between things I can change through the web, things I can't. And ... none of my friends seem to take to Plone anymore, they're introduced, but that's it - first impressions, too complex, too overwhelming. And ... I'm really worried about the future.

It's time to work things out. I moan, grumble, worry, consider my options. But I've realised that I've got to stop expecting Plone to read my mind and be a bit more open about what I, the integrator, and my team, the designer and the trainer, and our clients, the Division really want and need. It's easy to complain, much harder to articulate what it is that's going wrong.

Plone, we need to talk. Will you listen?

1 comment:

Anonymous said...

We're listening. Full documentation to get you started with a Deliverance/xdv-based approach should be on plone.org by the end of this weekend to give you an immediate solution to the theme/skinning issues.

Longer-term, Plone 4 & 5 should resolve a lot of the common problems. But you've heard that before.

If you are willing to write up (even in a private email to me if you don't want to polish it up) your main pain points, I'll try to address how the new approach solves them.

It's sometimes easy to assume that all the other systems have no problems, because you don't work with them. There's a reason people come back to Plone after trying other things for a while — you do start taking things for granted. I know I do. ;)