[Product-Developers] Status of archetypes.sqlalchemystorage and collective.lead (tpc branch)

Rudá Porto Filgueiras rudazz at gmail.com
Thu Jul 31 20:09:31 UTC 2008


Hi,

I'm interest in know if there is some people using
archetypes.sqlalchemystorage in production or some in going projects.
Since last month I began some investigation of packages use as infra
structure to develop a product to turn easy map AT objects to
relational databases.

My use case is:

1) map fileds to sql types and create custom sqlalchemy types to help
2) map reference fields and referenceable API to especialized sql
table object and mapper
3) map files and images to file system (I'm not yet decide which
existing package to use)

Now I have some code and tests working for 1 and 2, but get trouble
with archetypes.sqlalchemystorage that depends on especifc version of
collective.lead:
https://svn.plone.org/svn/collective/collective.lead/branches/sqlalchemy-0.4

This version don't support transaction.savepoint and have some unique
event dispatch used by archetypes.sqlalchemystorage.
These events are:

class SessionFlushedEvent(SessionEvent):
    implements(ISessionFlushedEvent)

class BeforeSessionFlushEvent(SessionEvent):
    implements(IBeforeSessionFlushEvent)

Why these events don't get merged into collective.lead trunk?
There is any other aprouch (hooks) to be used by
archetypes.sqlalchemystorage by this porpouse:

I also check another collective.lead branch that supports savepoints:
http://svn.plone.org/svn/collective/collective.lead/branches/elro-tpc/
Is it the base for collective.lead 2.0 right? What is it status? Beta, Alpha?

Finally, I've made some patches to make archetypes.sqlalchemystorage
compatible with Zope 2.9 and to deal with problems about BaseUnit
fields that don't like None values.
I now have time (in this project) to help in improve
archetypes.sqlalchemystorage to be compatible with new versions of
collective.lead and involve it.

I'm also write SQLAlchemy types to map DateTimeField and LinesField
and a "generator" that creates Mapper class and Table class
automatically from a given AT class and monkey patch Referenceable API
(for a given class) and ReferenceField.set (for a given ReferenceField
instance).  This code will in future be released as open source, but
some parts can be (or not) incorporated to
archetypes.sqlalchemystorage.

Regards,

-- 
=====================================
Rudá Porto Filgueiras
Weimar Consulting

Plone, Django, Zope 3, Grok hosting
http://www.pytown.com
=====================================


More information about the Product-Developers mailing list