[Zope3-dev] Re: [Zopeorg-webmaster] Zope3 Glossary edit permission
Hi Andreas, Andreas Elvers wrote: I'd like to help out with the Zope3 glossary. Especially terms like Service should be moved to depricated terms. And there are others missing or the descriptions are simply too short. Since my native language is German it would be probably a good idea to review my entries :-) Anyway my id is itsafire. Thanks for the offer! The good people on zope3-dev may be able to help... Chris -- Simplistix - Content Management, Zope Python Consulting - http://www.simplistix.co.uk ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
[Zope3-dev] Re: File is not Contained
Thomas Lotze wrote: after having posted this to what I guess is the wrong list (all hail gmane group names...) and having received no answer, I'll repost it here: I noticed that zope.app.file.File does not inherit from zope.app.container.contained.Contained. This does not stop a file from, e.g., getting added to a folder (and the File type does appear in the ZMI add menu). It does, however, stop you from getting at the File's parent. Currently, File cannot be used as a proper content type, though it looks like it is supposed to be one. IMO File should inherit from Contained; am I wrong for some reason, or is this an issue that should be fixed? If the latter, I'd look into it. Zope 3 doesn't require certain mix-in classes like Zope 2 does, so if anything is needed at all here, it's definitely NOT a mix-in class. Now, Zope 3 tries very hard not to impose anything on objects. That even includes objects living inside an object hierarchy. For the containment framework that means that objects can *choose* to provide IContained themselves. In this case the containment framework puts a __parent__ and __name__ on the object itself. If an object doesn't provide IContained (and that's totally acceptable), the containment framework puts a picklable containment proxy around it and stores that. So, in short, even though File doesn't provide IContained, you can still get a File's parent *if* that File object has been put in a folder and you got it via the folder. I explain this in more detail in my book, page 237f. I know you have a copy :). Philipp ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
[Zope3-dev] Issue 516: IPrincipal.id should be BytesLine (or ASCIILine)
Please see http://www.zope.org/Collectors/Zope3-dev/516. Looking for comments. Thanks, Philipp ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] Certification: Support platforms different from Linux?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Christian Theune wrote: Hi, although Zope runs on platforms different than Linux, we'll have a hard time to certify it on multiple platforms. Usually a very specific system configuration is given, like Windows 2003 with Service Pack XY and Hotfixes A, B and C. I think we can get around that by making a small amount of assumptions on the Linux kernel (e.g. large file support, memory, newer than 2.X.Y) and don't go into distribution details. Additionally I'll describe the source installation as the certified way of installing Zope, so we won't be depending on any kind of package machinery. So my question is: Does anybody think it will be a problem for Zope beeing CC certified only on Linux? Not for us at Nuxeo :) We never delivered an application that is not running on a Linux box to a customer. J. - -- Julien Anguenot | Nuxeo RD (Paris, France) CPS Platform : http://www.cps-project.org Zope3 / ECM : http://www.z3lab.org mail: anguenot at nuxeo.com; tel: +33 (0) 6 72 57 57 66 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFDoXT6GhoG8MxZ/pIRAvghAJ9zrIqNn7BGeR0Kfil/ACF09p81/QCcDesD +SpUp/5gYIwG/rhW6TuaRao= =uctk -END PGP SIGNATURE- ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
[Zope3-dev] buildbot failure in Zope3 trunk 2.4 Linux zc-buildbot
The Buildbot has detected a failed build of Zope3 trunk 2.4 Linux zc-buildbot. Buildbot URL: http://buildbot.zope.org/ Build Reason: changes Build Source Stamp: 2236 Blamelist: ctheune,yuppie BUILD FAILED: failed test sincerely, -The Buildbot ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] buildbot failure in Zope3 trunk 2.4 Linux zc-buildbot
[EMAIL PROTECTED] wrote: The Buildbot has detected a failed build of Zope3 trunk 2.4 Linux zc-buildbot. This was the ever-popular... Error in test testRunIgnoresParentSignals (zdaemon.tests.testzdrun.ZDaemonTests) Traceback (most recent call last): File /usr/lib/python2.4/unittest.py, line 270, in run self.tearDown() File /home/buildbot/slave-zope.org/zc-buildbot--Linux--Zope3---trunk--2.4/build/src/zdaemon/tests/testzdrun.py, line 76, in tearDown self.assertEqual(self.expect, output) File /usr/lib/python2.4/unittest.py, line 333, in failUnlessEqual raise self.failureException, \ AssertionError: '' != '\n\nError in test testRunIgnoresParentSignals (zdaemon.tests.testzdrun.ZDaemonTests)\nTraceback (most recent call last):\n File /usr/lib/python2.4/unittest.py, line 260, in run\ntestMethod()\n File /home/buildbot/slave-zope.org/zc-buildbot--Linux--Zope3---trunk--2.4/build/src/zdaemon/tests/testzdrun.py, line 251, in testRunIgnoresParentSignals\nshutil.rmtree(tmp)\n File /usr/lib/python2.4/shutil.py, line 164, in rmtree\nonerror(os.remove, fullname, sys.exc_info())\n File /usr/lib/python2.4/shutil.py, line 162, in rmtree\nos.remove(fullname)\nOSError: [Errno 2] No such file or directory: \'/tmp/tmp-7nmMV/testsock\'\n\n' I've restarted a test run on that machine to see if it fails consistently. -- Benji York Senior Software Engineer Zope Corporation ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] buildbot failure in Zope3 trunk 2.4 Linux zc-buildbot
[EMAIL PROTECTED] The Buildbot has detected a failed build of Zope3 trunk 2.4 Linux zc-buildbot. [Benji York] This was the ever-popular... Error in test testRunIgnoresParentSignals (zdaemon.tests.testzdrun.ZDaemonTests) Traceback (most recent call last): File /usr/lib/python2.4/unittest.py, line 270, in run self.tearDown() File /home/buildbot/slave-zope.org/zc-buildbot--Linux--Zope3---trunk--2.4/build/src/zdaemon/tests/testzdrun.py, line 76, in tearDown self.assertEqual(self.expect, output) [...] AssertionError: '' != '\n\nError in test testRunIgnoresParentSignals [...] File /usr/lib/python2.4/shutil.py, line 162, in rmtree os.remove(fullname)\nOSError: [Errno 2] No such file or directory: '/tmp/tmp-7nmMV/testsock' Failure in testRunIgnoresParentSignals has been depressingly popular, but I don't think I've ever seen that _specific_ failure mode before. The one that was reportedly endlessly over recent months, and which Jim fixed, ended with this instead: AssertionError: spawned process failed to start in a minute I've restarted a test run on that machine to see if it fails consistently. And it doesn't. I think the new version of this test may be hiding the real problem, though: the shutil.rmtree() call is in a top-level `finally` clause, so if any exception is raised in the body of the test, then _before_ that exception is reported we get into the `finally` clause. Then if shutil.rmtree() raises an exception (as it did in the failing buildbot run), the original exception is lost. Hmm. Looks like that includes the case where the new test is trying to report the old symptom: self.assert_(is_started, spawned process failed to start in a minute) But I don't think that's what happened in this specific failure: os.rmtree(tmp) died with No such file or directory: '/tmp/tmp-7nmMV/testsock' but os.rmtree() wouldn't have _tried_ to delete 'testsock' to begin with unless os.listdir(tmp) said 'testsock' was in the temp directory. The sanest conclusion I can draw is that some other process (zdrun?) unlinked 'testsock' between the time os.rmtree() did its os.listdir() and the time os.rmtree() tried to unlink 'testsock' itself. If so, that's a new race condition in the new version of the test (the old version of the test didn't try to unlink 'testsock' -- I guess it left that to zdrun), and can trigger even if the body of the test passes. ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
[Zope3-dev] Bug Day tomorrow
Hi everyone, in preparation for beta 2 or RC 1 next week, we are going to have a bug day tomorrow. Please join to help make this release stable! Regards, Stephan -- Stephan Richter CBU Physics Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] Re: rdb: Disappearing Connection
Jim Washington wrote at 2005-12-13 21:40 -0500: ... Now, looking closer at the code, a ping like this might be not too bad, because isConnected() is only called when a connection is requested, not for every SQL statement executed. So, it might not be so onerous as originally thought. Still not ideal, though. Be careful what you do when you find that isConnected() returns false. Note, that, in general, it would be a bug to just reopen a new connection in this case: previous operations against the connection might have been lost without notice when you simply reopen a new connection and do as if nothing bad had happened. Instead, you should reopen the connection and then raise an exception similar to ZODB.POSException.ConflictError. Hopefully, the publisher will handle this kind of exception correctly (by retrying the complete request). -- Dieter ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] buildbot failure in Zope3 trunk 2.4 Linux zc-buildbot
[Tim Peters, on the testRunIgnoresParentSignals failure] ... The sanest conclusion I can draw is that some other process (zdrun?) unlinked 'testsock' between the time os.rmtree() did its os.listdir() and the time os.rmtree() tried to unlink 'testsock' itself. If so, that's a new race condition in the new version of the test (the old version of the test didn't try to unlink 'testsock' -- I guess it left that to zdrun), and can trigger even if the body of the test passes. That's definitely the problem here, and is easy to reproduce by inserting a short time.sleep() inside os.rmtree(): zdrun.py and the test code are racing to delete 'testsock'. If the test code wins the race, no problem is visible, because zdrun suppresses the os.error it gets when it tries to delete 'testsock' itself. But if zdrun manages to delete it in the middle of the test code's call to rmtree(), we get the bogus test death the buildbot experienced. That's unlikely, but is bound to happen from time to time. I'll try to fix it later today if I can make time, and nobody else does first ... ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
[Zope3-dev] Re: rdb: Disappearing Connection
Dieter Maurer wrote: Jim Washington wrote at 2005-12-13 21:40 -0500: ... Now, looking closer at the code, a ping like this might be not too bad, because isConnected() is only called when a connection is requested, not for every SQL statement executed. So, it might not be so onerous as originally thought. Still not ideal, though. Be careful what you do when you find that isConnected() returns false. Note, that, in general, it would be a bug to just reopen a new connection in this case: previous operations against the connection might have been lost without notice when you simply reopen a new connection and do as if nothing bad had happened. Instead, you should reopen the connection and then raise an exception similar to ZODB.POSException.ConflictError. Hopefully, the publisher will handle this kind of exception correctly (by retrying the complete request). MySQL::Ping will automatically reopen a closed connection in a way where the existing connection object can still be used. If MySQL::Ping fails something really bad is going on. To reduce the number of ping's in my application I used a timer which was tested before every call to a database function. If the timer expired I did a ping to ensure mysql is reconnected. This is the code sqlobject is using : while (1): try: return cursor.execute(query) except MySQLdb.OperationalError, e: if e.args[0] == 2013: # SERVER_LOST error if self.debug: self.printDebug(conn, str(e), 'ERROR') else: raise So, checking for SERVER_LOST and then eventually using MySQL::Ping would do the trick. Jürgen -- --- Jürgen Kartnaller mailto:juergen_at_kartnaller.at http://www.kartnaller.at http://www.mcb-bregenz.at --- ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Re: [Zope3-dev] Re: rdb: Disappearing Connection
jürgen Kartnaller wrote: MySQL::Ping will automatically reopen a closed connection in a way where the existing connection object can still be used. If MySQL::Ping fails something really bad is going on. To reduce the number of ping's in my application I used a timer which was tested before every call to a database function. If the timer expired I did a ping to ensure mysql is reconnected. This is the code sqlobject is using : while (1): try: return cursor.execute(query) except MySQLdb.OperationalError, e: if e.args[0] == 2013: # SERVER_LOST error if self.debug: self.printDebug(conn, str(e), 'ERROR') else: raise So, checking for SERVER_LOST and then eventually using MySQL::Ping would do the trick. Jürgen Sorry if that is mentioned somewhere, I missed the begining of the thread, but I just want to add, that MySQL is not the only SQL server in use. And this particular problem is not MySQL specific - I'm having troubles with disappearing connections with PostgreSQL, which doesn't have MySQL::Ping. The patch, that was proposed already - use a SELECT statement to ensure the connection is available - is not the best solution at least in my case, because my code never dares to store, or reuse a connection, knowing that connections are being managed by Zope (with a volatile attribute) and this turns into one getConnection() call per request. I was thinking about handling exceptions, because it does generate exception at the end and I know I need to reconnect when I see it in the log (restart the server actually, because I authenticate trough the SQL database). I do hope however that I will be able to configure the SQL server in a way to prevent the connection from dissappearing at all, when the time comes to solve this problem. Regards Velko Ivanov ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
[Zope3-dev] getCacheStream?
HTTP request body streams have a new method in their implementation named getCacheStream. I don't see any documentation for this method and I don't like the API it implies. I'm also not at all happy with the implementation. Is anyone using this method? It's not used in the Zope sources. This method should be considered an unsupported non-feature that is likely to go away in the future. If people feel that they need this, I'd like to see use cases and a proposal. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
Twisted issues (Re: [Zope3-dev] Re: Twisted Publisher and Zope 2)
Jim Fulton wrote: Tres Seaver wrote: ... Ob. note: the performance characteristics of such servers (including twisted) are not well understood in the context of Zope, until some brave soul actually rolls out a high-volume production site and reports success or failure. Good point! It would be good to investigate this issue further. I did some investigation and found the thread-management strategy currently provided to be unsatisfactory. I've posted a note to the Twisted list. I don't know if this can be fixed before the next Zope 3.2 beta this weekend. I think I'm going to look into adding an option to makezopeinstance to select which server is used. I haven't decided yet which one will be the default. I'm leaning toward making twisted the default to try to increase the amount of testing it gets, but recommend that people use ZServer for now in production sites. Thoughts? Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com
[Zope3-dev] Re: Twisted issues (Re: Re: Twisted Publisher and Zope 2)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Jim Fulton wrote: Jim Fulton wrote: Tres Seaver wrote: ... Ob. note: the performance characteristics of such servers (including twisted) are not well understood in the context of Zope, until some brave soul actually rolls out a high-volume production site and reports success or failure. Good point! It would be good to investigate this issue further. I did some investigation and found the thread-management strategy currently provided to be unsatisfactory. Given the twisted team's general attitude toward threaded programming, I don't find that terribly surprising. Kind of like what you get when you elect government officials whose sincere program and belief is that government can't work. ;) I've posted a note to the Twisted list. I don't know if this can be fixed before the next Zope 3.2 beta this weekend. I think I'm going to look into adding an option to makezopeinstance to select which server is used. I haven't decided yet which one will be the default. I'm leaning toward making twisted the default to try to increase the amount of testing it gets, but recommend that people use ZServer for now in production sites. - -0. I would restate my belief that the twisted integration is yet-to-be-proved in production use, and needs some care-and-feeding from people whose pagers go off (or the equivalent) if it breaks. I can live with the default being twisted, but it is a bit like leaving 'debug-mode on' in the default config file for now. Tres. - -- === Tres Seaver +1 202-558-7113 [EMAIL PROTECTED] Palladion Software Excellence by Designhttp://palladion.com -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFDoewB+gerLs4ltQ4RAuXaAKDPXKDmAMgQpOAKWDJ+zF2rGov4DQCfboYX sByBXXJYqeJKFcgVgSYKvL4= =z7XT -END PGP SIGNATURE- ___ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com