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 -~----------~----~----~----~------~----~------~--~---

