Lovely Training recap

Less than a month ago, the first Lovely Zope 3 Training took place. While quite exhausting, it was also a great experience for me and, I'm pretty sure, the participants.

Organized by the Sweden division of Lovely Systems, namely Sasha Vincic, the training started on 3 October and lasted for four days. On the first two days we covered Zope basics such as interfaces and schemas, content components with or without the ZODB, the Component Architecture, browser pages using Page Templates, and automated forms. We also talked about skinning and viewlets. On the last two days we then dove into the more advanced topics such as events, metadata, indexing and searching, and finally security and authentication.

There were 14 participants in total. Most of them were from Scandinavia, with exceptions being one participant from Austria and two from as far as Mexico! All of them had prior Zope 2 experience which obviously helped a lot when talking about the ZODB or Page Templates. Certain patterns such as skins and layers (a la CMF) and automated forms (a la Archetypes) were easy for them to relate to as well. As for the new concepts such as adapters, utilities, events, local sites, etc., the trainees quickly absorbed them as we did lots demos on the interpreter shell and in actual code.

I was quite content with the amount questions, many of which involved actual experience with customer application. A lot of those questions lead to ad-hoc example components which we would implement together. One day, some of the participants even stayed longer and we covered advanced topics such as custom traversal. Some questions had to be left unanswered, mostly due to the fact that Zope 3 didn't have the requested feature (yet). In that case I tried to encourage the trainees to consider adding the feature themselves. One participant, Kai Lautaportti (a.k.a. Kai Hänninen), took up the challenge regarding re-orderable form fields in zope.formlib and spent one of the evenings extending formlib. The result, a separately installable package called hexagonit.form, is available on the CheeseShop.

All in all, I'm very satisfied with how the training went, though there were, of course, some hickups. We had to skip certian sessions because we decided to cover some topics more thoroughly, but that ended up being a good decision. The room was a bit small for 14 people and seemed to have ventilation problems, although the overall location was quite good (especially the cafeteria's great lunch buffet). Having lots of valuable feedback from my trainees, I'm already looking forward to the next training, whenever that'll be.