Personal tools
Support

Get Help

Join our chat rooms or support forums if you have more specific questions.

Plone Training
Learn how to design, build, and deploy a website in Plone through one of the numerous Plone training sessions around the world.
Find Plone training…
 
Document Actions

Overview

Over this tutorial we will develop a timesheet system to demonstrate the various features of collective.tin.

Laurence Rowe

collective.tin is a library for creating RDBMS backed content types on top of SQLAlchemy. collective.lead is used for transaction integration. collective.mercury supports the autogeneration of interfaces, model and db files by introspecting the RDBMS schema. This approach does not require zodb stubs. Versioning is optional. Workflow status and history (if required) are stored in the database. (This tutorial is very much a work in progress, but I figured it may be useful to make it public now)
Page 1 of 3.

As is often the case with such tutorials the example is a little contrived, a toolkit such as Django is likely more suitable for such a simple system. For purposes of demonstration it shall suffice. This toolkit was developed for a fairly complex workflow project, and it is best suited to these sort of tasks where the capabilities of Zope and Plone with their sophisticated security and workflow are useful.

RDBMS content is rooted in a TableFolder, so you may not place RDBMS content freely all over your site. Each row of the associated table is treated as a content item. These may be TableSubFolders which are further traversable over a foreign key to rows in other tables. With additional tables and a suitable structure versioning and workflow information may be stored in the database.

Software versions used

  • Plone 3.0.4
  • PostgreSQL 8.2 and psycopg2 (other databases supported by SQLAlchemy should work, but collective.mercury has extra support for using the Postgres comment fields for titles and descriptions of schema fields)
  • SQLAlchemy 0.4.1
  • collective.lead (svn trunk)
  • collective.tin (svn trunk)
  • collective.mercury (svn trunk)
  • z3schemabackports

Assumptions

  • This is an SQL first approach, so a working knowledge of SQL or database design through a graphical tool such as pgAdmin is required.

 

 
by Laurence Rowe last modified February 16, 2008 - 10:17 All content is copyright Plone Foundation and the individual contributors.

For any issues with the web site functionality, please file a ticket.

Please consult the policy on plone.org content if you want your content published on this site.

Servers and hosting by