Hi, some time ago (TurboGears 1.0.3.2) I was comparing SQLObject and
Dejavu; I felt
that this two ORMs were "quite" similar and started to think if Dejavu
could be integrated
into TurboGears...

I went on studying the extension capabilities of TurboGears and found
that
the subsystems involved could be extended.

So I started coding providers for the involved subsystems with two
things in mind:

a) Not changing the existing Python interfaces and method signatures
for each new class.
b) Not changing the physical storage definition; keeping the SQLObject
tables as it were.

To my amazement I was able to integrate Dejavu completely without
changing the storage
layer or the Python interfaces. I found TurboGears inner workings
quite easy to extend
and work with.

I am releasing the code in case someone is interested; the code
released comprises this:

A README file explaining how to integrate the extension modules into
the current TurboGears
version; and how to create a Dejavu enabled web application.

A database subsystem replacement module, I have not merged the current
database.py with
the Dejavu's one; anyway it is quite easy to merge Alchemy, SQLObject
and Dejavu in the
same database.py given that the Dejavu walks the same path as
SQLObject in database.py.

A Dejavu Identity Provider extension module (djprovider.py); a Dejavu
Visit Manager
extension module (djvisit.py) and a Dejavu Session Manager filter
(dejavusession.py);
the last one is a CherryPy session filter that mimics the PostgreSQL
one.

Each of this modules implements the known interfaces and objects using
Dejavu; none of
this modules change the physical data representation of the tables.

In addition I have created an example web application, for testing
purposes, that
uses all this services; it is called dejagears and you can find it in
the repository.

 You can check the extension code and example web application in this
repository:
 http://code.google.com/p/dejagears/

 Or directly download the source code:
 svn checkout http://dejagears.googlecode.com/svn/trunk/ dejagears-
read-only

I have always thought that Dejavu was a missing piece in TurboGears
and badly wanted it
inside this wonderful web application server. So here it is and it
works like a charm.

I would like to hear ideas about the future of this code; maybe I have
left some gap
in there and I would like to hear about that too.

Thanks in advance and keep up the hard work!

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to