also sprach Chris Withers <chris@simplistix.co.uk> [2005.02.11.1313 +0100]:
But I want to do it the other way... adapt Python objects to represent data in a relational database.
Shane is your man for this.
Shane, come and join me for a beer then!
But APE is actually designed for doing exactly what you want, and that's the way it's most commonly used.
My understanding is that it is most commonly used to store data somewhere else (e.g. a RDB) rather than in the ZODB. This is not necessarily what I want to do, although it is part of it. Let me admit that I have not really looked at Ape in depth. I am pressed for time to deliver a solution and therefore chose to invest some time into surveying rather than diving into solutions that may eventually be hacked/moulded to do what I want, when better alternatives exist. I want to make my exisiting RDB available in Zope, intuitively, automatically, and robustly. I want records created in the database outside of Zope to show up as objects in Zope automatically. The same applies to deletions. I want objects created through Zope to create appropriate records in the RDB. The same applies to deletions. I want to be able to edit objects and have the changes percolate to the database. I also want changes in the database to show up in the objects. Is this what Ape is all about?
I thought you were asking if you could make a relational table visible as Zope objects using APE, which it can theoretically do, and which I'm VERY interested in ;-)
Yes, this is what I am asking, I think. Are there any examples of this? Ape looks complicated and before diving into the theory, I'd rather explore it in action first.
Hoever, not only is that not what you're asking for, but you may find ZSQL methods easier to get what you're after anyway :-)
ZSQL methods are objects representing data relations, not records or instances in those. I know I can use a ZSQL method to get at and store data in a RDB. I also know I can use special URLs to give the impression of virtual objects, marshalled by the ZSQL method. However, I am looking to provide folderish objects which can also hold CMF objects. Think about a scientific publication: All our publications are in the RDB so that we can easily manage m:n relationships to authors (RDBs just excel at that, and even though you can do it in ZODB, it's not the best tool for the job). For every publication, we want the ability to store a PDF for access on the Zope-driven website. I want these files to be in the ZODB, since they are objects themselves, and I have never felt comfortable storing objects in fields of a RDB. So I want a way to associate a folderish Archetype (essentially just a folderish CMF type) with a RDB table so that an instance thereof obtains and manages some of its associated data from/in the RDB. At the same time, the instance should also feel like a regular ZODB object, which I can copy/paste, and in which I can store objects for management by the ObjectManager. Will Ape help me here? Do you know of any product that does something similar? Can you think of how to approach this? Thanks, -- martin; (greetings from the heart of the sun.) \____ echo mailto: !#^."<*>"|tr "<*> mailto:" net@madduck invalid/expired pgp subkeys? use subkeys.pgp.net as keyserver! spamtraps: madduck.bogus@madduck.net "i am a deeply superficial person." -- andy warhol