modeling-users Mailing List for Object-Relational Bridge for python (Page 16)
Status: Abandoned
Brought to you by:
sbigaret
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(19) |
Feb
(55) |
Mar
(54) |
Apr
(48) |
May
(41) |
Jun
(40) |
Jul
(156) |
Aug
(56) |
Sep
(90) |
Oct
(14) |
Nov
(41) |
Dec
(32) |
2004 |
Jan
(6) |
Feb
(57) |
Mar
(38) |
Apr
(23) |
May
(3) |
Jun
(40) |
Jul
(39) |
Aug
(82) |
Sep
(31) |
Oct
(14) |
Nov
|
Dec
(9) |
2005 |
Jan
|
Feb
(4) |
Mar
(13) |
Apr
|
May
(5) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2006 |
Jan
(1) |
Feb
(1) |
Mar
(9) |
Apr
(1) |
May
|
Jun
(1) |
Jul
(5) |
Aug
|
Sep
(5) |
Oct
(1) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Sebastien B. <sbi...@us...> - 2004-02-10 14:12:48
|
John Lenton <jo...@vi...> wrote: > On Sat, Feb 07, 2004 at 06:10:28PM +0100, Sebastien Bigaret wrote: > >=20 > > Fine, so the patch is for you! Sorry for the delay, it took me some > > time to retrieve it --it was hidden in a dark corner of my hard-disk :) > > It also required some work since it was made quite a long time ago and > > was completely out-of-sync. > >=20 > > The patch #892454 should be applied to v0.9pre16. It adds fetch slices > > and, as an extra bonus, 'orderBy' parameter to ec.fetch(). > >=20 > > It can be found at: > > https://sourceforge.net/tracker/index.php?func=3Ddetail&aid=3D892454&gr= oup_id=3D58935&atid=3D489337 >=20 > should bugreports go to that page, or just discussed here? I'd prefer that bug reports are reported on that page, thanks. If you have more general comments, for example about the API that you'd prefer to be like this or that, this can be discussed here. -- S=E9bastien. |
From: John L. <jo...@vi...> - 2004-02-09 23:58:47
|
On Sat, Feb 07, 2004 at 06:10:28PM +0100, Sebastien Bigaret wrote: > > Fine, so the patch is for you! Sorry for the delay, it took me some > time to retrieve it --it was hidden in a dark corner of my hard-disk :) > It also required some work since it was made quite a long time ago and > was completely out-of-sync. > > The patch #892454 should be applied to v0.9pre16. It adds fetch slices > and, as an extra bonus, 'orderBy' parameter to ec.fetch(). > > It can be found at: > https://sourceforge.net/tracker/index.php?func=detail&aid=892454&group_id=58935&atid=489337 should bugreports go to that page, or just discussed here? -- John Lenton (jo...@vi...) -- Random fortune: The only perfect science is hind-sight. |
From: John L. <jo...@vi...> - 2004-02-09 23:56:55
|
Hi all again. We'll be using Modeling for a large(ish) database shortly, and we'd like to have to make minimal changes to the generated files, to minimize the work required upon a schema change, given that we'll probably have a lot of them during the initial developement. In other words, we'd like to be able to put the business logic in one tree ('luca', for example), and have the Modeling stuff in another tree ('mdl'), with any given class in luca inheriting from its par in mdl. That's pretty easy to do, except that we're concerned that things like person.getAddresses() (to borrow from Sample) would return objects from the 'mdl' tree, and not our own. Maybe we're just being too lazy, but we fear that, if we don't find a way to do this at least semi-automagically, the worked involved will be tedious, and thus error-prone. -- John Lenton (jo...@vi...) -- Random fortune: 25 de Diciembre, Doom, Doom, Doom. |
From: Sebastien B. <sbi...@us...> - 2004-02-07 17:09:06
|
John Lenton <jo...@vi...> wrote: > On Fri, Feb 06, 2004 at 05:15:09PM +0100, Sebastien Bigaret wrote: > >=20 > > John Lenton <jo...@vi...> wrote: > > > I need (or, rather, would like) to be able to use the 'splice > > > parameters' that I see commented out in Modeling.EditingContext to be > > > able to send feedback to the user as to how many objects have been > > > retrieved (and to let her cancel the operation if necessary). Is there > > > anything left to be done to be able to use these parameters? > >=20 > > A patch was once made for using slice parameters; I was not able to > > find it on sf.net, however if you're interested in testing it I can > > make it available on sf tonite after I'm back home. >=20 > I would be more than happy to do that, thank you. >=20 > > If the goal is simply to control that not too much objects are fetched > > by a query, you may want to use ec.fetchCount() [same API as ec.fetch()] > > which returns the number of objects fetched (without actually fetching > > them). >=20 > yes, but it's more than that: I want to give the user detailed > feedback as to the progress of the query, and the ability to cancel > it. The easyest way to do both is using fetchCount and then fetching > up to a number of objects. Fine, so the patch is for you! Sorry for the delay, it took me some time to retrieve it --it was hidden in a dark corner of my hard-disk :) It also required some work since it was made quite a long time ago and was completely out-of-sync. The patch #892454 should be applied to v0.9pre16. It adds fetch slices and, as an extra bonus, 'orderBy' parameter to ec.fetch(). It can be found at: https://sourceforge.net/tracker/index.php?func=3Ddetail&aid=3D892454&group_= id=3D58935&atid=3D489337 Sort orderings are strings like '<attribute path> [<operator>]', where operator can be 'asc' (ascending, default), 'desc' (descending), and 'iasc' and 'idesc' (case-insensitive asc. and desc) Here are some examples: ec.fetch('Book', 'author.lastName !=3D NULL', orderBy=3D'author.lastName desc, price desc, title iasc') ec.fetch('Book', 'author.lastName !=3D NULL', limit=3D2, offset=3D2) ec.fetch('Book', limit=3D2, page=3D1) Those examples are taken from test_EditingContext_Global.py (after patch has been applied), methods test_17_fetchSpecWithSortOrderings(), test_18/18b_fetchSpecWithFetchLimit() to which you can refer for further details (you'll find there the full API for slices and FetchSpecification as well). About fetch slices: 'offset' begins at zero (zero is the first record in the result set), while 'page' begins at one (page one is the first page). Current limitations are: - it is available/tested for Postgresql and MySQL only - parameter isDeep shouldn't be set w/ fetch slices and/or with sort orderings, - inserted (unsaved) objects will appear at the end of each result set when limit and/or orderBy is set. Last note, the patch contains all changes that have been made since 0.9pre16. This shouldn't be a problem, but I prefered to be explicit about that; see CHANGES and MIGRATION for the details. Enjoy ;) and thanks for your time testing this. -- S=E9bastien. PS: just before posting I wondered whether this hadn't been discussed once. And true! see here: https://sourceforge.net/mailarchive/forum.php?thread_id=3D1687932&forum_id= =3D10674 https://sourceforge.net/mailarchive/forum.php?thread_id=3D1688402&forum_id= =3D10674 https://sourceforge.net/mailarchive/forum.php?thread_id=3D1755269&forum_id= =3D10674 The last url contains (at end) a post from me explaining the patch in more details (forget about the cvs branch however, it is now closed). Yes, this was one year ago... |
From: Sebastien B. <sbi...@us...> - 2004-02-06 16:15:16
|
John Lenton <jo...@vi...> wrote: > I need (or, rather, would like) to be able to use the 'splice > parameters' that I see commented out in Modeling.EditingContext to be > able to send feedback to the user as to how many objects have been > retrieved (and to let her cancel the operation if necessary). Is there > anything left to be done to be able to use these parameters? A patch was once made for using slice parameters; I was not able to find it on sf.net, however if you're interested in testing it I can make it available on sf tonite after I'm back home. If the goal is simply to control that not too much objects are fetched by a query, you may want to use ec.fetchCount() [same API as ec.fetch()] which returns the number of objects fetched (without actually fetching them). -- S=E9bastien. |
From: Sebastien B. <sbi...@us...> - 2004-02-06 14:17:59
|
John Lenton <jo...@vi...> wrote: > Whenever I do a fetch with a specification that has an odd > (i.e. =3D1(2)) number of backslashes I get a very interesting > error. Should I be escaping the specification? >=20 > For example, the following tickles the problem: >=20 > >>> from Sample.Person import Person > >>> from Modeling.EditingContext import EditingContext > >>> ec=3DEditingContext() > >>> ec.fetch('Person', 'firstName =3D=3D "\\"') Oh my, another backslash nightmare... Sorry, but I have to answer: yes, please escape the specification until a better solution is found. The fact is that different db, different adaptors do not behave the same way as far as backslashes are concerned. I just made some experimentations, and it appears that it also depends on whether the backslash is within a word, or at the end of the string (thus, backslashing the delimiting quote). I suspect there are also some problems with backslashes and like/ilike operators. Last I just noticed that an object's attribute whose value contains backslashes can lead to trouble. We definitively need to fully testproof these situations, and define a standard way of handling this (esp. regarding the way a fetch spec. should be written), but this is will probably need some time. This is also very close to RFE #804243: secure quoting of qualifier (https://sf.net/tracker/index.php?func=3Ddetail&aid=3D804243&group_id=3D589= 35&atid=3D489338) > this is python 2.3, psycopg 1.1.10, modeling... uh, how do I find out > what version of modeling I'm using? Mmm, ahem... well, amazing but true: you cannot :/ Thanks for noticing, I've just added a __version__ attribute to the Modeling package, it will be in the next release. > BTW, can I help with the .deb? Yes, with great pleasure ;) We once had a discussion on this w/ Guenther Starnberger here, see: https://sf.net/mailarchive/forum.php?thread_id=3D3058547&forum_id=3D10674 He proposed some work of his own, but till now I didn't have the time to look at this any further --and we're definitely looking for a .deb manager, so if you feel like helping us in releasing .deb for MDL and the NotificationFramework, that would be great! -- S=E9bastien. |
From: Sebastien B. <sbi...@us...> - 2004-02-06 14:02:41
|
Hi John, John Lenton <jo...@vi...> wrote: > Hi all. >=20 > I've tried (briefly) to freeze (using McMillan's installer, > http://www.mcmillan-inc.com/install1.html) a small test program that > uses Modeling, and it dies: >=20 > $ ./search-test/search-test > /tmp/tests/modeling/Sample/__init__.py:12: UserWarning: Couldn't load= model Sample > Traceback (most recent call last): > File "<string>", line 36, in ? > File "search-test/buildsearch-test/out1.pyz/Modeling.EditingContext= ", line 1419, in fetch [...] > File "search-test/buildsearch-test/out1.pyz/Modeling.DatabaseContex= t", line 250, in handleNotification > RuntimeError: Unable to find a model for entity: Person >=20 > I'm guessing I have to include something else inside the frozen file > to get it to work; what could that be? I've tried importing > Sample.model_Sample.py, but that's not it... The problem here is that, even if the Sample package is imported, it failed to initialize the model (cf. the UserWarning: Couldn't load model Sample). The __init__ should say something like: model=3DModel.searchModel("Sample", mydir, verbose=3D0) Could you change 'verbose=3D0' to 'verbose=3D1', re-freeze the sample app. and report back the result? It should give us some hints on why the model cannot be loaded when the app. is freezed. In the meantime, I'll try to have a look at McMillan's freeze func :) -- S=E9bastien. |
From: Sebastien B. <sbi...@us...> - 2004-02-06 13:57:49
|
Hi Matthew, Matthew Patton <pa...@dm...> writes: > I have a question in this regard: I have Modeling working now > where it generated SQL schema and Ent. Objects based on my Model, and I > have used these objects to do simple tasks like inserting and fetching. > What I am trying to figure out now is how to use Zope to maintain the > state of a program that uses these Enterprise Objects. Basically, how do > I get Zope to give me the POST data that is submitted from a form, access > the appropriate user's session and his editing context in that session, > and then use a templating system to send HTML back? (the basic process of > a web app) I'm not sure I fully understand your question. Within Zope and given that you've installed the ZEditingContextSessioning product, you'll be able to get the session's editing context with: REQUEST.SESSION.defaultEditingContext(). There no other impact on traditional zope mechanisms: values in forms are passed to your methods as parameters and/or in REQUEST, and you can use the objects you get from e.g. ec.fetch() to populate the ZPT a method returns back. Last, you can decide if you want to control when sessions' ec save their changes, or if you want them to save their changes automatically after each request/response loop by setting the special parameter 'bind_saveChanges_to_zope_transactions', cf. http://modeling.sf.net/UserGuide/framework-integration-zope-options.html Hope this helps, -- S=E9bastien. |
From: John L. <jo...@vi...> - 2004-02-06 13:34:14
|
I need (or, rather, would like) to be able to use the 'splice parameters' that I see commented out in Modeling.EditingContext to be able to send feedback to the user as to how many objects have been retrieved (and to let her cancel the operation if necessary). Is there anything left to be done to be able to use these parameters? -- John Lenton (jo...@vi...) -- Random fortune: The shortest distance between two points is under construction. -- Noelie Alito |
From: John L. <jo...@vi...> - 2004-02-06 03:54:58
|
Whenever I do a fetch with a specification that has an odd (i.e. =3D1(2)) number of backslashes I get a very interesting error. Should I be escaping the specification? For example, the following tickles the problem: >>> from Sample.Person import Person >>> from Modeling.EditingContext import EditingContext >>> ec=3DEditingContext() >>> ec.fetch('Person', 'firstName =3D=3D "\\"') this is python 2.3, psycopg 1.1.10, modeling... uh, how do I find out what version of modeling I'm using? BTW, can I help with the .deb? --=20 John Lenton (jo...@vi...) -- Random fortune: Si no puedes combatirlos, =FAnete a ellos. -- Un injerto.=20 |
From: John L. <jo...@vi...> - 2004-02-06 00:09:48
|
Hi all. I've tried (briefly) to freeze (using McMillan's installer, http://www.mcmillan-inc.com/install1.html) a small test program that uses Modeling, and it dies: $ ./search-test/search-test /tmp/tests/modeling/Sample/__init__.py:12: UserWarning: Couldn't load m= odel Sample Traceback (most recent call last): File "<string>", line 36, in ? File "search-test/buildsearch-test/out1.pyz/Modeling.EditingContext",= line 1419, in fetch File "search-test/buildsearch-test/out1.pyz/Modeling.EditingContext",= line 1302, in objectsWithFetchSpecification File "search-test/buildsearch-test/out1.pyz/Modeling.ObjectStoreCoord= inator", line 429, in objectsWithFetchSpecification File "search-test/buildsearch-test/out1.pyz/Modeling.ObjectStoreCoord= inator", line 250, in objectStoreForFetchSpecification File "search-test/buildsearch-test/out1.pyz/NotificationFramework.Not= ificationCenter", line 437, in postNotification File "search-test/buildsearch-test/out1.pyz/Modeling.DatabaseContext"= , line 250, in handleNotification RuntimeError: Unable to find a model for entity: Person I'm guessing I have to include something else inside the frozen file to get it to work; what could that be? I've tried importing Sample.model_Sample.py, but that's not it... --=20 John Lenton (jo...@vi...) -- Random fortune: Ande yo caliente y r=EDase la gente. -- Luis de Argote y G=F3ngora. (1561-1627) Poeta espa=F1ol.=20 |
From: Federico H. <fh...@vi...> - 2004-02-04 18:23:26
|
On Wed, 2004-02-04 at 13:52, Matthew Patton wrote: > > We might be contributing a sample app soon, as part of an > > Appkit-inspired widget set we're in the process of developing for our > > GPL'ed application. > That would be great! I think it would really add to Modeling's > attractiveness if people could see how everything fits together from HTML > to SQL. Our framework doesn't do HTML yet... only GUI. It will do HTML later, as it will do curses and Qt and whatnot, but right now it's just for Gtk (1 or 2). Fede --=20 GnuPG Public Key: gpg --keyserver wwwkeys.eu.pgp.net --recv-key BD02C6E0 Key Fingerprint: 04F4 08C5 14B7 2C3D DB21 ACF8 6CF5 0B0C BD02 C6E0 |
From: Matthew P. <pa...@dm...> - 2004-02-04 16:52:48
|
Hello again, > We might be contributing a sample app soon, as part of an > Appkit-inspired widget set we're in the process of developing for our > GPL'ed application. > That would be great! I think it would really add to Modeling's attractiveness if people could see how everything fits together from HTML to SQL. I have a question in this regard: I have Modeling working now where it generated SQL schema and Ent. Objects based on my Model, and I have used these objects to do simple tasks like inserting and fetching. What I am trying to figure out now is how to use Zope to maintain the state of a program that uses these Enterprise Objects. Basically, how do I get Zope to give me the POST data that is submitted from a form, access the appropriate user's session and his editing context in that session, and then use a templating system to send HTML back? (the basic process of a web app) > > I'm sure you do not mean "reverse engineer" (which is illegal) I'm sorry I guess I misused the term. I simply meant what it is you are doing, where you take what Apple's WebObjects does and reproduce its functionality in Python. Thanks for your informative responses! Matt |
From: Sebastien B. <sbi...@us...> - 2004-02-04 05:44:44
|
Mario Ruggier <ma...@ru...> wrote: [speaking of DOUBLE vs FLOAT in mysql, for floats like 1.24e-127] > wouldn't this be an appropriate case for using FixedPoint? As per: > <http://modeling.sourceforge.net/UserGuide/attribute-custom-type- > example.html> > Or are there other reasons, maybe performance?, for not doing so? Well, probably not in this case, or you'll need a precision of 129 to represent 1.24e-127 correctly with FixedPoint ;) FixedPoint is really fixed, relative to zero. The problem here was just the range of valid values on mysql side: the minimum acceptable value for a FLOAT is +/-1.1E-38, that's why 1e-127 was rounded to 0; but with DOUBLE the min. value is +/-1.8-308. (http://www.mysql.com/doc/en/Column_types.html) BTW and in relation to the topic, PEP 327: Decimal Data Type was announced a few days ago, see at: http://groups.google.com/groups?selm=3Dmailman.1036.1075467073.12720.python= -list%40python.org (seen on daily python today) -- S=E9bastien. |
From: Mario R. <ma...@ru...> - 2004-02-03 15:18:00
|
Hi folks, > Hi, > > Ralf Sigmund <ral...@ip...> wrote: >> Greetings! >> >> I have recently started to use modeling for my bioinformatics work. >> I like it a lot but now i ran into a small problem. >> I often need to store small numbers like 1.24e-127 >> The MySQL datataype double stores theese correctly while float =20 >> reduces them to >> 0.0 which is a catastrophe for me. >> So I tried to specify double as external datatayp, but the =20 >> mdl-validate fails >> telling me that double is not supported. >> Is it possible to expand the mysql adapter to support double? > > Absolutely :) Apply the attached patch and you should be able to = use > MySQL's DOUBLE. Use precision=3D0, scale=3D0 for the default DOUBLE, = or > precision=3DM, scale=3DD for DOUBLE(M,D). If you can report that = this > works as expected, this will be in the next release. wouldn't this be an appropriate case for using FixedPoint? As per: <http://modeling.sourceforge.net/UserGuide/attribute-custom-type-=20 example.html> Or are there other reasons, maybe performance?, for not doing so? Cheers, mario > Hope this helps, > > -- S=E9bastien. |
From: Sebastien B. <sbi...@us...> - 2004-02-03 13:38:22
|
Hi,=20 Ralf Sigmund <ral...@ip...> wrote: > Greetings! >=20 > I have recently started to use modeling for my bioinformatics work. > I like it a lot but now i ran into a small problem. > I often need to store small numbers like 1.24e-127 > The MySQL datataype double stores theese correctly while float reduces th= em to > 0.0 which is a catastrophe for me. > So I tried to specify double as external datatayp, but the mdl-validate f= ails > telling me that double is not supported. > Is it possible to expand the mysql adapter to support double? Absolutely :) Apply the attached patch and you should be able to use MySQL's DOUBLE. Use precision=3D0, scale=3D0 for the default DOUBLE, or precision=3DM, scale=3DD for DOUBLE(M,D). If you can report that this works as expected, this will be in the next release. Hope this helps, -- S=E9bastien. Index: DatabaseAdaptors/MySQLAdaptorLayer/MySQLSQLExpression.py =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/modeling/ProjectModeling/Modeling/DatabaseAdaptors/MySQL= AdaptorLayer/MySQLSQLExpression.py,v retrieving revision 1.8 diff -u -r1.8 MySQLSQLExpression.py --- DatabaseAdaptors/MySQLAdaptorLayer/MySQLSQLExpression.py 15 Dec 2003= 15:05:00 -0000 1.8 +++ DatabaseAdaptors/MySQLAdaptorLayer/MySQLSQLExpression.py 3 Feb 2004 = 13:31:02 -0000 @@ -34,7 +34,8 @@ __version__=3D'$Revision: 1.8 $'[11:-2] =20 from Modeling.DatabaseAdaptors.MySQLAdaptorLayer.mysql_utils import * -from Modeling.SQLExpression import SQLExpression, DateType, CharacterType +from Modeling.SQLExpression import SQLExpression +from Modeling.SQLExpression import DateType, CharacterType, NumericType from Modeling.logging import trace, db_trace import string =20 @@ -117,7 +118,8 @@ values=3DSQLExpression.valueTypeForExternalTypeMapping.im_func(self) del values['timestamp'] values.update({ 'datetime': DateType, - 'text': CharacterType }) + 'text': CharacterType, + 'double': NumericType }) return values =20 def prepareSelectCountExpressionWithAttributes(self, |
From: Ralf S. <ral...@ip...> - 2004-02-03 11:28:48
|
Greetings! I have recently started to use modeling for my bioinformatics work. I like it a lot but now i ran into a small problem. I often need to store small numbers like 1.24e-127 The MySQL datataype double stores theese correctly while float reduces them to 0.0 which is a catastrophe for me. So I tried to specify double as external datatayp, but the mdl-validate fails telling me that double is not supported. Is it possible to expand the mysql adapter to support double? thanks Ralf |
From: Sebastien B. <sbi...@us...> - 2004-02-02 22:07:26
|
Hi all, This is a short announce for NF v0.6.1, which includes a fix for bug #885596 reported by Thorsten Kohnhorst: import __builtin__ missing, making it impossible to add an observer when the package ZODB was also installed. -- S=E9bastien. |
From: Sebastien B. <sbi...@us...> - 2004-02-02 21:24:01
|
Federico Heinz <fh...@vi...> wrote: > On Fri, 2004-01-23 at 12:44, Sebastien Bigaret wrote: > > Hopefully those two elements will help you see what remains. Roughly, > > I'll summarize that in: flattened relationships, vertical mapping, > > compound PKs, support for stored procedures, allow delegates to > > fine-tune any part of the processes, add more db adaptors. >=20 > As the person who probably did the most noise towards the need to > implement vertical mapping, I want to say that upon closer inspection, > it probably doesn't matter so much --- at least for us, so we wouldn't > care if vertical mapping went back to the bottom of the to-do (although > flattened attributes would still be very useful). Fine, this is probably what will happen then! > What *would* be very cool indeed, and in my opinion far more important, > is completion of the optimistic locking logic. Sure, and thanks for remembering --this is something I forgot in my previous message and in the roadmap posted earlier. This is an _unintentional_ lapse of memory although I consider it to be a quite high priority item. One of the reasons for making it high priority is that it is tighly related to the long-standing sessioning exposed in the User's Guide: http://modeling.sf.net/UserGuide/framework-integration-sessioning-ec.html =20=20=20 > > [...] Unfortunately, there is no > > sample app. Making a tutorial is on the TODO list, but at this point I > > must admit that I lack time for that. In other words, help needed! and > > I'll be happy to participate in the design of a sample app. supporting > > a tutorial ;) >=20 > We might be contributing a sample app soon, as part of an > Appkit-inspired widget set we're in the process of developing for our > GPL'ed application.=20 That would be great! > > I'm sure you do not mean "reverse engineer" (which is illegal) >=20 > Don't worry, reverse engineering is legal in most places, including such > fascist, backwards and dictatorial countries such as the US! In Europe, > I understand it is very heavily protected. Even the draconian DMCA has > special provisions to allow for reverse engineering. It's just that I hate those legal issues, so I prefer to stand back: avoiding an unnecessary way keeps the lawyers away ;) However, I didn't even know it could be legal in most places, interesting. -- S=E9bastien. |
From: Federico H. <fh...@vi...> - 2004-01-31 00:54:54
|
On Fri, 2004-01-23 at 12:44, Sebastien Bigaret wrote: > Hopefully those two elements will help you see what remains. Roughly, > I'll summarize that in: flattened relationships, vertical mapping, > compound PKs, support for stored procedures, allow delegates to > fine-tune any part of the processes, add more db adaptors. As the person who probably did the most noise towards the need to implement vertical mapping, I want to say that upon closer inspection, it probably doesn't matter so much --- at least for us, so we wouldn't care if vertical mapping went back to the bottom of the to-do (although flattened attributes would still be very useful). What *would* be very cool indeed, and in my opinion far more important, is completion of the optimistic locking logic. > [...] Unfortunately, there is no > sample app. Making a tutorial is on the TODO list, but at this point I > must admit that I lack time for that. In other words, help needed! and > I'll be happy to participate in the design of a sample app. supporting > a tutorial ;) We might be contributing a sample app soon, as part of an Appkit-inspired widget set we're in the process of developing for our GPL'ed application.=20 > I'm sure you do not mean "reverse engineer" (which is illegal) Don't worry, reverse engineering is legal in most places, including such fascist, backwards and dictatorial countries such as the US! In Europe, I understand it is very heavily protected. Even the draconian DMCA has special provisions to allow for reverse engineering. Fede --=20 GnuPG Public Key: gpg --keyserver wwwkeys.eu.pgp.net --recv-key BD02C6E0 Key Fingerprint: 04F4 08C5 14B7 2C3D DB21 ACF8 6CF5 0B0C BD02 C6E0 |
From: Sebastien B. <sbi...@us...> - 2004-01-23 15:41:20
|
Hi, Matthew Patton <pa...@dm...> wrote: > Hi, > I came across Modeling as a result of discovering WebObjects just > recently. I read through the docs on how to build web apps in WebObjects > and how to build and use Enterprise Objects, and I was very pleased with > the well-designed architecture of the EOF. It truly is the most > sophisticated and powerful Enterprise Object architecture that I have > seen. I know the feeling, and that's why the project started, when I had to switch to python+Zope! [...] > So, I turned to Python, and I discovered your excellent initiative > to take the great ideas in WebObjects and make them freely available > through the GPL. What you are working on is exactly what I need, and I > want to try to understand how I can best utilize your work. > I have the following questions: >=20 > 1. Is it your long-term goal to try to reproduce in Python everything that > Apple did in their EOF? >=20 > 2. Roughly speaking, how much of their functionality have you reproduced > to this point, and what remains? It is my goal to keep enhancing the framework as users' requests come in. Sometimes this can take a lot of time, but the dev. is oriented by users requests. And I do not like the term "reproduce", because therte's no reason to blindly stick to what the EOF does, or how a particular pb. is addressed. For example, there's a patch that will soon be integrated into the framework that allows dynamic building of the models AND the associated classes. The fact is, python offers sometimes more choices than ObjC or Java does --at the cost of performance sometimes, but that's probably also the coder's fault :/ As far as "how much functionality" still needs to be done, I have recently posted a little roadmap for immediate/mid-term future development, see it a= t: https://sourceforge.net/mailarchive/forum.php?thread_id=3D3739727&forum_id= =3D10674 You can also refer to the TODO list, distributed w/ the framework and available at: http://cvs.sourceforge.net/viewcvs.py/modeling/ProjectModeling/Modeling/TOD= O?rev=3D1.16&view=3Dauto (Keep in mind, however, that cleaning and publishing this todo list is a todo item too :) Hopefully those two elements will help you see what remains. Roughly, I'll summarize that in: flattened relationships, vertical mapping, compound PKs, support for stored procedures, allow delegates to fine-tune any part of the processes, add more db adaptors. > 3. I understand you use Zope as your application server for your test > projects. Do you have any code for a sample project that utilizes your > O/R layer with Zope? What I mean is, do you have a web program that > allows the user to interact with the DB using Modeling? Your examples in > the tests/ dir seemed be just the setting up of the Modeling classes, not > the actual usage of them in a program. I noticed you also discussed this > in your user guide, but it would be really helpful to see all of the code > for a full project. How does Zope compare to the web components approach > of WebObjects? Yeap, the tests/ dir contains test units for the whole framework, so it is not that useful as an example of use... Unfortunately, there is no sample app. Making a tutorial is on the TODO list, but at this point I must admit that I lack time for that. In other words, help needed! and I'll be happy to participate in the design of a sample app. supporting a tutorial ;) Back on Zope: I've no preference and usually start to design my apps. in pure python (test-driven dev.), than I take whatever action is needed to do the GUI and in case this is a web-app, I usually use Zope, yes. I'd say that you can do very clean dev. w/ Zope, the C & V part of MVC being done in, resp., products and products' pages (ZPT e.g.). This is quite difficult to compare WO to Zope, but both application servers have a clean and elegant architecture and allow elegant developments ;) with WO as a complete IDE at hand that Zope do not really have, but that's not that important (at least to my eyes). > 4. As a follow-up question, have you written any full-fledged > production-level products using Modeling? Absolutely, they are up and running for more than a year now, you'll find a description here: http://modeling.sourceforge.net/status.html Maybe someone else can also comment here?-) > 5. I noticed that Apple has the full API to WebObjects accessible online. > Did you have any other sources for figuring out how to reverse engineer > WebObjects? I'm sure you do not mean "reverse engineer" (which is illegal), rather "understanding the underlying concepts", don't you?-)) Apart from Apple's resources available online, I can't see any source --but I've quit developping w/ WO for a long time now, so I'm not the right person to ask that. Maybe you could ask the community at omnigroup.com e.g. Hopefully the answers were not too short, I did not have much time to answer --feel free to ask for more, esp. after your first experiments. I'll be offline some days from now, and will be back in the middle of next week. -- S=E9bastien. |
From: Matthew P. <pa...@dm...> - 2004-01-22 16:19:21
|
Hi, I came across Modeling as a result of discovering WebObjects just recently. I read through the docs on how to build web apps in WebObjects and how to build and use Enterprise Objects, and I was very pleased with the well-designed architecture of the EOF. It truly is the most sophisticated and powerful Enterprise Object architecture that I have seen. My motivation for looking for a good Enterprise Object framework is that for the past year and a half, I have been programming in PHP and I have been very frustrated with the lack of good tools like WebObjects for PHP. Unless I want to write very disorganized and unmaintainable code, I need tools like a solid Object-relational layer and a good MVC framework. I actually tried to do this myself (www.sf.net/projects/doulos), and met with some success (I just finished my first project in this framework, a conference registration system), but I found that I lacked the solid design ideas that WebObjects has. I debated rewriting WebObjects (in a highly simplified form) for PHP, but since PHP works by instantiating a new process in Apache that lives for a little while, returns some HTML and then dies, the idea of creating something like WebObjects that depends on a constantly running server for PHP is probably not a good idea. Its possible to do this, but it would be using PHP to write a server, something it was never intended for. So, I turned to Python, and I discovered your excellent initiative to take the great ideas in WebObjects and make them freely available through the GPL. What you are working on is exactly what I need, and I want to try to understand how I can best utilize your work. I have the following questions: 1. Is it your long-term goal to try to reproduce in Python everything that Apple did in their EOF? 2. Roughly speaking, how much of their functionality have you reproduced to this point, and what remains? 3. I understand you use Zope as your application server for your test projects. Do you have any code for a sample project that utilizes your O/R layer with Zope? What I mean is, do you have a web program that allows the user to interact with the DB using Modeling? Your examples in the tests/ dir seemed be just the setting up of the Modeling classes, not the actual usage of them in a program. I noticed you also discussed this in your user guide, but it would be really helpful to see all of the code for a full project. How does Zope compare to the web components approach of WebObjects? 4. As a follow-up question, have you written any full-fledged production-level products using Modeling? 5. I noticed that Apple has the full API to WebObjects accessible online. Did you have any other sources for figuring out how to reverse engineer WebObjects? Thanks a lot for your thoughts! I am going to try and get something working in Modeling now! Matt ______________________________________________________________ Matthew Patton pa...@dm... DiscipleMakers Headquarters: (814)234-7975 x32 |
From: <Jer...@fi...> - 2004-01-20 08:42:13
|
I really think we need to look at this : http://blog.colorstudy.com/ianb/weblog/2004/01/20.html#P55 Bye Bye .. ---- Jkx |
From: Mario R. <ma...@ru...> - 2004-01-15 20:23:27
|
Hello Sebastien, may 2004 be a happy and healthy year for you, as well as for all of us! Thanks for this little summary. I do not think you have forgotten anything, in any case this is already a lot ;( The prioritization of the items is perfectly fine, also, When does it end ;-? Oh, btw, my rantings before xmas about custom types were mostly about me not thinking clearly... after taking a break and coming back to it, it all seems very clear and logical! Thanks again, mario > > Hi, and all the best to you all for 2004! > > Since I've been off quite a long time, I need to tidy up my brain a = bit > ;) hence I've just made a little roadmap/shortlist of = things-to-be-done > in the immediate future, and I'd like to share it. The following tasks > are currently identified: > > - integrate John's patch for handling (py2.3) boolean values in xml > model > =20 > https://sf.net/mailarchive/forum.php?thread_id=3D3544565&forum_id=3D1067= 4 > > - deprecate (remove) MDL_PERMANENT_DB_CONNECTION and replace it with > MDL_TRANSIENT_DB_CONNECTION (which has the inverse semantics), as > previously discussed w/ Lukasz > =20 > https://sf.net/mailarchive/forum.php?thread_id=3D3526682&forum_id=3D1067= 4 > > - integrate patch #771009: batch-fetch for relationships > > - integrate patch #814055: Dynamic creation of packages, modules and > classes > > - study RFE #804243: the need to secure values in qualifiers by > quoting them shows up regularly and should be answered. Help > welcome! > > - RFE #855252: Model support for unique value constraint for > attributes, proposed by Mario and discussed here > =20 > https://sf.net/mailarchive/forum.php?thread_id=3D3575938&forum_id=3D1067= 4 > > - consider planning the following features: > > a. support for compound PKs, > b. support for flattened attributes, > c. support for horizontal mapping (requires b) > d. support for stored procedures, as discussed w/ Ezra > =20 > https://sf.net/mailarchive/forum.php?thread_id=3D3618365&forum_id=3D1067= 4 > > - clean up the TODO list, and make it visible from the home page. > > The two first items will be in the next release. The next two ones = will > also probably happen in the next release, but they won't be advertised > as such unless I find some time to write the documentation --rather > unlikely: I'd like the next release to happen soon because a lot of = bug > corrections have been made since the last one was released. > > If you think I've forgotten here a request you've previously made, > sorry, this is unintentional and it probably slipped out of my > mind. In that case, please reply to this post or resurrect the > corresponding thread ;) > > -- S=E9bastien. > |
From: Sebastien B. <sbi...@us...> - 2004-01-13 10:50:43
|
Hi, and all the best to you all for 2004! Since I've been off quite a long time, I need to tidy up my brain a bit ;) hence I've just made a little roadmap/shortlist of things-to-be-done in the immediate future, and I'd like to share it. The following tasks are currently identified: - integrate John's patch for handling (py2.3) boolean values in xml model https://sf.net/mailarchive/forum.php?thread_id=3D3544565&forum_id=3D106= 74 - deprecate (remove) MDL_PERMANENT_DB_CONNECTION and replace it with MDL_TRANSIENT_DB_CONNECTION (which has the inverse semantics), as previously discussed w/ Lukasz https://sf.net/mailarchive/forum.php?thread_id=3D3526682&forum_id=3D106= 74 - integrate patch #771009: batch-fetch for relationships - integrate patch #814055: Dynamic creation of packages, modules and classes - study RFE #804243: the need to secure values in qualifiers by quoting them shows up regularly and should be answered. Help welcome! - RFE #855252: Model support for unique value constraint for attributes, proposed by Mario and discussed here https://sf.net/mailarchive/forum.php?thread_id=3D3575938&forum_id=3D106= 74 - consider planning the following features: a. support for compound PKs, b. support for flattened attributes, c. support for horizontal mapping (requires b) d. support for stored procedures, as discussed w/ Ezra https://sf.net/mailarchive/forum.php?thread_id=3D3618365&forum_id=3D= 10674 - clean up the TODO list, and make it visible from the home page. The two first items will be in the next release. The next two ones will also probably happen in the next release, but they won't be advertised as such unless I find some time to write the documentation --rather unlikely: I'd like the next release to happen soon because a lot of bug corrections have been made since the last one was released. If you think I've forgotten here a request you've previously made, sorry, this is unintentional and it probably slipped out of my mind. In that case, please reply to this post or resurrect the corresponding thread ;) -- S=E9bastien. |