Monthly Archives: July 2011

collective.table alpha release


It’s now past the mid-term evaluation deadline for my Google Summer of Code project and it’s time to release my work out to the wider community to receive feedback and ideas on how to improve it.


During the last days I was focusing on polishing the first release: writing documentation, adding more comments, increasing test coverage and such. My plan was to have a public release just days before Sauna Sprint so I can start getting valuable feedback from the community on the progress and roadmap for the project.

But why did I chose Sauna Sprint as a deadline? Well, myself and my GSoC mentor Martijn Pieters will both be there for the entire sprint next week.Productivity will be through the roof if I can judge based on the number of Plone sprints I attended in the past. We’ll mainly be focusing on improving the UI and making our storage more scalable.

Give it a spin!

So: buckle-up, add collective.table to your eggs and give it a spin! Any and all feedback is greatly appreciated. The release is available on PyPI and code is available on GitHub.

collective.table GSoC report


It’s now been over a month since I started my Google Summer of Code project. It’s been a fun month, full of newly learned tricks, mostly courtesy of my mentor Martijn Pieters, Jarn AS.

Our goal is to have an ability in Plone to store arbitrary pieces of tabular data, in the same way that PHP CMSes often have their databases abused for other things. A simple intranet solution for everything that is now uploaded as Excel files: equipment lists, book loans, etc. It’s a list of items where members can add/edit columns and rows, and of course data.


Currently we are nearing the first alpha release, which should be out in about 10 days, when we have the GSoC mid-term report deadline. I already have the basic CRUD interface with data being stored in a dictionary as a simple zope annotation. Here’s a screenshot of how it looks in action:

blog/collective.table-screenshotAnyhow, I need to do some polishing first and to increase test coverage, then we’re ready for the first release!


By default collective.table comes with a simple zope annotation storage, called local storage that does not support advanced features, such as sorting and filtering.

For use-cases where sorting and filtering are needed, plus the dataset could be much bigger I plan to create another storage. I’m currently leaning towards using cornerstone.soup as a backend for this additional storage. In any case, collective.table is designed to support many pluggable data storages, so later on we can add SQL/NoSQL/whatever as a storage backend.

Also, for now we are focusing mostly on getting the base features working. In late July both myself and my mentor are attending this year’s Sauna Sprint where we plan to focus on UI and usability.