> web2py does not include a OODBM but nothing prevent you from accessing one >> and take advantage of all the other features. You simply would not do it >> through the DAL. The reason is that there is no standardize API for >> accessing OODBMs. Every one of them is different and every one has its own >> set of APIs. >> >> > This is weird to read as there is the ODMG Standard > http://www.odbms.org/odmg-standard/ which produced also OQL, ODL, etc. >
According to Wikipedia, only two databases support that standard <https://en.wikipedia.org/wiki/Object_Data_Management_Group#ODMG_Compliant_DBMS> (and it doesn't look like OrientDB supports the OQL part of the standard). The standard was set in 2001, and although the development of a next generation standard was announced in 2006, it's not clear there has been any progress <http://www.odbms.org/odmg-standard/next-generation/>. > So for example in the python world a popular one is ZODB. You can install >> ZODB and use it with web2py. I do not expect any problem but I never tried >> it. There are other OODBMs which you can use from python. If they work with >> Python, they work with web2py. >> >> > Thank you for the reference to ZODB. However, using an OODB would miss the > SQLFORM and SQLFORM.factory features right? > You can certainly use SQLFORM.factory to generate a form and get the submitted data into request.vars. From there, you would have to write your own code to get the data into your database. You could even use SQLFORM by creating a dummy DAL object and defining tables on it (which is what SQLFORM.factory does behind the scenes). Again, SQLFORM wouldn't handle the database inserts/updates, but you could at least use it to generate forms and get the data. I do not want to promote a flame war here, but I didn't said SQL is the > past (even though that could represent a common perception about relational > databases today). > *"RDBMS (which to me is technology from 1970's but that's another story)"* It's hard to interpret that statement in any other way... > However COBOL is also used today although many languages (including > python) were invented later. > ...especially in light of the COBOL comparison. Relational databases are under active development and are not merely kept in place to support legacy systems. > The same way, OODBMs were invented for specific reasons - everything has > been widely documented in documents like "Hitting the relational wall" > http://www.odbms.org/wp-content/uploads/2013/11/029.01-Wade-Hitting-the-Relational-Wall-2005.pdf > > and if python is object-oriented, it makes sense to persist domain objects > in object-databases. > Whether or not it makes sense, object databases just aren't that popular <http://db-engines.com/en/ranking>. Frameworks like web2py tend to incorporate features that will have at least somewhat wide appeal. If there were significant demand, web2py would likely support object databases. Anthony -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.