Skip to main content

Table-like content for Plone

Project description

Easy storage of tabular data

collective.table is a replacement for the “store equipment lists, book loans, etc. in Excel files and upload to Plone”. It’s a list of items where members can add/edit columns and rows and of course data. By default, collective.table stores it’s data in the ZODB, however storage is pluggable and it’s easy to write storage adapters to have data stored in SQL, LDAP, etc.

collective.table is based on DataTables and jEditable jQuery plugins.


To install collective.table you simply add “collective.table” to the list of eggs in your buildout, run buildout and restart the Plone server. In Plone’s portal_quickinstaller you select “collective.table” and install it.

Now you can add a Table content-type and start adding your tabular data.


Upon adding a new table you have to specify which columns you would like. You do that by entering column names, one per line, into columns field. When you click save your table will be created, containing one initial row. At the moment, all columns are of type string.


Double-click on a cell of your choosing and enter something. Hitting Enter will save this value.

Add a new row

Click the Create a new row button and a new row will be appended, which you can edit to enter your data.

Deleting a row

Start by selecting a row by clicking on it. Then click the Delete this row button and this row will be deleted. You can select and delete multiple rows.


Current status

At this point, collective.table offers only basic functionalities and is somewhat usable. It’s in alpha stage so storage API will change and there will be no migration path. Do not use for storing important data just yet!

Milestone Sauna Sprint

Both Nejc Zupan (GSoC student) and Martijn Pieters (mentor) will be attending the Plone Sauna Sprint 2011. During that week we will focus on the following:

  • improve ZODB storage (sorting, filtering, scalability and such)
  • improve UI
  • add more tests (test coverage is already above 85%, btw)
  • unit-tests for Javascript

Milestone End of GSoC

  • battle-hardening what we produce during the Sauna Sprint
  • selenium tests, ran regularly with help of
  • improve user and developer documentation
  • export data to csv, etc
  • screencast usage demo

Milestone future

  • column types (numeric, date, boolean, vocabularies, etc.)
  • add SQLAlchemy storage, based on SQLite by default
  • import from csv
  • insertion of rows in the middle, together with concurrent editing


  • Martijn Pieters (Jarn AS) is the original author.
  • Nejc Zupan (NiteoWeb Ltd.) drove the code towards the first few releases as part of his Google Summer of Code project.


0.3aalpha (2011-07-20)

  • Fixed a bug with deleting rows. [zupo]

0.2aalpha (2011-07-20)

  • Renamed README.txt to README.rst and added README as a soft-link. [zupo]

0.1alpha (2011-07-19)

  • Initial release. [zupo]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date (22.7 kB) Copy SHA256 hash SHA256 Source None Jul 20, 2011

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page