There seems to be quite a discussion about through the web development going on in the Plone world at the moment due to changes introduced in Plone 3.0. It’s interesting that this is coinciding with our own move towards filesystem development; as we say ta ta to through the web some users are sticking their heads above the parapit and defending it.
It’s an embarrassment (if not a heresy to serious developers) to admit that we’re only just moving towards the filesystem after working with Zope for over three years (we’ve only moved towards Plone in the last seven months or so). The reasons for using through the web were pretty simple really: my co-developer and I inherited a fledgling Zope instance where all the development (on the two existing sites) had been through the web and we didn’t know any better. Why not? Well, we were both new to Zope, and speaking for myself I can say I never really counted myself as a programmer (more of a web generalist), so the nuances of the benefits of filesystem development would have been lost on me when weighed up against the immediate advantages of TTW. I guess in the current parlance, we’d have been called integrators rather than developers, although that distinction soon became blurred when we started extending the core functionality of our Zope sites. I think the distinction is interesting, but maybe one for another post: do you only become a true Zope/Plone developer when you start building products or when you produce products for general distribution?
Anyway, it’s been interesting reading some of the posts of people defending through the web development. I’d say for us, it certainly has its place in terms of making minor changes and for rapid development. Indeed, although I’ve become completely sold on filesystem development, I’m still using TTW for script prototyping on my local install of Plone. Running this in debug mode isn’t really something I’ve got round to at the moment due to a number of broken products which just cause Plone to not start at all, so forget all those “changes to filesystem scripts are instanteous in debug mode” comments just for now.
I’m not sure I can even imagine totally abandoning TTW in the immediate future. We run a number of sites on single Zope instances, so making urgent small template changes, or changes to CSS or Javascript etc. is probably going to have to be still done TTW until such time as it can be integrated into its associated product. I can’t imagine taking out five or six sites for a couple of minutes just to change the colour of a visited link. Yes, we probably need to look at the way we manage our Zope instances, but another one for another time I think.
But, moving to filesystem development has been important for me for a number of reasons. Firstly, I feel it’s part of getting more professional: not littering our ever-growing ZMIs with scripts and templates is obviously a very good thing in itself. Secondly, it’s actually a damn site easier not to have to write code into an html textarea. IDEs will come later, but for now, even using IDLE and JEdit to write our code is a massive improvement. Thirdly, it’s helping me to think more like a programmer and less like a template customiser, by understanding the concepts of why filesystem development is better, not to mention getting my hands far dirtier than before with the Plone API.
For my first filesystem project, I retro-fitted one of our existing sites into a filesystem product, extending DIYPloneStyle. Not only have I used the existing DIYPloneStyle functionality to arrange my skins, I’ve extended to functionality to do (most) of the other stuff I need to when setting up a new site: turn off the majority of the portlets for the public skin, install my custom Archetypes-based content types, set up my navigation, set up the workflow and add portal actions. etc. Of course, how much this would excite anyone who’s not been involved in TTW development is questionable. “Oh, does that do the same as when we copy an existing Zope site and rename it”, they might not unreasonably ask. Ah well.

![1/52: 2/2/09 [Me]](http://farm4.static.flickr.com/3106/3159713828_cde0d36cbf_s.jpg)





0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment