Peter Bengtsson

Zope3 training course in Denmark

By: Peter Bengtsson, 7th of October 2006

7th of October 2006

I just got back from the Lovely Systems Zope 3 training course held in beautiful Copenhagen, Denmark. The training was four intensive days with a group of about 10 people from Denmark, Sweden, Finland, Mexico and just me from England.

The instructor was none other than Philipp von Weitershausen who is not only a Zope 3 core contributor but also the author of Web Component Development With Zope 3 which is one of only two books on Zope 3. He's got a new revision due out soon and as part of the training we're promised a copy of the book as soon as it's published, which might be towards the end of the year.

We covered more or less the same stuff as his book except unittesting, doctesting and some other minor topics. Testing is important but since all people at the training course were confident in Python we automatically knew how to do unit testing in Zope 3 since it's just like it is in pure Python. In Zope 2 that was not the case. You had to use ZopeTestCase which at times felt a bit unpythonic.

Long story short, the training was brilliant. The location, the material, the instructor were all brilliant. The price wasn't cheap but it was definitely worth it. The only criticism I might have is that it was a bit too intense at times in favour of covering as much as possible. Ideally I would have liked to do more exercises after each chapter to help me remember the things I've just seen flash by on the slides.

About Zope 3...

I've tried to learn Zope 3 for a long time but never really got into it. The truth is that I manage quite well with Zope 2 and there is still lots of power left in Zope 2. Today I can do anything in Zope 2 and I am aware of all of its shortcomings. It'll be many months until my Zope 3 skills catch up and during that time I can't justify to clients being a beginner. What I need now is a new project without a deadline and client pressure which I can develop as I'm learning Zope 3.

Zope 3 is technically brilliant despite a few minor flaws which all powerful systems have. Zope 3 is in a sense like Zope 2 except that it's many many times more explicit. It's near total lack of magic and convenience makes it sometimes quite frustrating. However there are solutions to that such as convenience scripts that take care of the boring boilerplate stuff such as mundane component registrations.

During the training course I found myself constantly fighting a lot of things about Zope 3. I often thought that some things were very counter-intuitive and overly control-freak geeky but then I realise that learning any powerful system in four days will be a challenge. You can choose you level and Philip chose to not abstract the power away from us. A lot of times I thought to myself "Damn that's complicated but as soon as I learn it I'll have an incredibly powerful system in my hands."

For example...

  • Viewlets are just straight forward Page Template macros done properly and with a new name.
  • Annotations aren't that complicated. I can't remember the exact syntax but the concept is actually easy.
  • Interfaces aren't just anal documentation of classes, they're actually used to express lots of other object communication.
  • Utilities are just added standalone fluff with a registration machinery
  • Adapters are monkey patching done correctly
  • Views are a bit verbose to set up but once up extremely powerful

All in all throughout the whole course I think I understood everything that was explained but I didn't understand the technical implementation details. Now I at least know what's possible to do and when I do it I'll have to look up by example reference for a long time until I learn that syntax by heart.

I would genuinely recommend to other people to take the chance the next time there is a Zope 3 course. Yes, it's quite intense but it will throw you over the hurdles of Zope 3's high learning threshold.




Comment

 



hide my email address.

Your email address will be encoded to prevent email-extraction spiders from reading it so you won't get spammed if you decide to show your email address.