Re: [Zope] Product loading during ZopeTestCase startup
Encolpe Degoute writes: > Hello, > since few days i'am facing a strange problem with egg loading in tests. > One egg called project.site_policy is never loaded in the Products > namespace: the ZopeLite.hasPackage('project.site_policy') always returns > False. > Where is the code that loads eggs and products outside > SOFTWARE_HOME/lib/python/Products ? > > regards If I'm understanding correctly, one need to use the five:registerPackage ZCML directive and then use ZTC.installPackage. Many collective.* packages can be used as reference, including collective.formcriteria. There are probably simper examples, but that's the first that comes to mind. HTH, Ross ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Regarding ZODB
amol kumbhar writes: > I am trying to execute following code > > import ZODB > from Persistence import Persistent > > class Employee(Persistent): > > def setName(self, name): > self.name = name > > but getting following error > > Error Type: ImportError > Error Value: import of "Persistent" from "Persistence" is unauthorized. You > are > not allowed to access 'Persistent' in this context It looks like you're trying to do this from a python script in the ZMI. I think to do what you're trying to do you need to write a python package on the filesystem. Ross > this is my full error log > > Time 2009/03/24 22:31:33.559 GMT+0530 > > User Nameadmin (admin) > > (User Id) > > Request URL http://localhost:9673/DeveloperGuide/SimpleinterfaceException > ImportError > Type > > Exceptionimport of "Persistent" from "Persistence" is unauthorized. You > are > Valuenot allowed to access 'Persistent' in this context > > > Traceback (innermost last): > > • Module ZPublisher.Publish, line 119, in publish > • Module ZPublisher.mapply, line 88, in mapply > • Module ZPublisher.Publish, line 42, in call_object > • Module Shared.DC.Scripts.Bindings, line 313, in __call__ > • Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec > • Module Products.PythonScripts.PythonScript, line 327, in _exec > • Module None, line 2, in Simpleinterface > > Line 2 > • Module AccessControl.ZopeGuards, line 284, in guarded_import > > ImportError: import of "Persistent" from "Persistence" is unauthorized. You > are > not allowed to access 'Persistent' in this context > > Display traceback as text > > Return to log > REQUEST > > form > > -C '' > > cookies > > dtpref_rows '20' > > dtpref_cols '90%' > > tree-s 'eJzT0MgpMOQKVneEA1dbda4CI67EkgJjLj0AeGcHew' > > GLog > '%7Bleft%3A0%2Ctop%3A0%2Cwidth%3A1175%2Cheight%3A630%2CpriorityDefaults%3A%7BLog%3A4%7D%2CdefaultPriority%3A3%2CtrackRPC%3Anull%7D' > > lazy items > > SESSION /session_data_manager>> > > > other > > TraversalRequestNameStack [] > > AUTHENTICATED_USER > > URL > 'http://localhost:9673/DeveloperGuide/Simpleinterface' > SERVER_URL'http://localhost:9673' > > AUTHENTICATION_PATH '' > > traverse_subpath [] > > PUBLISHED > > ACTUAL_URL > 'http://localhost:9673/DeveloperGuide/Simpleinterface' > URL0 > http://localhost:9673/DeveloperGuide/SimpleinterfaceURL1 > http://localhost:9673/DeveloperGuideURL2 > http://localhost:9673BASE0 http://localhost:9673BASE1 > http://localhost:9673BASE2 > http://localhost:9673/DeveloperGuideBASE3 > http://localhost:9673/DeveloperGuide/Simpleinterface > > environ > > HTTP_COOKIE 'dtpref_rows="20"; dtpref_cols="90%"; GLog= > > > %7Bleft%3A0%2Ctop%3A0%2Cwidth%3A1175%2Cheight%3A630%2CpriorityDefaults%3A%7BLog%3A4%7D%2CdefaultPriority%3A3%2CtrackRPC%3Anull%7D; > tree-s="eJzT0MgpMOQKVneEA1dbda4CI67EkgJjLj0AeGcHew"' > > SERVER_SOFTWARE 'Zope/(Zope 2.10.5-final, python 2.4.5, linux2) > ZServer/1.1
Re: [Zope] Anyone know of a tool to restore/cleanup/reset security/role settings?
"Alexander Limi" <[EMAIL PROTECTED]> writes: > On Sat, 29 Nov 2008 15:19:10 -0800, Ross Patterson > <[EMAIL PROTECTED]> wrote: > >> Yeah, I did see that and no it doesn't look like it resets anything. It >> also looks like it's only concerned with local roles and I need to reset >> the role mappings too. But thanks anyways! >> >> Keep an eye out for collective.securitycleanup. :) > > Cool, I will. It's a very frequently asked question — "how can I get back > to the state my site was in before I started messing with security?" :) I've released it: http://pypi.python.org/pypi/collective.securitycleanup collective.securitycleanup GenericSetup handlers to restore Zope security to defaults WARNING: Backup your ZODB before using this package! The Zope 2 security framework is very powerful and one of it's greatest strengths. A lot of it's power comes from it's flexibility. Exposing that power to site adminsitrators often ends up giving them enough rope to hang themselves with. This is exactly what the "Security" tab in the ZMI does. In many cases, a site admin or consultant is faced with the daunting task of restoring all the security settings throughout the Zope object heirarchy in order to bring sanity and predictability back to the site. The collective.securitycleanup package provides GenericSetup handlers for restoring the role mappings and local roles back to their defaults. This handler can be used in combination with existing handlers to set role mappings and to re-apply workflow security settings to help start the process of security cleanup. The clean up is performed on all ancestors including the Zope application root and by walking down the heirarchy to all descendants. This means all descendents of the context the handler is used on and all ancestors of the context including the root will be cleaned up. It will not clean up siblings or anything else that is not a direct ancestor to the context. The clean up removes all permission settings stored on the instance which effectively restores them to code defaults. The clean up also removes all local roles except the "Owner" role for the user returned by OFS.interfasces.IOwned.getOwnerTuple() if already assigned. Use of this tool will likely only ever be a starting point. So be sure to test thoroughly before deploying to your production server and backup your ZODB before using it. Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Anyone know of a tool to restore/cleanup/reset security/role settings?
"Alexander Limi" <[EMAIL PROTECTED]> writes: > On Fri, 28 Nov 2008 19:10:48 -0800, Ross Patterson > <[EMAIL PROTECTED]> wrote: > >> Does anyone know of an existing tool for restoring all security >> settings/rolemaps from the ground up? Obviously I can use >> rolemap.xml where applicable and update workflow security. I want to >> first restore the Zope root to code defaults and restore the whole >> hierarchy to just acquire. >> >> I'm going to write something myself if not, but I thought I'd see if >> there was anything out there. > > I assume you saw this release from Andreas today: > http://pypi.python.org/pypi/zopyx.plone.cassandra > > I'm not sure if it can actually reset the settings, but at least it > can show them. Maybe something you can contribute to the next release? > :) Yeah, I did see that and no it doesn't look like it resets anything. It also looks like it's only concerned with local roles and I need to reset the role mappings too. But thanks anyways! Keep an eye out for collective.securitycleanup. :) Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Anyone know of a tool to restore/cleanup/reset security/role settings?
Does anyone know of an existing tool for restoring all security settings/rolemaps from the ground up? Obviously I can use rolemap.xml where applicable and update workflow security. I want to first restore the Zope root to code defaults and restore the whole hierarchy to just acquire. I'm going to write something myself if not, but I thought I'd see if there was anything out there. Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] FunctionalTestCase commits transactions
"Peter Bengtsson" <[EMAIL PROTECTED]> writes: > 2008/11/4 Dieter Maurer <[EMAIL PROTECTED]>: >> Ross Patterson wrote at 2008-11-3 16:04 -0800: >>> ... >>>If memory serves, a *functional* test fixture calls the Zope publisher >>>when a testbrowser request is made. The publisher opens a new >>>transaction, as it should. >> >> Really? >> >> When I wrote a functional test browser (years before "zope3"), >> I emulated the Zope publisher rather than calling it directly >> in order to have control how transactions are handled. >> >> Especially, I used subtransactions instead of top level transactions >> to avoid the bug reported by Peter. >> > > Uh? "subtransactions"? > So how would you recommend that I go abouts doing this? > In fact I've already written a custom tearDown() for my class that > cleans the test database (postgresql) which is quite neat because I > can write tests in a completely different way as each test can build > on each other (assuming order of methods is respected) similar to how > doctests are done where you have blocks of shell code split between > text. > > If this is the way it has to be to test with zope.testbrowser in zope > 2 then I'll let it be so. I don't think what Dieter is talking about is a viable path for you. I think he's talking about something *else* that he did in the past. I think you should use your approach or the one I suggested. Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] FunctionalTestCase commits transactions
"Dieter Maurer" <[EMAIL PROTECTED]> writes: > Ross Patterson wrote at 2008-11-3 16:04 -0800: >> ... >>If memory serves, a *functional* test fixture calls the Zope publisher >>when a testbrowser request is made. The publisher opens a new >>transaction, as it should. > > Really? > > When I wrote a functional test browser (years before "zope3"), > I emulated the Zope publisher rather than calling it directly > in order to have control how transactions are handled. > > Especially, I used subtransactions instead of top level transactions > to avoid the bug reported by Peter. I'm not completely sure, but I'm *pretty* sure. I remember stepping through the code before and seeing a new transaction start. As for "as it should", it just seems reasonable to me that a functional test fixture would try to use the real application behavior as much as possible. Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] FunctionalTestCase commits transactions
"Peter Bengtsson" <[EMAIL PROTECTED]> writes: > I'm trying to get zope.testbrowser to work in Zope 2.10. After a lot > of guesswork (easy_install zope.testbrowser broke my environment, Zope > 2.11 isn't setting up session container, used various blogs tips to > get adapters right) I got it running and I can now do stuff like > browser.open(self.folder.myapp.absolute_url()) in python unit test. > However, I have a problem. The app uses ZSQL Methods and when the test > finishes the transaction is not rolled back and I'm not interested in > manually resetting the test database. > Is this so deliberately? > Do I really have to manually reset the database? > > I noticed that FunctionTestCase > (lib/python/Testing/ZopeTestCase/ZopeTestCase.py:116) inherits from > functional.Functional which inherits from sandbox.SandBoxed which, > although I don't understand it, seems to do things differently to the > non-functional approach which inherits from base.TestCase. > > Although I'm not using it, function.Functional adds the nifty function > publish() which I'm not using but it's not a transaction.commit() in > it. Why?? > And what does that decorator actually do? If memory serves, a *functional* test fixture calls the Zope publisher when a testbrowser request is made. The publisher opens a new transaction, as it should. So if there are uncommitted changes in the transaction used by the test before submitting the testbrowser request, then those changes won't be reflected in the new transaction opened when the publisher handles the request. I'm guessing that since this is a fairly common situation it was decided that the test case should commit before submitting the request to the Zope publisher. I think it's proper that a *functional* test case opens a new transaction when responding to requests since that's how the application behaves. I also think that it's proper for a widely shared test fixture such as this to gracefully handle the common case where a test writer needs changes made in the test to show up when handling the request as it does now. I *also* agree that your case is the purer one and that should be supported. So I guess I'd advocate for making the commit in the Functional.publish() method configurable. At any rate, to solve your immediate problem, I would just write a new test case class that subclasses whatever test case class you were using, copy the publish method implementation from Functional and just remove the commit line. Then you can use your test case class in your tests and the commit won't be made. HTH, Ross > class Functional(sandbox.Sandboxed): > ... > __implements__ = (interfaces.IFunctional,) > > @savestate > def publish(self, path, basic=None, env=None, extra=None, > request_method='GET', stdin=None, handle_errors=True): > '''Publishes the object at 'path' returning a response object.''' >... > > # Commit the sandbox for good measure > transaction.commit() > ... ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: help debugging a "can't pickle" error deep within a catalog reindex
Rob Miller <[EMAIL PROTECTED]> writes: > Ross Patterson wrote: >> Rob Miller <[EMAIL PROTECTED]> writes: >> >>> hi, >>> >>> i'm trying to perform a ZCatalog.refreshCatalog() on a catalog with >>> over 29,000 indexed objects. it churns for a good long time, and >>> eventually fails with a long set of tracebacks, of which i've included >>> a sample at the end of this message. >>> >>> i think i understand the gist of the issue... it's trying to write an >>> object (probably a CatalogBrain) to the database, but this object's >>> __dict__ contains a value that is of type instancemethod, which isn't >>> allowed for persistent objects. >>> >>> the problem is that i can't figure out which specific objects are >>> causing the problem. i've used pdb.post_mortem to get a debug prompt >>> way down in the traceback, but the code goes in and out of C modules, >>> so i'm missing a lot of what's happening. and when i interactively >>> peek at the objects that are being indexed when the error happens, >>> there doesn't seem to be anything wrong, and i can index the objects >>> w/ no problem. i've even tried dropping the subtransaction threshold >>> down to 1, so it will try to commit a savepoint after every object, >>> but none of the objects being indexed seemed to have any problems. >>> >>> i CAN verify that the instancemethod that is causing the problem >>> renders like this: >>> >>> >> at /session_data_manager>> >>> >>> even that hasn't proven enough for me to concretely identify the >>> source of the problem, though. >>> >>> i've been working on this for a full day already, and am not sure how >>> to proceed. does anyone have any debugging tips that might help me >>> figure out what, exactly, is causing the reindex attempts to blow up? >>> >>> thanks! >> >> Can you get a pdb.post_mortem prompt at the actual ZODB/serialize.py:416 >> error or only at transaction/_transaction.py:267 where some sort of >> previous error is handled? > > yes, i put the post_mortem around the "transaction.savepoint" call at > line 559 of Products/ZCatalog/ZCatalog.py. this is the place where > the error is happening, but it's where the subtransaction threshold > has been reached, so IIUC the error could be caused by any of the > objects in the subtransaction. Then it seems like you're not getting at the actual pickle error and thus aren't looking at the object whose __getstate__ returns the offending instance method. If you have enough memory, try running the refreshCatalog with subtransactions disabled to get the *actual* pickle error. >> If the former, I often find it informative to step up to >> ZODB/serialize.py:407 where obj.__getstate__() is called and find out >> what obj is. Is it the same object every time? If not, is it of the >> same type every time? > > right. as long as the subtxn threshold number is the same, then the > object is the same. but if i change the subtxn threshold, then the > object will be different. as i said, i even tried reducing the subtxn > threshold to '1', so, assuming my understanding is correct, this would > be triggered after every object. it took many hours to get to my > debug prompt; when i did, the obj was FileAttachment object that > didn't seem to have any problems. i was able to interactively index > the object from the pdb prompt, and even commit the transaction, w/ no > problems. The actual error of your TB is the error that savepoint raises when a previous error has occurred. So changing the subtransaction threshold just changes which object is being indexed when the savepoint *happens* to be run and notices that an error has been raised for a previous object in the savepoint. At least, that's my read of it. >> A next step can also be to put a pdb.set_trace() at >> transaction/_transaction.py:340 in the register() method such that >> it's is only called when the offending object is added to the >> transaction. > > i'll give this a shot, thx. > >> Hope some of that helps, > > even just having someone to discuss it with is helpful, for my sanity > at least... ;-) Well, then I'll have to enjoy your sanity vicariously. :) Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: help debugging a "can't pickle" error deep within a catalog reindex
Rob Miller <[EMAIL PROTECTED]> writes: > hi, > > i'm trying to perform a ZCatalog.refreshCatalog() on a catalog with > over 29,000 indexed objects. it churns for a good long time, and > eventually fails with a long set of tracebacks, of which i've included > a sample at the end of this message. > > i think i understand the gist of the issue... it's trying to write an > object (probably a CatalogBrain) to the database, but this object's > __dict__ contains a value that is of type instancemethod, which isn't > allowed for persistent objects. > > the problem is that i can't figure out which specific objects are > causing the problem. i've used pdb.post_mortem to get a debug prompt > way down in the traceback, but the code goes in and out of C modules, > so i'm missing a lot of what's happening. and when i interactively > peek at the objects that are being indexed when the error happens, > there doesn't seem to be anything wrong, and i can index the objects > w/ no problem. i've even tried dropping the subtransaction threshold > down to 1, so it will try to commit a savepoint after every object, > but none of the objects being indexed seemed to have any problems. > > i CAN verify that the instancemethod that is causing the problem > renders like this: > > at /session_data_manager>> > > even that hasn't proven enough for me to concretely identify the > source of the problem, though. > > i've been working on this for a full day already, and am not sure how > to proceed. does anyone have any debugging tips that might help me > figure out what, exactly, is causing the reindex attempts to blow up? > > thanks! Can you get a pdb.post_mortem prompt at the actual ZODB/serialize.py:416 error or only at transaction/_transaction.py:267 where some sort of previous error is handled? If the former, I often find it informative to step up to ZODB/serialize.py:407 where obj.__getstate__() is called and find out what obj is. Is it the same object every time? If not, is it of the same type every time? A next step can also be to put a pdb.set_trace() at transaction/_transaction.py:340 in the register() method such that it's is only called when the offending object is added to the transaction. Hope some of that helps, Ross > Traceback (most recent call last): > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/Products/ZCatalog/ZCatalog.py", > line 296, in refreshCatalog > self.catalog_object(obj, p, pghandler=pghandler) > File > "/home/rob/topp/14000/builds/20080611/opencore/zope/Products/CMFPlone/CatalogTool.py", > line 367, in catalog_object > self._increment_counter() > File > "/home/rob/topp/14000/builds/20080611/opencore/zope/Products/CMFPlone/CatalogTool.py", > line 395, in _increment_counter > self._counter.change(1) > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/BTrees/Length.py", > line 55, in change > self.value += delta > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/ZODB/Connection.py", > line 890, in register > self._register(obj) > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/ZODB/Connection.py", > line 900, in _register > self.transaction_manager.get().join(self) > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/transaction/_transaction.py", > line 273, in join > self._prior_operation_failed() # doesn't return > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/transaction/_transaction.py", > line 267, in _prior_operation_failed > raise TransactionFailedError("An operation previously failed, " > TransactionFailedError: An operation previously failed, with traceback: > > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/ZServer/PubCore/ZServerPublisher.py", > line 25, in __init__ > response=b) > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/ZPublisher/Publish.py", > line 401, in publish_module > environ, debug, request, response) > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/ZPublisher/Publish.py", > line 202, in publish_module_standard > response = publish(request, module_name, after_list, debug=debug) > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/python/ZPublisher/Publish.py", > line 119, in publish > request, bind=1) > File > "/home/rob/topp/14000/builds/20080611/opencore/lib/zope/lib/pytho
[Zope] Re: ZPL and GPL: What should one consider when choosing a license?
Ross Patterson <[EMAIL PROTECTED]> writes: > Chris McDonough <[EMAIL PROTECTED]> > writes: > >> On Dec 21, 2007, at 3:53 PM, Ross Patterson wrote: > >> Now I've gotta run out of here before a licensing discussion breaks >> out. ;-) > > I suppose this topic is just too volatile, but it would be great to > have some documentation somewhere for developers like myself who don't > really have strongly formed opinions or practices on licensing. I'd > love to have a page I can go to, read the facts, a sampling of the > opinions, all provided just for the purposes of giving developers a > resource for making their own decision. I'm really a bit embarrassed that I started this thread. All I really wanted was to find or maybe instigate the creation of resources for developers such as myself who want to learn enough about the licenses available to make a choice. I don't want to participate in or instigate a licensing debate. This is not to say I don't think it's worth debating. I think impassioned opinions and debates about licensing are necessary and healthy. It's just not why I started this thread. The amusing thing is much of the most useful information I've gotten has been off list. :) It seems as though a creating an informative resource on licensing in the Zope and/or Plone communities is not possible due to these impassioned opinions. As such, I'd like to to consider that conclusion to be the resolution of this thread. :) Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: ZPL and GPL: What should one consider when choosing a license?
David Pratt <[EMAIL PROTECTED]> writes: > In relation to Chris's post, my understanding of the Zope repository > is that a committer is required to sign an agreement with Zope Corp or > ZF. This requires the code to be licensed as ZPL with 50% of > intellectual rights to Zope Corp or ZF. Hope this helps. And if we set up a licensing howto, it could also say something like, "If your code is on svn.zope.org then it *has* to be ZPL due to the contributor agreement you signed, dumbass!" :) I'll be fixing the licensing on my svn.zope.org projects as soon as I can carve out the time. Thanks for the heads up. Ross > Ross Patterson wrote: >> Recently, someone wrote to me regarding one of my z3c packages which >> is licensed under the GPL. They asked me to license them under the >> ZPL saying that the ZPL would allow the widest range of use for those >> packages. They also implied that using the GPL impacted the >> licensing of other code that uses mine. >> >> Mostly this is just a debate I've never taken up before. I've always >> just chosen the GPL because it's the most aligned with my values and >> ideals on a "visceral" level. IOW, it's a gut choice not an educated >> choice. >> >> I realize this is an old debate. I found some lengthy threads on >> zope-dev from 2001, but I think there have been some license changes >> since then. I also read the following blog posts: >> >> http://radio.weblogs.com/0116506/2005/11/21.html#a370 >> http://awkly.org/2005/11/21/gpl-considered-harmful/ >> >> Unfortunately, the comment by Chris McDonough mentioned in the latter >> doesn't seem to be accessible any more. I'd love to read it. >> >> From those blog posts, I don't really see any corroboration of the >> claims of the person who made the request that I switch to the ZPL. >> What exactly about the GPL narrows the range of developers who can >> use my code? What about the GPL impacts the license of other code >> that depends on my code? >> >> Here's what I want. I want anyone who modifies or forks my code to >> make their modifications just as accessible to myself and the >> community as my code is in the first place. I also want anyone who >> forks my code to credit me and other contributors as authors of the >> code they forked. I have a slight preference to allow proprietary >> code to depend on my code without having to open source their code. >> I definitely want commercial entities to be allowed to sell products >> and services that include my code as long as credit is given to the >> authors. >> >> That's just what I want from my admittedly naive perspective. I'd >> like to hear comments on why others think I should or shouldn't want >> any of those things from a license. I'd also like to hear how others >> think the license available relate to what I want from a license. >> >> Thoughts? Is there documentation somewhere about choosing a license? >> Maybe a howto I missed in my googling? >> >> Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: ZPL and GPL: What should one consider when choosing a license?
Chris McDonough <[EMAIL PROTECTED]> writes: > On Dec 21, 2007, at 3:53 PM, Ross Patterson wrote: >> >> Unfortunately, the comment by Chris McDonough mentioned in the latter >> doesn't seem to be accessible any more. I'd love to read it. > > It said: > > """ > I don't think Plone is "bad" because it uses the GPL. I do think it's > a pain in the balls to have to ask authors of various GPL things if > they're willing to relicense ZPL or other BSD-type license in order to > be able to incorporate their software into CMF or Zope (as required by > the ZC contributor's agreement in order to check it into either of > those projects). It just puts up a big enough impediment to sharing > code that the codebases don't intermingle much. > What's gauche about using the GPL is that at least by default, the > Plone guys don't need to ask the Zope guys if they can ship their > software. They get the benefit (or pain ;-) of shipping it all without > any extra work. But the Zope guys need to go track down the copyright > owners of various bits of Plone code and get all of their permissions > to ship their software in CMF or Zope via a relicense. That's just > hurts collaboration badly. It's anti-sharing which I think is > practically just gauche. > """ Thanks for digging that up, its a really good point to have in the mix here. > Now I've gotta run out of here before a licensing discussion breaks > out. ;-) I suppose this topic is just too volatile, but it would be great to have some documentation somewhere for developers like myself who don't really have strongly formed opinions or practices on licensing. I'd love to have a page I can go to, read the facts, a sampling of the opinions, all provided just for the purposes of giving developers a resource for making their own decision. Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] ZPL and GPL: What should one consider when choosing a license?
Recently, someone wrote to me regarding one of my z3c packages which is licensed under the GPL. They asked me to license them under the ZPL saying that the ZPL would allow the widest range of use for those packages. They also implied that using the GPL impacted the licensing of other code that uses mine. Mostly this is just a debate I've never taken up before. I've always just chosen the GPL because it's the most aligned with my values and ideals on a "visceral" level. IOW, it's a gut choice not an educated choice. I realize this is an old debate. I found some lengthy threads on zope-dev from 2001, but I think there have been some license changes since then. I also read the following blog posts: http://radio.weblogs.com/0116506/2005/11/21.html#a370 http://awkly.org/2005/11/21/gpl-considered-harmful/ Unfortunately, the comment by Chris McDonough mentioned in the latter doesn't seem to be accessible any more. I'd love to read it. >From those blog posts, I don't really see any corroboration of the claims of the person who made the request that I switch to the ZPL. What exactly about the GPL narrows the range of developers who can use my code? What about the GPL impacts the license of other code that depends on my code? Here's what I want. I want anyone who modifies or forks my code to make their modifications just as accessible to myself and the community as my code is in the first place. I also want anyone who forks my code to credit me and other contributors as authors of the code they forked. I have a slight preference to allow proprietary code to depend on my code without having to open source their code. I definitely want commercial entities to be allowed to sell products and services that include my code as long as credit is given to the authors. That's just what I want from my admittedly naive perspective. I'd like to hear comments on why others think I should or shouldn't want any of those things from a license. I'd also like to hear how others think the license available relate to what I want from a license. Thoughts? Is there documentation somewhere about choosing a license? Maybe a howto I missed in my googling? Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] ANN: z3c.recipe.egg - Recipes based on zc.recipe.egg for working with source distributions
I just bundled up and released some zc.buildout recipes I've found useful. Attached is the README.txt. http://cheeseshop.python.org/pypi/z3c.recipe.egg Ross == z3c.recipe.egg == Recipes based on zc.recipe.egg for working with source distributions. Editable Distributions -- The z3c.recipe.egg:editable recipe uses the easy_install --editable and --build-directory options to download multiple source distributions. The source distributions will be placed in the part directory and managed by the buildout if build-directory is not specified. If so, the distributions will be replaced when newer versions are available. So be sure to set build-directory to a directory not managed by buildout if you want to maintain changes to the source distributions. The z3c.recipe.egg:editable can be used to assemble a set of subversion checkouts to work with specifying subversion URLs in find-links as is supported by easy_install. See the easy_install documentation for the syntax for using subversion URLs. There are a number of ways in which it is more flexible to control checkouts via recipes rather than svn:externals. Finally, if the develop option is true then the distributions will be installed in develop mode. See z3c/recipe/egg/editable.txt for more details. Running Setup Scripts - The z3c.recipe.egg:setup recipe calls arbitrary setup.py commands on multiple distributions in a buildout. The z3c.recipe.egg:setup recipe can be used, for example, to automate releases. When the source is ready for release, the setup recipe is configured to run the "register sdist bdist_egg upload" setup commands. To ensure release only runs when intended, the setup recipe can be used in it's own release.cfg file that extends the buildout.cfg file. With this setup, releases for multiple projects can be made with "bin/buildout -c release.cfg". The z3c.recipe.egg:setup recipe also supports the develop option as with z3c.recipe.egg:editable. See z3c/recipe/egg/setup.txt for more details. ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] ANN: Generating svn:externals by inspecting a repository - z3c.repoexternals
z3c.repoexternals recursively retrieves subversion directory listings from the url or path and matches directories against a previous set of svn:externals if provided then against regular expressions and generates qualifying svn:externals lines. The defaults generate a set of svn:externals for all the trunks in a repository and keeps them up to date with the repository as new trunks are added when the previous externals are provided thereafter. http://cheeseshop.python.org/pypi/z3c.repoexternals Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: z3c.offlinepack
Philipp von Weitershausen <[EMAIL PROTECTED]> writes: > Ross Patterson wrote: >> Also, I can't seem to get the ReStructuredText in the long_description >> on the pypi page to display as ReStructuredText instead of just >> displaying as test. Anyone got any pointers? > > I assume you're generating long_description from a README.txt file or > so. If you have docutils installed, you can render this file yourself > using the rst2html script. It will show warnings and errors during the > rendering. Fix those, and PyPI will happily render your reST as well. Excellent! That did it. Thanks! Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] z3c.offlinepack
I wrote a small script for packing ZODB storages without running zope complete with buildout support for quick deployment without modifying the system. Attached is the README for more details. I hope this is useful for some. Also, I can't seem to get the ReStructuredText in the long_description on the pypi page to display as ReStructuredText instead of just displaying as test. Anyone got any pointers? http://cheeseshop.python.org/pypi/z3c.offlinepack Ross == Pack ZODBs Offline == Pack a ZODB storage without running any part of the Zope application server. Only an appropriate version of ZODB3 for the ZODB storage is required. Apply only to copies of ZODB storages, not ZODB storages currently in use. Install the distribution:: $ python setup.py install Then use the offlinepack script to pack a copy of your ZODB:: $ offlinepack /path/to/Data-copy.fs zc.buildout --- A buildout.cfg is included that will install the offlinepack script to the buildout. The buildout makes it possible to quickly use the offlinepack script without modifying the system python installation:: $ svn co svn://svn.zope.org/repos/main/z3c.offlinepack/trunk z3c.offlinepack $ cd z3c.offlinepack $ python bootsrtap/bootsrtap.py -v $ bin/buildout -v $ bin/offlinepack /path/to/Data-copy.fs The buildout.cfg file can also be modified to use a specific version of ZODB3. This is uesful if you need to use offlinepack without migrating the ZODB to a newer version of ZODB3. Add the version specifier to the offlinepack section of buildout.cfg. For example, to use offlinepack with Zope 2.9, use the following offlinepack section. [offlinepack] recipe = zc.recipe.egg:scripts eggs = z3c.offlinepack ZODB3<3.7-dev ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] z3c.offlinepack
I wrote a small script for packing ZODB storages without running zope complete with buildout support for quick deployment without modifying the system. Attached is the README for more details. I hope this is useful for some. Also, I can't seem to get the ReStructuredText in the long_description on the pypi page to display as ReStructuredText instead of just displaying as test. Anyone got any pointers? http://cheeseshop.python.org/pypi/z3c.offlinepack Ross == Pack ZODBs Offline == Pack a ZODB storage without running any part of the Zope application server. Only an appropriate version of ZODB3 for the ZODB storage is required. Apply only to copies of ZODB storages, not ZODB storages currently in use. Install the distribution:: $ python setup.py install Then use the offlinepack script to pack a copy of your ZODB:: $ offlinepack /path/to/Data-copy.fs zc.buildout --- A buildout.cfg is included that will install the offlinepack script to the buildout. The buildout makes it possible to quickly use the offlinepack script without modifying the system python installation:: $ svn co svn://svn.zope.org/repos/main/z3c.offlinepack/trunk z3c.offlinepack $ cd z3c.offlinepack $ python bootsrtap/bootsrtap.py -v $ bin/buildout -v $ bin/offlinepack /path/to/Data-copy.fs The buildout.cfg file can also be modified to use a specific version of ZODB3. This is uesful if you need to use offlinepack without migrating the ZODB to a newer version of ZODB3. Add the version specifier to the offlinepack section of buildout.cfg. For example, to use offlinepack with Zope 2.9, use the following offlinepack section. [offlinepack] recipe = zc.recipe.egg:scripts eggs = z3c.offlinepack ZODB3<3.7-dev ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Deploying with buildout
Chris McDonough <[EMAIL PROTECTED]> writes: > On Aug 28, 2007, at 5:55 PM, Ross Patterson wrote: >> >>> Putting these packages in your Zope instance home's "lib/python" >>> directory should get them found before the others. For Products, you >>> can use an additional "products-path" directive in zope.conf and put >>> files in there. I don't know how to tell buildout to do either, >>> though. >> >> But wouldn't that cause problems in this case since zope.app.interface >> is a package in two nested-namespace packages. IOW, wouldn't putting >> zope/app/interface in $INSTANCE_HOME/lib/python mean that it was the >> only package in the zope or zope.app namespace packages? > > Gah. Yeah. Sorry. You might get away with creating and installing a > custom zope.app.interface-myversion.egg into your Python's site- > packages dir and using something like: > > from pkg_resources import require > require('zope.app.interface = myversion') > > ... in a script early on or do the equivalent within a .pth file in > your site-packages dir. Even after that, you *might* need to munge > the PYTHONPATH, though, to prevent Zope from finding the one in > SOFTWARE_HOME first. :-( > > I find Ian Bicking's virtual_python.py script very useful for trying > things like this out. I usually install both a custom version of > Python and one or more virtual pythons in my automated scripts (using > the --no-site-packages flag to virtual_python.py). This means I can > let distutils/setuptools packages install to site-packages "normally" > without polluting the main Python installation's site-packages and so > I don't need to go through gyrations to munge the PYTHONPATH for them > to be found somewhere else. I think buildout tends to prefer > creating scripts that munge the path. Great. Thanks, I'll check those out. Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Deploying with buildout
Chris McDonough <[EMAIL PROTECTED]> writes: > On Aug 27, 2007, at 10:59 PM, Ross Patterson wrote: > >> We have a Plone 3.0/Zope 2.10 application that we need to develop >> on, maintain and >> deploy to a ZEO server and multiple ZEO clients. Currently we use svn >> bundles of Zope and Plone and our own packages and products in one big >> svn:externals definition. We also use some more recent versions of >> certain products and packages than those included in the upstream >> svn:externals. For example: >> >> Zope svn://svn.zope.org/repos/main/Zope/branches/2.10 >> Zope/lib/python/zope/app/interface svn://svn.zope.org/repos/main/ >> zope.app.interface/trunk/src/zope/app/interface >> >> Though I haven't seen any documentation to this effect, svn seems to >> treat the second svn:externals as a "svn switch" on "svn up". >> >> So one question I have is how would I "override" the versions of some >> package like this using buildout? > > Putting these packages in your Zope instance home's "lib/python" > directory should get them found before the others. For Products, you > can use an additional "products-path" directive in zope.conf and put > files in there. I don't know how to tell buildout to do either, > though. But wouldn't that cause problems in this case since zope.app.interface is a package in two nested-namespace packages. IOW, wouldn't putting zope/app/interface in $INSTANCE_HOME/lib/python mean that it was the only package in the zope or zope.app namespace packages? >> Another question I have is that there aren't releases for all the >> dependencies our application has. I'm wondering what the best way >> is to >> define a canonical release for deployment to our cluster. Ideally, >> we'd >> have a buildout (or whatever) on a staging server where we're testing >> the candidate for deployment and then when all tests pass that *exact* >> source should be deployed to the cluster. > > I always use a vendor import for this (to a separate CVS server, I > don't use SVN). Yeah, I guess that what we'll end up doing. >> How might one do this without >> upstream releases? Is there a way to get buildout and setuptools to >> play together so that I can build a source distribution from the test >> passing buildout on staging? Is there a way I can have a buildout on >> each cluster node such that a simple ./bin/buildout will get the >> latest >> deployment release for that node? > > Personally I use a script that knows about all of the revisions of all > of the products and packages I want to deploy, and which creates a > "sandbox", downloading and installing all of them (as well as > creating instances, etc). It doesn't work very well for upgrades, > but for starting a sandbox fresh, it's fine. See http:// > agendaless.com/Members/chrism/software/buildit and http:// > www.plope.com/Members/chrism/buildit_example . Thanks, I'll check it out. Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Deploying with buildout (was: buildout, instancemanager, and eggs)
We have a Plone 3.0/Zope 2.10 application that we need to develop on, maintain and deploy to a ZEO server and multiple ZEO clients. Currently we use svn bundles of Zope and Plone and our own packages and products in one big svn:externals definition. We also use some more recent versions of certain products and packages than those included in the upstream svn:externals. For example: Zope svn://svn.zope.org/repos/main/Zope/branches/2.10 Zope/lib/python/zope/app/interface svn://svn.zope.org/repos/main/zope.app.interface/trunk/src/zope/app/interface Though I haven't seen any documentation to this effect, svn seems to treat the second svn:externals as a "svn switch" on "svn up". So one question I have is how would I "override" the versions of some package like this using buildout? Another question I have is that there aren't releases for all the dependencies our application has. I'm wondering what the best way is to define a canonical release for deployment to our cluster. Ideally, we'd have a buildout (or whatever) on a staging server where we're testing the candidate for deployment and then when all tests pass that *exact* source should be deployed to the cluster. How might one do this without upstream releases? Is there a way to get buildout and setuptools to play together so that I can build a source distribution from the test passing buildout on staging? Is there a way I can have a buildout on each cluster node such that a simple ./bin/buildout will get the latest deployment release for that node? Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] How to do this trick..
The tags are to make sure the order of TAL operations works properly with the tal:define being done *after* the tal:repeat. Hope this helps. Ross ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] regex vs ts_regex
Apropos http://www.zope.org/Documentation/How-To/ThreadSafety Am I missing something here? There seem to be a number of places in the current 2.2.4 source where the python regex module is used - not ts_regex, thus apparently violating your advice on thread safety? For example, I was just spelunking through /lib/python/AccessControl/User.py, App/Product.py so I started greping a few subdirectories. DateTime.py uses ts_regex as does OFS/ObjectManager.py but NOT OFS/SimpleItem.py ... Is there some reason why it's ok for some modules to use regex rather than ts_regex ??? (I'm resending this to [EMAIL PROTECTED] because it bounced from [EMAIL PROTECTED] - is something broken?) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: SSL and relative links (URLs)
Do a search on the zope site for ssl. You'll find two very useful howto's - one describes the apache httpd.conf virtual host pixie dust using proxy and proxyrewrite directives (you need to build apache with mod_rewrite and mod_proxy as well as mod_ssl) and the other has some details on integrating the siteroot product to do the url munging in zope - be warned that the siteroot product can lead to some interesting consequences if it isn't installed just right - it works a treat now but I would have been in serious trouble if I'd tried installing it on a production site - get it right with a development site before bringing it over to your production machine particularly if your dropping it into your zope root folder. I just finished setting this up and found these two resources solved many problems before I encountered them (!) although there was the inevitable headbanging needed to get everything just rightI ended up NOT using fastcgi although that was my original intention. Right now, mod_proxy allows me to serve a zope running on another machine (!) through ssl. In [EMAIL PROTECTED], Dustin Engelhaupt <[EMAIL PROTECTED]> wrote: > > I am running Zope 2.2.2 and accessing it through Apache & FastCGI. I > want to access some of the content through SSL and some without. What >I > have done is set up 2 FastCgiExternalServer directives in Apache. One >in > the non-SSL area (/non-SSL/dir/zope) and one in the SSL enabled area > (/SSL/dir/zope_ssl). > ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] OT: PythonLabs Team Moves to Digital Creations!
Now here's something readers of this list might be interested in ... Original Message Subject: PythonLabs Team Moves to Digital Creations Date: Fri, 27 Oct 2000 20:42:42 -0500 From: Guido van Rossum <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] (Python mailing list),[EMAIL PROTECTED], [EMAIL PROTECTED] Newsgroups: comp.lang.python To all Python users and developers: Less than half a year ago, I moved with my team to BeOpen.com, in the hope of finding a new permanent home for Python development. At BeOpen, we've done several good things for Python, such as moving the Python and Jython development process to SourceForge, and the successful release of Python 2.0. Unfortunately, BeOpen.com's original plans for PythonLabs didn't work out as hoped, and we weren't able to reach mutual agreement on workable alternative plans -- despite trying for months. I am proud to have found a new home for my entire team: starting today, Tim Peters, Barry Warsaw, Jeremy Hylton, Fred Drake and myself are working for Digital Creations. We will be spending part of our time on core Python development (including Jython and Mailman) and part of our time on Python infrastructure improvements that also benefit Zope. Python will remain Open Source; Digital Creations has no desire to monetize or brand the Python language or specific Python distributions. All future work we do on Python as Digital Creations employees will be owned by a non-profit organization yet to be created. We think of this new organization as the Python Software Foundation. In the meantime (while the PSF is under construction) I will own such copyrights personally. We're excited to be working for Digital Creations: they are one of the oldest companies active in the Python community, one of the companies most committed to Python, and they have a great product! Plus, we know they have deep financial backing. We trust that Digital Creations will provide a stable home for Python for many years. Digital Creations has also offered to take over hosting of the python.org and starship sites. On behalf of the Python community, we're grateful for this support of the two prime community sites for Python, and we expect to be implementing the transitions shortly. These are exciting times for the PythonLabs team -- and also for Python and its community. Mainstream successes for Python are showing up everywhere, and we're proud to be a part of such a smart and friendly community. A great year lies ahead! --Guido van Rossum (home page: http://www.python.org/~guido/) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] zope221b1 - broken zclass instances
zope220 working fine, redhat 6.2, intel hardware. Installed zope221b1 (tried installing the upgrade tar over a copy and compiling - repeated with the source tar - same results). All zclass instances broken - the zclass products are healthy looking in the Products folder and new instances added under 221b1 seem healthy - it's just all the existing ones which appear broken. Tried deleting and then importing fresh .zexp versions of the folders containing my zclass instance - the .zexp file imports fine but the contained instances are still all broken. Stopped futzing. Back to zope220 for now. Is it just me ? ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] sybase - hmmm
I know that zope runs on everything else, but how do we reconcile the DC/Sybase partnership announced late last year "Sybase is committed to delivering best of breed products supporting open platform development. We are pleased to partner with Digital Creations, and by supporting the Zope application server with Adaptive Server Enterprise, we deliver an enterprise-class database solution for customers using Open Source technology," said David Jacobson, director of product marketing for Sybase Enterprise Solutions Division." (see http://linuxpr.com/releases/661.html) with today's Sybase announcement that "Sybase will not be incorporating Linux into its internet application product range in a move that runs contrary to current industry trends and to the company's overall strategy. The move comes after a trial run failed to grab customer interest." (see http://www.silicon.com/public/door?REQUNIQ=965611102&6004REQEVENT=&REQINT1=38967&REQSTR1=newsnow) We're becoming a sybase/zope/linux dependent outfit; to whom should I email my concerns - or is it time to move to another SQL backend? ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] RE: riddle me this Batman, coded copy/paste syntax?
This code worked fine in 2.1.6 but is broken (http://classic.zope.org:8080/Collector/1371/view) for me when moving zclass instances in 2.2.0 However...YMMV, so here it is for what it's worth. Note that thingstocopyidlist is just a list containing the object ids you want cloned from sourcefolder into targetfolder and that the clipboardstuff trick came out of a latenight reading of some python source deep in the bowels of zope > The Zope quick reference lists the following methods > for the stock folder object: > >manage_copyObjects(self, ids, [REQUEST, RESPONSE]) >manage_cutObjects(self, ids, [REQUEST]) >manage_delObjects(self, [ids, REQUEST]) >manage_pasteObjects(self, [cb_copy_data, REQUEST]) > > For the life of me I can't get copy|cut and paste > to work even for the simplest of examples. I've > tried snippets like the following (embedded within > a DTML method in a folder) but to no avail: > > > > > > > > Can someone shed some light on my misunderstanding? > > Cheers, > Darran. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] Can multiple processes access a ZODB3 file?
If I have Zope running, using ZODB3 on Data.fs, can a separate process also use ZODB3 to access Data.fs? I have my suspicions, but I'm not sure. I'm interested in this because I'm in the middle of a balloting period. People email me their ballots. I will need to check them for validity, send out confirmation or error messages, and eventually tally the results. I definitely want a persistent store, so ZODB seems good. Also, I eventually would like this to be a Zope product, with people able to access the results on the web (and, in the future, vote on the web). But getting it Zoped may be too much work in the short run. So, I'll have a Zope server running on my Debian system, and another process will be going through the mail. It would be more straightforwad if that other process worked directly with the database, rather than going through Zope via http or xml-rpc or something similar. So I'm wondering if that's possible. I can always take the indirect route if, as I suspect, that's necessary. I'm cribbing from parts of the Poll product as appropriate. The polling machinery is considerably more complex though: a restricted list of voters, various muckings around to get the info out of the email, and preference voting (1 for first choice, 2 for second, etc with an instant run off). I know Zeo is more in the multi-process space, but I don't want to use it for this project because I don't have time to learn it; it's alpha; and it seems like overkill for my problem. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] RE: Generate edito form from dtmlDocument : property type
Yes, it's definitely a very interesting product and goes a long way toward what I was thinking about. It's a step toward what could be a killer app for zope I think - most web developers would kill for an open source through the web RAD tool. I still think it's worth peeking at what I've done because it generates ZSQL code as well as the DTML skeleton for a typical application. It would be easy to integrate I imagine with metapublisher. In my experience, the ZODB is great for development and testing, but there comes a point with big apps where you think seriously about RDBMS storage. Jason Spisak wrote: > > Dr. Ross Lazarus writes: > > Have you guys seen MetaPublisher?! > > http://hive.beehive.de/Beehive/www.beehive.de/Zope/MetaPublisher/ > > A very strong offering in this direction. > > > I think the general idea of automating html generation for data entry > > web forms is a very > > good one, but IMHO it's heroic to even think about doing this sort of > > stuff in dtml!! (This > > discussion probably should be moved to zope-dev?) > > > > I've got something which generates useful DTML and ZSQL code > > automagically from ZClass BASIC propertysheet contents and so can be > > used to do the grunt work for making zclass add and edit methods. It > > generates ZSQL code which is only tested for the sybaseda but would be > > relatively easy to tweak for other DA's > > > > It uses a single python external method - have a look at > > http://www.zope.org/Members/rossl/ZClassExtender for an example of > > what's possible...feel free to extend it?!! -- Dr Ross Lazarus Associate Professor and Sub-Dean for Information Technology Faculty of Medicine, Room 126A, A27, University of Sydney, Camperdown, NSW 2006, Australia Tel: (+61 2) 93514429 Mobile: +61414872482 Fax: (+61 2) 93516646 Email: [EMAIL PROTECTED] ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] RE: Generate edito form from dtmlDocument : property type
I think the general idea of automating html generation for data entry web forms is a very good one, but IMHO it's heroic to even think about doing this sort of stuff in dtml!! (This discussion probably should be moved to zope-dev?) I've got something which generates useful DTML and ZSQL code automagically from ZClass BASIC propertysheet contents and so can be used to do the grunt work for making zclass add and edit methods. It generates ZSQL code which is only tested for the sybaseda but would be relatively easy to tweak for other DA's It uses a single python external method - have a look at http://www.zope.org/Members/rossl/ZClassExtender for an example of what's possible...feel free to extend it?!! Sin Hang Kin wrote: > I have the method form_dtmlDocument which generate the data entry form from > an existing dtmldocument, How can I determine the type of the properties? > Moreover, if the property is expected as list, how can I convert it into > multiple input tag? -- Dr Ross Lazarus Associate Professor and Sub-Dean for Information Technology Faculty of Medicine, Room 126A, A27, University of Sydney, Camperdown, NSW 2006, Australia Tel: (+61 2) 93514429 Mobile: +61414872482 Fax: (+61 2) 93516646 Email: [EMAIL PROTECTED] ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )