published Nov 03, 2021

This is here to serve as contents for the atom/rss feed for Plone, also read by

eXtremeManagement of Projects in Plone

published Jul 04, 2006, last modified May 18, 2007

by Maurits van Rees from Zest Software. Eh, yes, that's me. :)

Okay, so I gave a talk myself on Europython. My brother wrote about it. You can get the slides at the Zest Software site. Click the red button next to the printer to get a Powerpoint-like presentation.

Holger Krekel thought the examples (adding for example Stories and Tasks to the live site) took too long. He would have preferred to see some more content like that already prepared. I tried that at the Zest office the week before and they told me to do more examples, so the truth is probably somewhere in the middle. :)

Someone else wondered if anyone at Zest Software could talk German. In that case he would probably want to hear this talk in I think the German Zope User Group (dzug). Also vielleicht gehe ich mal nach Deutschland!

Europython 2006 overview

published Jul 04, 2006, last modified May 18, 2007

I am at the Europython 2006 conference at the CERN in Geneva. I am holding a talk myself Monday. I will be writing about talks I visited here. Hm, I thought about making this an overview page with links to all the talks, but I think my main page on July 2006 should work fine actually. And as usual: see my brother's weblog

Ajax, state of the art

published Jul 04, 2006, last modified May 18, 2007

by Tarek Ziade, from Nuxeo

Works on CPS, a CMS for Zope. He is in charge of Ajax there.

What is Ajax?

A football club, a cleaner and a Web 2.0 technology: Asysnchronous Javascript And XML. Glue between application.

Examples:, flickr, digg, Google Mail.

Browser sends a Javascript call, server answers with just part of the page. This speeds up interactivity, saves bandwidth, avoids Flash.

Bad things to say about AJAX:

  • Search enginges won't index your website right
  • The back button is broken.
  • Several others

These can be true, but you can work around it, except for the back button.

Choose a good toolkit. Lots of choices.

SSF: Server Side Javascript Generation Frameworks. Javascript dynamically created by the server.

  • CrackAjax: change python to Javascript. But untestable and seems dead, but good idea, so keep an eye on it.
  • Azax. Young project. Keep an eye on it.

Low level client side frameworks (CSF).:

  • Test drive development doable.
  • Ready to use
  • Community. We choose the low level client side frameworks (CSF) as everyone seems to do that.

Ajax good practices

  • Accessibility still matters. Keep it gracefully degrading your UIs. Blind people don't care about Ajax.
  • It does bring pleasure.
  • Practice Test Driven Development! Javascript deserves it too.
  • Practice OO Programming, e.g. with help from Mojikit or other moders toolkits. Reuse.
  • Continuous integration. Bundle your javascript tests in your python test suite. The scriptaculous test kit helps here.

CPS Ajax goodies

  • nuxeo.javascript: provides all js libs in Zope 3 resources.


Ajax is not a revolution, but it is nice

More reading:

You can try it without frameworks, but frameworks help smooth away differences between browsers.

Report on practice at Zest

published May 13, 2006, last modified May 18, 2007

My practice at Zest Software is finished. I had a great time there and will continue to have that as I will be working there for the rest of my study. That should be another one to one and a half years. I also finished my report on that practice. You can download the report. I will put the full text of the summary here.

Download the full report (pdf).

This report is an overview of my practice at Zest Software. It was a fun and educating time, which is hopefully noticeable when reading this report.

The practice started on November 29th 2005 and ended at April 30th 2006.

Chapter 1 lays the foundation for this report. It introduces Zest Software and the main subject of the practice: the not yet finished eXtremeManagement tool. That is a tool for project management based on the Extreme Programming methodology. It is based on Python, Zope and Plone. A brief overview is given of these technologies.

Chapter 2 discusses several improvements that have been made to the eXtremeManagement tool. Three subjects are highlighted: workflows, task estimation and booking overviews.

eXtremeManagement was released on The steps taken to do that can be interesting for others as well. That is why I generalised that process and put it in a tutorial on the documentation section of that website. Chapter 3 contains that tutorial.

Chapter 4 proposes some new features. Automatic assigning of new tasks has already been implemented. Better progress indicators and integration with a bug tracker are still on the wish list. eXtremeManagement should also be moved from the Zest code repository to the Plone collective.

The conclusion in chapter 5 is that the practice was successful. Moreover: I keep working at Zest Software for the rest of my study.

Stage bij Zest Software

published Nov 25, 2005, last modified May 18, 2007

Hoera, hoera! Ik begin op dinsdag 29 november 2005 met mijn stage bij Zest Software.

Hoera, hoera! Ik begin op dinsdag 29 november 2005 met mijn stage bij Zest Software in Hoogvliet! Mijn broer werkt daar ook. Op de website van Zest Software sta ik al vermeld bij het team. Hieronder zal ik vertellen wat ik daar precies ga doen.

Opdrachtomschrijving XP Tool Zest

Zest Software is een open-source softwarebedrijf in Hoogvliet. Het is een jong en snelgroeiend team van op dit moment acht specialisten, waaronder Security Officer Achtung (de hond). Ze leveren Internet- en intranetoplossingen voor de onderwijssector, de overheid en non-profit organisaties. Deze open-source oplossingen zijn gebaseerd op de Web Applicatie Server Zope en het Content Management Systeem Plone.

Door de Zesters wordt gewerkt met de ontwikkelmethode eXtreme Programming (XP). Dit is een methode waarin flexibiliteit is ingebouwd. Tenslotte veranderen wensen van de klant nog wel eens. Je kan zeggen: XP gaat uit van gezonde principes en gewoontes en past die in extreme mate toe. Enkele kernpunten zijn snelle feedback van de klant, hou het simpel en wees niet bang voor verandering.

Binnen Zest is een tool ontwikkeld om te helpen in het toepassen van XP. Uiteraard is dit opgezet met behulp van de kerncompetenties van Zest: Python, Zope en Plone. Met die tool kan je een project aanmaken. Binnen dat project definieer je een aantal iteraties---met bijvoorbeeld een duur van twee of drie weken. Die iteraties bevatten verhalen die door de klant (of door de programmeurs) geschreven zijn en die binnen de iteratie gëimplementeerd moeten worden. Elk verhaal wordt door de programmeurs en designers vertaald in een aantal taken, waaraan een geschat aantal uren wordt toegekend. Dit kan vervolgens gekoppeld worden aan een urenregistratie. Hiermee is de basisworkflow van XP geregeld.

Mijn stageopdracht bestaat uit het verbeteren van deze XPtool. De huidige versie is een Alphaversie die nog niet gebruikt wordt. Er moeten nog een paar bugs verbeterd worden, waarna het de status van Betasoftware krijgt en Zest het zelf gaat inzetten. Daarna zal het ook aan de Zope en Plone community worden gepresenteerd.

Specifiek bevat mijn opdracht de volgende punten:

  • Tool uitbreiden (bv facturisatie naar een automatisch gegenereerde pdf; bediening verbeteren middels AJAX; workflow verbeteren);
  • de code onderhouden (bugs verhelpen, code refactoren);
  • maintainer zijn van de tool (website en mailinglijst opzetten, documentatie maken, vragen op irc beantwoorden).