[Zope-dev] Re: KeyError in ZRDB.DA cache handling
Chris Withers wrote: Hi there, J Cameron Cooper wrote: but we have that fix in our Zope 2.9.8: http://osdir.com/ml/web.zope.all-cvs/2006-11/msg00150.html Are you absolutely sure you're using a version of Zope with my patches included? Yes; I've checked both version (this went in for 2.9.6) and for that specific code. You can even see some of it in the excerpt in the original message, which I pasted straight from our production Zope. I had hoped it was simply missing the fix, too, but no dice. Now, I can't guarantee that the fix in question has remained working since it was checked in, but the release code looks much like the the patch. Perhaps it is another high-load leak? I don't think it can be multiple threads doing cleanup at the same time, unless maybe there's a transaction commit in there somewhere I don't know about. I'm afraid it's long enough ago that this code was touched that I can't really comment on this bit :-S Or maybe I'm running into the problem described in the big comment at the end?:: Don't think so, this describes a leak, not a cause of exceptions... Would it be unsafe to toss a try/except around the del cache[q] bit on the theory that it's already deleted, so, hey, why fail? It'd be really nice to keep this off of users, even with it if does cause a bit of a leak. Not sure about the try/except, would be better to nail why the key isn't there... I agree, of course, but these do end up being user visible, and a workaround, as long as it's not going to cause worse things, would be nice. Something like the original workaround in the bug might be in order for me (rather than a try/except) until the real fix is found. http://launchpadlibrarian.net/9460742/Zope-2.8.6-cached-result.patch I don't imagine it can cause more than cache bloat, and we restart enough that that shouldn't kill us. Best bet is to start trying to reproduce this in a unit test, which can be pretty hard :-S Yes, indeed. I did notice that the test you mention in: https://bugs.launchpad.net/zope2/+bug/143805 doesn't seem to exist, at least in my version. I'll probably be setting up some logging to try and characterize this further, Any results from this? I haven't yet inserted anything in production (I get funny looks at the suggestion) but we'll be trying to cause it in a development system soon. --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] KeyError in ZRDB.DA cache handling
On our fairly busy site (http://cnx.org) we're seeing in the logs some instances of an error in Shared.DC.ZRDB.DA:: ... Module None, line 97, in search_form_handler - FSPythonScript at /plone/search_form_handler used for /plone/content - Line 97 Module Products.RhaptosRepository.Repository, line 537, in searchRepository Module Products.RhaptosRepository.VersionFolder, line 456, in search Module Products.RhaptosModuleStorage.ZSQLFile, line 44, in __call__ Module Shared.DC.ZRDB.DA, line 492, in __call__ - ExtZSQLMethod at /plone/portal_moduledb/20071212233625.240206723892 Module Shared.DC.ZRDB.DA, line 393, in _cached_result KeyError: (\nSELECT p.*\nFROM persons p\nwhere\n p.firstname ~* req('href='::text)\n or\n p.surname ~* req('href='::text)\n or\n p.fullname ~* req('href='::text)\n or \n p.personid ~* ('^'||req('href='::text)||'$')\n or\n p.email ~* (req('href='::text)||'.*@')\n\n, 0, 'devrep') This is trying to remove a key from the ZSQL cache to shrink it down to size, but doesn't find the key. From Shared.DC.ZRDB.DA._cached_result: # if the cache is too big, we purge entries from it if len(cache) = max_cache: keys=tcache.keys() # We also hoover out any stale entries, as we're # already doing cache minimisation. # 'keys' is ordered, so we purge the oldest results # until the cache is small enough and there are no # stale entries in it while keys and (len(keys) = max_cache or keys[0] t): key=keys[0] q=tcache[key] del tcache[key] del cache[q] # = line 393, with the error del keys[0] It looks a lot like: https://bugs.launchpad.net/zope2/+bug/143805 but we have that fix in our Zope 2.9.8: http://osdir.com/ml/web.zope.all-cvs/2006-11/msg00150.html Perhaps it is another high-load leak? I don't think it can be multiple threads doing cleanup at the same time, unless maybe there's a transaction commit in there somewhere I don't know about. Or maybe I'm running into the problem described in the big comment at the end?:: # When a ZSQL method is handled by one ZPublisher thread twice in # less time than it takes for time.time() to return a different # value, the SQL generated is different, then this code will leak # an entry in 'cache' for each time the ZSQL method generates # different SQL until time.time() returns a different value. # # On Linux, you would need an extremely fast machine under extremely # high load, making this extremely unlikely. On Windows, this is a # little more likely, but still unlikely to be a problem. # # If it does become a problem, the values of the tcache mapping # need to be turned into sets of cache keys rather than a single # cache key. Would it be unsafe to toss a try/except around the del cache[q] bit on the theory that it's already deleted, so, hey, why fail? It'd be really nice to keep this off of users, even with it if does cause a bit of a leak. I'll probably be setting up some logging to try and characterize this further, but anybody have any clues? --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope] Re: Help with DateTime.earliestTime()
Maurits van Rees wrote: Eric, on 2007-08-26: To work around this, I've modified the addition so that instead of adding 1 day, it adds 1.5 days. This extra half a day is removed by the theDateTime.earliestTime() call but is enough to overcome the DST addition problem. Ugly hack. I had the same problem once in the eXtremeManagement Plone product. For a monthly overview I needed to do something for every day of the month. I worked around it with the code below. day = 1 date = DateTime(2007, 10, 1) # 1 October 2007 while True: # skipped some lines irrelevant to the DateTime problem day += 1 try: date = DateTime(self.year, self.month, day) except: break Hm, that should probably be except DateTime.DateTime.DateError but there is not really anything else that can go wrong here. A ConflictError can go wrong here, which is an additional and important reason not to have a bare except. There are good reasons without that, as well. --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ 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: AttributeError: _get_filename
Garito wrote: Hi! I try to use Photo Folder 1.3.1 on a Zope 2.9.6 but when I try to upload a photo Zope raise's this error: Traceback (innermost last): Module ZPublisher.Publish, line 115, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 41, in call_object Module Products.Photo.Photo, line 754, in manage_addPhoto Module OFS.ObjectManager, line 333, in _setObject Module zope.event, line 23, in notify Module zope.app.event.dispatching, line 66, in dispatch Module zope.component, line 181, in subscribers Module zope.component.site, line 89, in subscribers Module zope.interface.adapter , line 481, in subscribers Module zope.app.event.objectevent, line 192, in objectEventNotify Module zope.component, line 181, in subscribers Module zope.component.site, line 89, in subscribers Module zope.interface.adapter , line 481, in subscribers Module OFS.subscribers, line 114, in dispatchObjectMovedEvent Module OFS.subscribers, line 137, in callManageAfterAdd Module Products.Photo.Photo, line 697, in manage_afterAdd Module Products.Photo.Photo, line 375, in imagecomment AttributeError: _get_filename Any one could help me, please? Check your versions against the supported ones, specifically Zope. It looks to me like the Photo class stores a PhotoImage in its '_original' attributes, and the PhotoImage is supposed to inherit the '_get_filename' method from the base Zope Image object. It may be that this changed between versions, though I don't see it in any of my versions of Zope. And I have a lot. You may have to contact the author/maintainer to see how this is supposed to work. Perhaps it is simply a bug. --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ 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: Declare constructor as public
Garito wrote: Hi Andrew! In a normal method inside the product's class I use this: security = ClassSecurityInfo() security.setPermissionDefault('Freemind', ('Manager', 'Developer')) security.declareProtected ('Freemind', 'freemind') But outside the class I have no idea how to create security object Can I put a code like this outside the class? No. Permission for a constructor is set when you register it, usually in the __init__.py. (context.registerClass) --jcc 2007/7/24, Andrew Milton [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]: +---[ Garito ]-- | Hi all! | | How can I declare a product's constructor public? | | Thanks! You have to declare a permission first such as: Add Garito Product when you create your product, and register the class. Then in the ZMI you simply add the roles you want access to that permission. -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ 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: Problem w/ ZMySQLDA
[EMAIL PROTECTED] wrote: Forgive my ignorance, but not quite sure how to do that. Nonetheless... 1) There was no problem with any of this on the old server until the server crashed. 2) My backups were taken from a time when the old server was was working fine. 3) This problem occurs with *all* my shopping carts, not just this one. Consequently, I have a hard time believing this is a code error. There *must* be something more fundamental at play here. Code and configuration often interact. You may find that one or the other was fragile. --jcc I had some problems with the python-eggs, but I don't imagine that's it, since the connection works, I can query the database, etc. TIA, Tony -Original Message- From: Jonathan [EMAIL PROTECTED] To: zope@zope.org; [EMAIL PROTECTED] Sent: Mon, 16 Jul 2007 9:12 am Subject: Re: [Zope] Problem w/ ZMySQLDA - Original Message - From: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] To: zope@zope.org mailto:zope@zope.org Sent: Monday, July 16, 2007 8:55 AM Subject: [Zope] Problem w/ ZMySQLDA - Original Message - From: tonylabarbara at aol.com To: zope at zope.org Sent: Saturday, July 14, 2007 5:43 PM Subject: [Zope] Problem w/ ZMySQLDA Hi; ? I just built out a new server and transfered my databases. I use Zope to server my web sites and ZMySQLDA to interface between the two. Everything seems to be fine. I can see the databases, the tables, the columns in the tables, the permissions are correct, etc. I hook up ZMySQLDA and that seems to be fine. It connects to the database. However, when I go to look at the pages from served the database, the browser hangs. Any ideas how to troubleshoot this? You should have a MySQL_database_connection object in a folder somewhere (in the ZMI).? The Status for this object should say The database connection is open.? There is a Test tab for this object in which you can enter an sql query. If this query works ok, then the next step is to test your Z SQL Method(s). Thanks. That clarified a lot. The MySQL query comes back fine. I'm troubleshooting a complex shop I had a programmer who worked for me build...so it's not my code...and it's complex ;) I went into the shopkeeper's side and was able to successfully query the database. I was, for example, able to display the cotton products for editing. However, when I do essentially_the_same_thing TTW with the following code snippet, it hangs! tal:block metal:define-macro=content ?? define=dummy python:request.set('category', 5) ? tal:block metal:use-macro=here/Store/Main_frame_content/macros/content / /tal:block Furthermore, mytop shows the user is hanging: 30 mysqluser?? localhost mrtableclo?? 473? Sleep What should I do next to troubleshoot this? I would test the code outside of tal. Just execute (test) the routine by itself to see what it is returning. A couple of things to check: (i) is the routine receiving the correct input parameters, (ii) is the routine returning what you are expecting. -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ 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: 2.6 to 2.10 migration: RuntimeError: maximum recursion depth exceeded
Jonas Meurer wrote: On 12/07/2007 Andreas Jung wrote: after importing a product from zope 2.6.4 to a 2.10.3 instance, trying to open the product produces quite a lot of errors in my event.log, and a traceback in the zope management interface. Importing as zexp? If yes, this is unsupported. Yes, I imported the Product as zexp. Why is that unsupported, and how else may I import it? It doesn't exist in the filesystem hierarchy, as it's a custom Product which was developed in the ZMI. .zexp export/import is only supported between identical versions. It's not a migration tool. So is there any supported way to migrate a ZClass Product which only exists in the Zope hierarchy? I know that ZClasses are depreciated in zope 2.10 anyway, but still the problem remains for migrations from zope 2.6.4 to 2.9 for example. If by migration you mean upgrade, then you do it the same as you would upgrade any other Zope instance: copy the ZODB to an instance of the new software. --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ 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: catching shorter URLs
Aaron Maupin wrote: I'm trying to make pretty URLs for a game site I'm developing, and due to the hosting environment I'm somewhat limited in my Apache URL rewrites. (I've tried the normal mod_proxy / mod_rewrite rules and they haven't worked in this environment.) I'd like the visitors to see http://games.mydomain.com/game-title Whereas what's really being accessed is http://www.mydomain.com/display_game?title=game-title or any solution that allows me to query a relational database for a game title so I don't have to create hundreds of objects in Zope. The only idea I have now is to use a Virtual Host Monster mapping to send visitors using the games.mydomain.com to a folder that contains a custom standard_error_message that reads the request object, figures out the game title, and queries the database but that's really inelegant. Is there a way to inspect the request before Zope starts traversing objects? Or any other ideas on how to accomplish what I want? I'm not new to Zope, but I basically use it as a container for Python scripts and haven't delved too deeply into it otherwise... so I may be missing something obvious. Why not just make the display_game method get its value from the path? That will simplify your task greatly. Here, 'traverse_subpath' is your friend. --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ 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: how to restore a copied instance.
Tudor Gabriel wrote: hi, i needed to reinstall my zope site on another computer so i installed (in debian) plone-site using aptitude ... it automatically makes a new instance and starts the server. after that i stopped the server ... and copied my site (instance folder) from the other computer over this one. when i start /etc/init.d/zope2.9 start ... it doesn't complain , but i can't open the site. (same instance names, same port number ) Use 'zopectl fg' to run it in the foreground and see what errors you get. i tryied another aproach ... copied back the default installed instance ... and only overwritten the var folder with the data from the original site. this way i hoped that Data.fs which contained all my objects ... will automatically become visible. it doesn't work this way either, it only sees the default objects, i can access the site ... but all my objects are not visible. It's generally much more helpful if you say exactly what is not visible -- and where. As is, this is pretty much information-free. grep shows that the names of the objects folders are still in Data.fs ... so they exist ... i think i missed one configuration somewhere ... to make the folders added by me visible. do you know how can i achieve that? You may be missing a Product. Visit the Zope Control Panel and look for a broken box. Alternately, are there broken object icons in the ZMI for those objects which are not visible? --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ 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-PAS] Re: authentication via web services
Miles wrote: Hi, Has anyone used PAS to authenticate and get properties from a web service? We have a requirement for this in a project, but given the current general state of SOAP support in python, I'm not very clear on what the best solution might be on this. If anyone has any experience/advice that they're willing to share, I'd be very grateful. Well, if by web services you mean SOAP, then I don't know. But the GMailAuthPlugin (which is really just a demonstrator), the Salesforce connector, the OpenID plugin, and the LibertyAuthPlugin could be called using web services. Maybe the CAS plugin counts. If you can communicate with the auth source in Python, it's definite fodder for a PAS plugin. --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ Zope-PAS mailing list Zope-PAS@zope.org http://mail.zope.org/mailman/listinfo/zope-pas
[Zope] Re: Several questions on Z3 Views backported thru Five
Manuel Vázquez Acosta wrote: Hi all, I've been asked to deploy a Plone App which must satisfy a load of at least 1200 users over 8 min. I have tested a fresh Plone 2.5.3 with Zope 2.9.7, plus Squid + CacheFu and everything went just fine. The laptop didn't even notice such a load. But, when I installed the Plone App, even much smaller load didn't pass the test. My first guess would be that the cache setup need to be configured to work with your application. CacheFu knows about the default setup, but not about a custom application. It may therefore not be caching, or be caching inappropriately. I think examining the response headers is the best way to determine this. --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ 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: 2.9.7 build fails: 'build/lib/linux-i686-2/5/pytz/zoneinfo/Antarctica' does not exist
Mikko Ohtamaa wrote: Hi, I am trying to build Zope 2.9.7 on Ubuntu Feisty Fawn 7.04. I am probably enjoying some sort of configuration error. Though I have installed python-tz package, the installer barks about missing 'Antarctica'. I haven't seen this error with previous Zope builds. [EMAIL PROTECTED]:~/Zope-2.9.7-final$ make /usr/bin/python2.4 /home/moo/Zope-2.9.7-final/setup.py \ build --build-base=/home/moo/Zope-2.9.7-final/build-base/python-2.4 --build-lib=/home/moo/Zope-2.9.7-final/build-base/python-2.4/build-lib --build-scripts=/home/moo/Zope-2.9.7-final/build-base/python-2.4/build-scripts --build-temp=/home/moo/Zope-2.9.7-final/build-base/python-2.4/build-temp running build running build_py error: package directory 'build/lib/linux-i686-2/5/pytz/zoneinfo/Antarctica' does not exist make: *** [build] Error 1 Any ideas? You don't have your system time zone set to Antarctica do you? --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Zope product update question
Cyrille Bonnet wrote: I have a question regarding product update. I have updated a product (ATContentTypes) on the file system. Upon restarting the server, the new version of the product appears in red in the QuickInstaller (as expected). Even though I haven't re-installed the product, some changes are picked up (for instance, it uses the new schemata for ATDocument). Is this the expected behaviour? Of course. Whatever Python code exists will take effect whenever it's loaded. What is exactly the difference between a non-installed product on the file system and an installed product? Is the only difference that the Install.py is run when you install the product?? Yes. Many Products require changes in the ZODB; QI is how this is accomodated. This is really a CMF/Plone question, btw. Better on one of those lists. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] same object in different containers
gf wrote: Hi, I am interested in having the same object appear as the child of two different containers. These containers may distant from each other in the object hierarchy. In particular, I autogenerate a list of subtopics (child folders) for several areas of my website, but would like a certain folder to appear in more that one listing because it can be classified in multiple ways. Is there a way to accomplish this? Is there anything in Zope like a symbolic link? As I recall, there's PortableHole and a few others. Look at zope.org. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] calling a product with xmlrpc
Reinoud van Leeuwen wrote: On Tue, Apr 11, 2006 at 01:43:22PM -0500, Floyd May wrote: Paul Winkler wrote: On Tue, Apr 11, 2006 at 05:54:35PM +0200, Reinoud van Leeuwen wrote: [...] This however generates a NotFound Exception :-( I'm not sure why you get NotFound, but one thing I spotted is that anything you want to publish in zope 2 must have a docstring. I've ran into situations where lack-of-docstring results in a NotFound. Not saying that this is the sole culprit of the trouble, but it's certainly worth knowing. Thanks! that did it! Is this a bug or a feature? I would expect something else in the errorlog (or a warning in the eventlog) It's fundamental Zope security. Old as the hills. I'm sure it's in the Zope book. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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..
Jason C. Leach wrote: I'm wondering how I can do this little trick (sp_info is a globaly devide var, it's a dictionary obj): option tal:repeat=group groups/existing/high tal:content=group tal:attributes=onmouseover string:doTooltip(event, '${sp_info/${group}/common_name}') onmouseout=hideTip() /option So based on my the value of 'group' from my repeat, I want to use the value to look up another value in a different dictionary. It works if I do this: (event, '${sp_info/whatever/common_name}') but does not like me using the embedded ${group}. The ${var} syntax is only for inserting a value in a string expression. Path expressions only take known names. If you want to look up a value based on a variable, you must use Python. Look at the first half of this: http://plone.org/documentation/how-to/addContentProgrammatically --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Zope Managed Server
Dan Gaibel wrote: Hello Folks, I'm interested in finding a company that will do monthly managed zope hosting. We're looking for a dedicated machine. I know that Zope Corp does this and it is quite expensive. I wonder if anyone has had any experiences with such a service. Any advice is highly appreciated, and I apologize if this list is an inappropriate venue to pose such a question. There are a number of these companies around. iMeme and Zettai come to mind. I'm sure there are more nowadays. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ ___ 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] Re: Advice needed before settling on Zope
Lennart Regebro wrote: On 3/6/06, Rainsford, David [EMAIL PROTECTED] wrote: I never said thanks to all you guys for your advice - it all came in very useful. In the end though, I have decided to go with another system, Knowledge Tree. The reason is that a) it's written in PHP, and all of us developers are fluent in PHP whereas there is going to be a learning curve with Python, and Zope. Python has no lurning curve. It's more of a lurning slope. Downhill. ;-) But Zope has one, admittedly. As the old joke goes, it's a Z shaped learning curve. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] TAL tutorial
John Poltorak wrote: Can anyone point me to a good TAL tutorial for people who have difficulty getting to grips with it? http://www.zope.org/Documentation/Articles --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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 can i the height of a image
Alain Barbason wrote: hi, in a file index_html, I search to have the height of a image, but this, is in a subdirectroy called images After a request of a database, I have the name of the image in a variable nom if I write dtml-var expr='images.'+nom+'.height' the result is images.x0y0.height (x0y0 is the name of my image,) if I write dtml-var expr='images.x0y0.height' the result is 275 ok, it's the height of my image how to make to have the first sentence, but with the result is 275 ? See top of http://plone.org/documentation/how-to/addContentProgrammatically --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ ___ 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] want to use external script to read a text-file and image in database and modify REQUEST
Allen Huang wrote: Hi I want to use external methods to read a text file and image in database and modify the REQUEST my code looks like this varible --- def imageSetup(self, imageID, dataID, REQUEST): import PIL.Image from StringIO import StringIO # Get the original image and data in memory. image=getattr(self, imageID) imageData=getattr(self, dataID) imageFile=StringIO(str(image.data)) imageDataFile=StringIO(str(imageData.data)) # open image and data file im = PIL.Image.open(imageFile) tfw = open(imageDataFile, r) # assign data coordinate and image size to variables imX,imY = im.size() rX=float(tfw.readline()) tfw.readline() tfw.readline() rY=float(tfw.readline()) mnX=float(tfw.readline()) mnY=float(tfw.readline()) mxX=mnX+imX*rX mxY=mnY+imY*rY # assign variables to REQUEST REQUEST.set('resX', rX) REQUEST.set('resY', rY) REQUEST.set('minX', mnX) REQUEST.set('minY', mnY) REQUEST.set('maxX', mxX) REQUEST.set('maxY', mxY) REQUEST.set('pixelX', imX) REQUEST.set('pixelY', imY) -- but all I get is this zope coercing to Unicode: need string or buffer, instance found and the REQUEST variable is unchanged I'm still new to external scripting so I don't know what the problem is (and I think there is a lot of it here) so, could someone help me out?? It's likely that you're passing an object to a method that wants a string (probably an id). Without a traceback, it's impossible to say more. Are you sure that the things you're passing in as ids are really ids and not the objects themselves? --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ ___ 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] Can Zope 2.9 Coexist With Zope 2.6 Using Different Ports?
Mark, Jonathan (Integic) wrote: My website GoodbyeJim.com currently runs Zope 2.6 on Red Hat 7.3. I have installed Zope 2.9 to use port 3200 instead of 80. Does Zope 2 support running two separate instances of two versions of Zope on different ports? I have been able to run Zope 3 concurrently with Zope 2.6 without problem. When I run bin/runzope in my Zope 2.9 home directory I get the following error on lock_file.py line 60: IOError: [Errno 13] Permission denied: '.../Data.fs.lock' I don't know if this is your problem, but you can't run two instances of the same ZODB unless you use ZEO. (That's my guess, but it depends on how you've installed things.) But it's certainly possible. I have at least three different versions of Zope and at least a dozen different instances on this machine right now. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] about zope and mouse event handling
Floyd May wrote: On 2/10/06, Tino Wildenhain [EMAIL PROTECTED] wrote: ... maybe if there is a chapter about image manipulation on the fly with PIL (python imaging lib) I believe that Plone (or Plohn as it seems to be called by Zope people ;-) ) If by Zope people you mean Chris Withers. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Re: major problems placing authentication on an extranet site-security flaw?
michael nt milne wrote: Well I said it was over and out but I have to respond to this latest post. I appreciate the help here and will be trying out some of the suggestions. Basically though, Zope permissions and security could be made a lot more usable. It's far too technically focused and this is the opinion of a few others as well. The whole ZMI interface could be put through a usability re-design to be honest and that's not even to comtemplate the security areas. The ZMI is well known to be geeky. For developers, by developers might be its motto. If you have some concrete suggestions, by all means put them forth. Patches are even better. Anyway, ACLs are ACLs. And if you don't know what you're doing, you can get into trouble real fast. Ever tried managing file security on a Windows machine with ACLs? CMF (this includes Plone) provides a way to manage this complexity: workflow states. Each workflow has a set of permissions it manages, and a setting of these for each state. This is much more easily comprehended than infinite fiddling with the ZMI Security tab. Also, as I recall, there was a private plone site howto on plone.org; dunno what happened to it. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Help with a simple DMS
Joshua Gilbert wrote: Hi. I'd like to make a simple DMS, users upload their PDFs/docs/ps/whatever and then they can search within the documents. I believe TextIndexNG will index contents of complex file types. I need to be able to automate the submission of documents as I'm part of a large research lab, we've accumulated a lot of papers over the years. What exactly does automate the submission of documents mean? Other than that I'd like a nice, simple authentication scheme. That's about it. Dead simple. Then stick with how it's already set up. Plone provides a nice UI for user management. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Help with a simple DMS
Joshua Gilbert wrote: On 2/7/06, J Cameron Cooper [EMAIL PROTECTED] wrote: Joshua Gilbert wrote: Hi. I'd like to make a simple DMS, users upload their PDFs/docs/ps/whatever and then they can search within the documents. I believe TextIndexNG will index contents of complex file types. OK, that's great. Where do I find documentation to tell me how to set up the site? According to http://opensource.zopyx.biz/OpenSource/TextIndexNG3 Ready-for-Plone (refer to installation notes in doc/README.txt) I need to be able to automate the submission of documents as I'm part of a large research lab, we've accumulated a lot of papers over the years. What exactly does automate the submission of documents mean? I mean that I have a great deal of papers. I can't go through web forms to add all of these documents. I would like to be able to submit them through an automated process, I can't go through web forms by hand to add them all. I'm trying to convince my lab that this is a useful product. If I ask them to submit their papers one at a time I'll lose the argument and we won't use Zope. Use WebDAV, FTP, or Enfold Desktop. There are other methods, but these are easiest. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] zodb queries, importing and exporting
Jonathan wrote: Not a zope question, but... why don't you create a mutually agreed upon XML DTD (document type definition) that represents the content of a database record. Then each party can implement the XML data extraction/upload to their own db technology as they please. Each db operator will send/receive data in the agreed upon XML format (that's what its for!). If you use ATXML (see the Marshall product) you can even marshall/demarshall the files directly to/from your objects via FTP/WebDAV. No intermediate representation. --jcc - Original Message - From: Cliff Williams [EMAIL PROTECTED] To: zope@zope.org Sent: Wednesday, January 25, 2006 11:23 AM Subject: [Zope] zodb queries, importing and exporting LEAD UP: I've got a site that I need to develop and it's a natural and obvious decision that I use zope and plone as they are what I'm familiar with and what I prefer to other CMS/Portal-wares out there. The site will have several counter parts around the globe being administered by various individuals, not all of whom are enlightened enough to realize the folly of using anything other than zope. MEAT OF THE ISSUE: The sites will be tracking dance clubs. We'll be building Types in plone (Using Archetypes) to track information about clubs locally. Each site will potentially have different database technology from the other sites. I know of 3 admins who are planning on using PHP-* + MySQL and a few others who want to use Postgress and some other front end. We want to be able to integrate the information from any one site into any other site with respect to the club objects in the disparate databases. I'd like to leverage the simplicity of zope's application/database model and not use SQL storage if possible but don't know how I can be able to share with my counterparts who are bent on using relational databases. We do not intend to leave open connections to each other's database servers. The consensus is to do scheduled dumps and push the files to the other admins who would have their own routines for integrating the data into their site. I really don't want to have to set up an SQL server. Any help/suggestions would be greatly appreciated. --Cliff ___ 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 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 ) -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Can one nest macros with slots?
Doyon, Jean-Francois wrote: I can't seem to do this: use-macro fill-slot define-macro ... Some html ... define-slot/define-slot ... Some html ... /define-macro /fill-slot /use-macro Allowing me to nest multiple reusable templates? I have objects with common interfaces which could easily share templates ... If I could do this! (The shared template still needs to endup in the master template). Or are there other techniques to achieve this? Macros are decided at compile time so that you can ask a template (which is not called) for its macros:: here/main_template/macros/master The code above would have macros being created in some other template at the time this macros is used, and I cannot imagine how they would be available. Why is a macro with whatever uses your common interfaces not suitable? You scenario is too vague for any other advice. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ ___ 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 )
[Fwd: Re: [Zope] Structured Text Question]
Asad Habib wrote: Well, this decision was not made by me and I cannot override it. Given that I have to use Structured Text, is there a solution to this problem? You can always write HTML in STX. Just say:: br / Or maybe:: p/p I would suggest, however, not setting a solution in stone until you know it meets your requirements. --jcc On Wed, 25 Jan 2006, Jaroslav Lukesh wrote: Is there any way to have multiple lines of empty space between two sections of text in a Structured Text document? I looked on Google but did not find any answers to this question. However, I did notice that others had asked the question as well. Is this a shortcoming of Structured Text? Any help would be appreciated. Thanks. Why? Use stylesheets or fulltext replacement of some shortword to DIV with appropriate geometry. -- Building Websites with Plone http://plonebook.packtpub.com/ ___ 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] TinyMCE
Garito wrote: Chris Withers escribió: Garito wrote: Don't like kupu because is very difficult to install and very very difficult to use I find that a suprising statement... What problems did you experience? cheers, Chris Hi, Chris! I ask to the list some months ago but no solution was proposed (at least not a good one for me) I try to install it and use but the behavior of kupu is, in my opinion, unacceptable for my needs I'm working on a framework where the most important question is easyness and kupu doesn't meet these condition I need a WYSIWYG editor to override some TextAreaField from Formulator to render WYSIWYG Kupu is hard to install and hard to configure like I need For that, I'm waiting for someone who need something like me or do it for myself when I have a moment free I think they'd really like details. What problems do you encounter on install? What sort of configuration do you want to do that is difficult? I'm afraid easiness is not set explicitly. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] returning list from PythonScript
Slobodan Jovcic wrote: Hi, I'm trying to pass a list of values between the script and external method. ZPT contains the following: tal:block tal:define=whatever python: container.myExtMethod ( container.myScript() ) / container.myScript() is a Python Script that returns a list of values. container.myExtMethod() is an External Method expecting that list. However, all it gets is a string representation of the list ( [] instead of [] ). How can I pass the list itself? Btw, hard-coding list in ZPT works fine: tal:block tal:define=whatever python: container.myExtMethod( ['a', 'b', 'c' ] ) / The problem is likely in 'myScript', which you do not show us. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Newbee interfaces and implementations
Roman Klesel wrote: bruno modulix schrieb: So you recommend that I should just skip them as long as I'm on Zope2? Short answer : yes. Unless you plan to switch to Zope3 really soon, but then, I'd recommand that you skip Zope 2.x !-) No, I'll be with Zope2 for a while. I'm running an Plone site too and dont't have the memory to run a second Zope3 instance. I think my question is answered and I'm a little less confused now. :-) When I heard the word interface I thought of something like a network interface, which is the communication gateway to the entire machine if you address it from network: - you physically connect it to the network by plugging a cable into the NIC - you address it by calling an address which is assigned to the NIC. actually all other devices on the network only see the target machine as a network interface and don't know what kind of system it is plugged into until the methods the interface provides trigger routines that reveal more information. So, now I understand that interfaces in a the Zope2 context have some different meaning. It a programming context, really. You should think of programmatic interfaces like the interface between a power supply and a power consumer: as long as both agree that the plug should have an end like such, and the socket should look so and so, and the voltage is this, it doesn't really matter what's generating the power, what's consuming the power, or how the plug or socket is made. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] problems displaying radio buttons in plone
Jon Savian wrote: Hi guys, i am using plone 2.1.3 and i am having some trouble displaying radio buttons. I am doing a normal html form forminptut type=radio etc However they do not display on the page. Any ideas? What do you mean by doing? Plone doesn't by default allow things like forms in content. There's a safe HTML howto on plone.org, I think, that you should look at in this case. Also, there's a Plone-specific mailing list, you know. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] newbie dtml-in question objectValues
Alric Aneron wrote: Hello, I am trying to find how to get the relative path of an object. If i do: dtml-in objectValues('DTML Document') dtml-var URLPATH0 /dtml-in URLPATH0 does not give me the relative path of the objects interated, but rather the path of the object doing the iterating (my method). I want the path of every DTML Document the loop encounters. absolute_url works, but it puts in the undesired filename and http://; in front etc. Ask yourself: where does URLPATH0 come from? When you know that, you will answer your own question. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Where oh where is Repozo
Jonathan Cyr wrote: Um, Where is the latest version of Repozo, the backup tool, kept? Is there a reason, that it's not included with the Zope install/utilities (at least the 2.7.x I'm using). I confess, I've been stopping my zope, and tar'ing the directories so now I want to clean up my act and use Repozo... and I'm having difficulty finding it in Google, Zope.org. BTW, there is an excellent explanation of Repozo in two places, http://www.zope.org/Wikis/ZODB/FileStorageBackup http://www.plope.com/Members/chrism/repozo but neither have links to a source/repository. It also says here, that repozo is included with Plone, but not with Zope... h I find Zope to be super stable, with zero corruptions of any kind, and no need to ever restore a backup... but lightning may strike, and I've gotten away with poor backup disciplines long enough. A URL would be much appreciated. $ locate repozo /home/jccooper/zope/Zope27/bin/repozo.py /home/jccooper/zope/Zope-2.8.3-final/utilities/ZODBTools/manual_tests/testrepozo.py /home/jccooper/zope/Zope-2.8.3-final/utilities/ZODBTools/repozo.py /home/jccooper/zope/Zope-2.8.3-final/build-base/python-2.3/build-scripts/repozo.py /home/jccooper/zope/Zope283/bin/repozo.py Also: http://svn.zope.org/ZODB/trunk/src/scripts/repozo.py?view=log --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] RE: Java vs Zope
Sam Stainsby wrote: One thing is static type checking: developers detecting type errors at compile time, rather than some hapless user running into it at run time (i.e. after release to the public). I see many of those types of errors in Zope and Plone products, particularly as the API of one product changes and another product tries to use it. With Java, such problems are likely to be detected at compile time. Runtime errors produce a negative public perception of software products, as well as being dangerous in critical systems. Pervasive use of unit testing will help avoid such problems, but that level of discipline is hard to find in Zope/Plone projects (but well done those who do it!). On the downside, static type checking makes Java less flexible, and requires more programming effort, and of course there is that tedious compilation step. I worked in Java for web apps (as well as a few halting tries at GUIs--ick!) before Zope. I expected type problems because of the lack of static checking; however, I have not found it to be a problem. I don't think programs are quite as wild and wooly as static typed languages assume. I think it's quite acceptable to put the burden of use on the programmer instead of the compiler, considering the benefits; that's what he's thinking about anyway, no? My main problem with Java is that it's a high-friction environment. It takes a lot of work to do most things, often because interfaces have been abstracted so far (or sometimes because of compiler hoops, but not that often.) This is both in code and framework. For code, go take a look at what it takes to make an XML-RPC call in Python and in Java. I had to look this up for writing my book, and it's quite disgusting. It all depends on the functionality, of course, but I can't think of anything that writes quicker in Java than in Python. Framework-wise, I found that it took at least three separate helper programs to set up an reasonably productive, understandable, and maintainable development environment for J2EE, and that's not even counting an IDE. Zope 2 development generally has a lot less friction, and is usually a lot higher-level. As a result, I think it's several times faster than Java development. Possibly even many times faster. It does seem to make up for this by being more mysterious, but you can learn those things in time. You can't get rid of all the Java crap. (It's like the Churchill joke.) Zope 3, though I admit I've only played with it glancingly, seems to be more J2EE-like in certain respects: there seem to be a lot of things I have to touch to get things going. To a certain point, I can deal with this, but if there's ever a ZDoclet... --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ ___ 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] Please help with DTML-in (newbie)
Alric Aneron wrote: Hello, I am new to Zope and DTML. I am trying to use a python script to call a Z SQL method. The python script also has a list that dtml-in inside the ZSQL method interates over. so my python script: -python script words = ['one', 'two'] context.REQUEST.set('wordlist', wordlist) rs = context.myzsqlmethod() return rs[0,2] -z sql script: SELECT * FROM table WHERE dtml-in words column1 LIKE ('dtml-var '%'+sequence-item+'%'' OR column2 LIKE 'dtml-var '%'+sequence-item+'%'') dtml-unless sequence-end AND /dtml-unless /dtml-in --- But it doesn't want to, gives me.. *Error Type: NameError* *Error Value: name 'wordlist' is not defined *I tried feeding the variable into the ZSQL arguments list, but i got something like cannot concatenate a module with a str Can anyone please help me? Thank you! It complains about 'wordlist' because it is not defined anywhere. Perhaps you mean 'words' in the second line? To pass a param to the ZSQL method, just say:: context.myzsqlmethod(words=words) This will put it in the namespace. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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-dev] [RfC] Removal of old stuff in Zope 2.10
Dario Lopez-Kästen wrote: Chris Withers wrote: Andreas Jung wrote: I've never met ppl who actually used the HelpSys so that's why I am raising the question about the value of the HelpSys. Lots of my co-workers work with Zope on different levels (scripters, product developers)...I've always pointed them to the Zope Book...the HelpSys was never a topic. I most commonly use the HurtSys for DateTime's api, and some of the idnexing apis. That said, I also agree it should die if something nicer comes along ;-) I use it a lot, and like Chris, for the DateTime stuff, but also for looking up how to manage properties, etc. It is/was a big help for me (more so than the zope book, at least when I was learning Zope) when learning stuff and looking up things. One difference I perceive (YMMV) between the Zope book and the Online help is that the online help is more of a renference than the Zope book. I think my point is that it is an added value if there is an online help available that does not require a live connection to the internet every time you need to look something up. So +1 on killing the current helpsystem and +1 on replacing it with something nicer :-) The online help reference for ZPT is quite good (and DTML as well), and before I knew ZPT well I used it a lot. I still look there occasionally for minor API things (like property managers and DateTime), though obviously this is also at various web-based sources. DocFinderTab is generally superior, save for those objects and technologies that are not persistent objects, or are not described well by the API (ZPT and DateTime, for instance.) Also, I too use Gadfly frequently in training (and also when I was learning Zope), and it's fantastic that it's already there and usable. Installing MySQL or Postgres and an adapter is absurdly complicated with multiple people with multiple operating systems. I suppose a simple downloadable Product would be okay, but what burdens is that easing? --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [RfC] Removal of old stuff in Zope 2.10
Dario Lopez-Kästen wrote: Chris Withers wrote: Andreas Jung wrote: I've never met ppl who actually used the HelpSys so that's why I am raising the question about the value of the HelpSys. Lots of my co-workers work with Zope on different levels (scripters, product developers)...I've always pointed them to the Zope Book...the HelpSys was never a topic. I most commonly use the HurtSys for DateTime's api, and some of the idnexing apis. That said, I also agree it should die if something nicer comes along ;-) I use it a lot, and like Chris, for the DateTime stuff, but also for looking up how to manage properties, etc. It is/was a big help for me (more so than the zope book, at least when I was learning Zope) when learning stuff and looking up things. One difference I perceive (YMMV) between the Zope book and the Online help is that the online help is more of a renference than the Zope book. I think my point is that it is an added value if there is an online help available that does not require a live connection to the internet every time you need to look something up. So +1 on killing the current helpsystem and +1 on replacing it with something nicer :-) The online help reference for ZPT is quite good (and DTML as well), and before I knew ZPT well I used it a lot. I still look there occasionally for minor API things (like property managers and DateTime), though obviously this is also at various web-based sources. DocFinderTab is generally superior, save for those objects and technologies that are not persistent objects, or are not described well by the API (ZPT and DateTime, for instance.) Also, I too use Gadfly frequently in training (and also when I was learning Zope), and it's fantastic that it's already there and usable. Installing MySQL or Postgres and an adapter is absurdly complicated with multiple people with multiple operating systems. I suppose a simple downloadable Product would be okay, but what burdens is that easing? --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] ZSQL with different user
Pier Luigi Fiorini wrote: Alle 18:42, lunedì 19 dicembre 2005, hai scritto: Pier Luigi Fiorini wrote: Hello, I'm developing a Zope application that uses a PostgreSQL connection and several ZSQL objects. People should log in using a Postgres user and ZSQL object should be executed by the user that's logged in. Multiple people can be logged at the same time. Unfortunately it is not possible because the same Postgres connection is used by all the ZSQL object. Is there a way to change the user executing a ZSQL query? An alternative would be to log into the event.log some information (like the username, that's stored in the session) and the query source. Your alternative is dead easy. zLOG (or, better, the Python logging module, for which zLOG is now a facade) is quite easy to use. You can even make your own log file to contain only such events. I know _how_ to use zLOG. I just don't know how to log the query source. Is there some documentation about these things. I can find only documentation about making things like a simple form which is not so useful because you can learn it in some days. That depends. What do you mean by query source? --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] using tal macros in PloneArticle query
Stefan Kueppers wrote: I am trying to use tal and metal inside of a PloneArticle instance and can not get it to work. Should this not be possible? Content is generally static, as part of the whole content/logic/presentation concept. I don't know about PloneArticle, but I doubt it's any different: the contents are not parsed by anything but delivered exactly as is. If you want behavior, you need a page template. Though there is at least one product that provides a type that breaks the rules. DynamicContent or something like that. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Trapping zope exceptions in python script
Jonathan wrote: Andreas wrote: My 2 cents: PythonScripts are restricted and are *not* thought to be a full replacement for Python modules. If you need this functionaltiy consider writing a Zope Product, using external methods or using TrustedExecutables. If python scripts are restricted from accessing zExceptions (for security reasons???) then why allow python scripts to trap zExceptions in bare try/excepts? If the logic for not allowing zExceptions in plain vanilla python scripts is for security reasons, then allowing bare try/excepts would seem to be a security hole (though, I don't see the rationale for this). I would imagine that not allowing these exceptions to be imported in trusted code is simply an oversight. The mechanism involved is not a you may not import this type of thing, but rather a you may import this statement. It is easy to miss safe but rarely used pieces. If you have a list of exceptions you would like to have available, go and file a bug report. A patch would be even better. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] batching help
Nicolas Georgakopoulos wrote: Dragos Chirila wrote: Hi I suggest to use the following function that def get_grouped_list(self, seq=[], size=3): #get the list with all items grouped return [seq[i:i+size] for i in range(0, len(seq), size)] that takes as parameter a list and goups items in slices with length = size. def get_grouped_list(seq=[], size=3): ... return [seq[i:i+size] for i in range(0, len(seq), size)] ... l = [1,2,3,4,5,6,7,8] get_grouped_list(l) [[1, 2, 3], [4, 5, 6], [7, 8]] get_grouped_list(l, 4) [[1, 2, 3, 4], [5, 6, 7, 8]] Then iterating this is something like: tr tal:repeat=slice python:someobject.get_grouped_list(yourlist) td tal:repeat=item slice span tal:replace=item / /td /tr Nicolas Georgakopoulos wrote: Hello all , I'm trying to display on the same page a table with (3 columns) with content from a list . I'm trying to batch the results so that every 3 elements anothe row is created. Can anyone give me a clue how to do that ? this is my code: table tal:define=Rnumber python:context.cm1.content.specialfile.getList('link_list') ; batch python:modules['ZTUtils'].Batch(Rnumber,size=3,start=0) th colspan=3Main Title/th trthTitle 1/ththTitle 2/ththTitle 3/th/tr tr td tal:repeat=num batch span tal:condition=python:num 3 tal:replace=structure num content goes here.. /span /td /tr !-- tr td tal:repeat=num batch span tal:replace=structure num Material goes here /span /td /tr -- /table Thanks for your suggestion Dragos , I want to do it the zope batch way (I suppose it is simpler) if I can... I will keep in mind your function if nothing else can be done. The ZTUtils batching is mostly for batching between pages. It's probably easier to do it in a Python script. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Re: [Zope-dev] user folder question
On 15 Dec 2005, at 16:58, Chris Cole wrote: I'm currently trying to setup a custom zope instance for our c.s. department at school. Currently we run a totally linux infrastructure with ldap authentication which we would also like to tie into zope. My question is not how to authenticate against ldap, but I was wondering if there is a way to disable the default user folder and in automagically put an ldapuser folder in its place on creation of a new instance. I'm kinda new to zope, and I'm sure it's possible, but if someone could at least point me in the right direction i would appreciate it. If you do replace the top user folder with one that depends on an outside source, you better learn how to use the Emergency User. Because you will at some point mis-configure the LDAPUserFolder and lock yourself out. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Trapping zope exceptions in python script
Jonathan wrote: Thanks to everyone for the feedback... the bottom line seems to be that you can NOT trap zope exceptions in a python script... which seems a bit odd. Of course you can. You just are restricted from importing certain things, which happens to include this class of exception. Probably it is safe for Zope to allow importing this in restricted code; feel free to file a bug report. But you have easy avenues to deal with this: either declare that class safe for import or take a couple extra seconds and write it in an External Method. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Recursive Display Of All Folder Items
Francisco Chamorro wrote: Hi everyone, I am trying to get a dump of all the content currently in our zope server. Using DTML I was able to get the top level folders to display their content but I am unable to recursively display the contents of the sub-folders. This is the code I am using for my top level folders, where TV is the name of the folder I want to display. dtml-in TV.objectValues()dtml-var idbr/dtml-in My second attempt at displaying sub-folder content was the following: dtml-in TV.objectItems() id: dtml-var id,br type: dtml-var meta_typebr dtml-if meta_type=='Folder' dtml-in expr=objectValues(dtml-var id) id: dtml-var id,br type: dtml-var meta_typebr /dtml-in /dtml-if /dtml-in But that also fails. I searched the documentation and found a post about recursively calling the same function but that did not work as I get a excessive recursion error. Any help on this problem would be greatly appreciated. objectValues is acquired on all objects, even non-folderish ones. Thus recursion never stops. You must ask for it explicitly: aq_inner.aq_explicit or something like that if I remember directly. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Zope and Image display
tyson wrote: Hi- I have a dtml form that loads a binary image from a python script. This works fine with no problems, but I want to return the image and also some other data as well. The only thing is when I return the information in the form of a list, my image won't load. I think that the list automatically changes the binary image into a string or something. Does anybody know about this or some work around by any chance? The data that defines an images cannot be placed in HTML. The webbish way of doing things is to link to an external resource, which is what the 'src' in an 'img' tag is all about. You may return an image from a Python script, but since you have to tell your web browser Hey, that there resource is an image, go fetch it it cannot work to return anything but the binary data. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] zope and LDAP for authorisation
Marinussen, M.J. (Ria) wrote: Hi, I'm looking for a zope product that enables me to use our Active Directory LDAP server for verification of login credentials only. I want users still stored in Zope, and access to directories should be also something I can handle in Zope, and I don't want to use LDAP groups because I don't control the LDAP server and there are no groups on the LDAP server I can use. So really, all I want is that Zope checks the passwords with the LDAP server instead of with it's own userfolder. And perhaps, a possibility to check/search for the available loginnames on the LDAP server when adding a user to the userfolder. I've checked out LDAPUserFolder but that's not what I'm looking for (I think...). Does anyone know whether there is such a product, or give me some poiners to adapt an exisiting product to my needs? There is an LDAPMultiplugin for PluggableAuthService, which might make this easier. It could be as easy as installing LDAPUF in PAS and turning off all its interfaces except for the auth one. However, I don't quite see how you would store users in Zope and then ask for the password in LDAP on a one-to-one basis. Seems like you're relying on an accidental correspondence between ZODB-stored user names and LDAP user names. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] checking for elements in a list
Christopher Rivard wrote: Hello, I'm am trying to check for the membership of items in a list and think I'm missing something. How is this done in dtml? List allids: [15,16,17,18] Check for multiple items in the list: dtml-in allids prefix=loop dtml-if expr=loop_item == 17 something dtml-elif expr=loop_item == 17 and loop_item != 18 doesn't work /dtml-if /dtml-in The goal is to check for combinations: 17 and not 18 18 only 17 only 17 and 15 18 and 16 ...combinations. I don't think that I really want to loop through the list, just want to check membership in the list. In Python, you can simply ask:: 17 in allids 18 not in allids and so forth as boolean expressions. Just make sure that the elements of the list you're getting are what you think they are. If you ask about the integer 17 and the list actually has a string 17 they won't match. You can either adjust what you test or use something like the 'int' function to cast. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ ___ 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] Creating a DTM Document in a variable folder.
Jonathan Cyr wrote: You might want to use index_html rather than index.html in this example. The dot means other things in Python, and index.html is a carryover from filesystem webservers. My impression is that the acquisition mechanism doesn't like ids with a dot, in some circumstances. Not trying to nit-pick, just got hung-up on that item myself once before. ...or maybe that's not true anymore and has been allowed for... That just means you can't traverse to it with attribute notation. For instance:: self.plone.index.html will not look for 'index.html' but rather the 'html' inside 'index'. Same goes for dashes:: self.plone.try-me will try to subtract the value of the 'me' variable from the value of 'self.plone.try'. But usually it will fail in trying to look up the first value. In such cases, you can use subscript notation:: self.plone['try-me'] or getattr (which doesn't use acquisition.) --jcc Peter Bengtsson wrote: folder = getattr(context, 'b') adder = folder.manage_addProduct['OFSP'].methodAdd adder('index.html', 'Some title') That creates it with default content. To change it you'll have to call dtmlm = getattr(context, 'index.html') dtmlm.manage_edit(bla bla bla bla bla, 'Same title') # or f = open('/tmp/foobar.html') dtmlm.manage_upload(f) On 11/25/05, Martin Koekenberg [EMAIL PROTECTED] wrote: Hello, I don't have any Python experience yet, so who has a solution for this 'problem'. Example: I 've 3 folders a, b c. I want to create a dtml document in a folder by a form. The folder is a variable in my form. The formis no problem, the form action is no problem. The python script to craete that document is my problem. How can I create a DTM Document in a variable container ? Regards, Martin Koekenberg ___ 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 ) -- Peter Bengtsson, work www.fry-it.com home www.peterbe.com hobby www.issuetrackerproduct.com ___ 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 ) -- Jonathan Cyr http://www.cyr.info http://www.weddingweblog.com [EMAIL PROTECTED] ___ 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 ) -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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-PAS] Five interfaces
The trunk currently says in PluggableAuthService.py:: try: from OFS.interfaces import IObjectManager from OFS.interfaces import ISimpleItem from OFS.interfaces import IPropertyManager except ImportError: # BBB from Products.Five.interfaces import IObjectManager from Products.Five.interfaces import ISimpleItem from Products.Five.interfaces import IPropertyManager I think this is supposed to support Zope 2.7 and 2.8 interfaces. However, I don't see any of the first three imports existing in Zope 2.7. (Or, at least, 2.7.4.) I haven't tested this myself, but do have a report of it not working. Am I missing something? --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ Zope-PAS mailing list Zope-PAS@zope.org http://mail.zope.org/mailman/listinfo/zope-pas
Re: [Zope] Passing Parameters to External Methods
Asad Habib wrote: Hello. I am trying to use the Python version of the PHP script written by Jason Rust called 'HTML_ToPDF.php'. I have represented this script using an External Method since it uses functions, such as open, which cannot be used in Zope Python scripts for security reasons. The python code for the script consists of a class definition and so I have had to create a python function which instantiates an object of this class. However, I am having toruble passing parameters to this function which are needed by the class constructor to instantiate an object of this class. Can parameters be passed to external methods? Whenever I try to pass parameters to function 'createHtmlToPdf', Zope returns an error stating that no such function exists. Other on the hand, if I pass no parameters this call is successful but the init function fails complaining that three parameters are expected. I have provided a snippet of my code below. Any help would be greatly appreciated. Thanks. def createHtmlToPdf(in_htmlFile, in_domain, in_pdfFile): return html2pdf(in_htmlFile, in_domain, in_pdfFile) Functions in external methods generally start with the 'self' parameter. Your description of the error messages doesn't entirely support my supposition, but you could try it. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Passing Parameters to External Methods
Asad Habib wrote: Hi Cameron. You are right but the self parameter is implicitly passed. It is implicitly passed, but must be explicitly defined:: def createHtmlToPdf(self, in_htmlFile, in_domain, in_pdfFile): return html2pdf(in_htmlFile, in_domain, in_pdfFile) When you say:: context.createHtmlToPdf(in_htmlFile, in_domain, in_pdfFile) Python ends up calling this method/function something like:: createHtmlToPdf(context, in_htmlFile, in_domain, in_pdfFile) Your message signature must agree. --jcc On Wed, 16 Nov 2005, J Cameron Cooper wrote: Asad Habib wrote: Hello. I am trying to use the Python version of the PHP script written by Jason Rust called 'HTML_ToPDF.php'. I have represented this script using an External Method since it uses functions, such as open, which cannot be used in Zope Python scripts for security reasons. The python code for the script consists of a class definition and so I have had to create a python function which instantiates an object of this class. However, I am having toruble passing parameters to this function which are needed by the class constructor to instantiate an object of this class. Can parameters be passed to external methods? Whenever I try to pass parameters to function 'createHtmlToPdf', Zope returns an error stating that no such function exists. Other on the hand, if I pass no parameters this call is successful but the init function fails complaining that three parameters are expected. I have provided a snippet of my code below. Any help would be greatly appreciated. Thanks. def createHtmlToPdf(in_htmlFile, in_domain, in_pdfFile): return html2pdf(in_htmlFile, in_domain, in_pdfFile) Functions in external methods generally start with the 'self' parameter. Your description of the error messages doesn't entirely support my supposition, but you could try it. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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 ) -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Passing Parameters to External Methods
Paul Winkler wrote: On Wed, Nov 16, 2005 at 11:26:10AM -0600, J Cameron Cooper wrote: Asad Habib wrote: Hi Cameron. You are right but the self parameter is implicitly passed. It is implicitly passed, but must be explicitly defined:: def createHtmlToPdf(self, in_htmlFile, in_domain, in_pdfFile): return html2pdf(in_htmlFile, in_domain, in_pdfFile) When you say:: context.createHtmlToPdf(in_htmlFile, in_domain, in_pdfFile) Python ends up calling this method/function something like:: createHtmlToPdf(context, in_htmlFile, in_domain, in_pdfFile) Your message signature must agree. No, it's optional. If you don't inlude self in the signature, it's not passed. You can see this in the source of ExternalMethod.py: if ((self._v_func_code.co_argcount- len(self._v_func_defaults or ()) - 1 == len(args)) and self._v_func_code.co_varnames[0]=='self'): return f(self.aq_parent.this(), *args, **kw) I think the problem lies elsewhere. Traceback? I thought I'd seen that work before, but didn't want to dip into asides. Oh well. There goes my guess. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] export/import problems with plone site
Faheem Mitha wrote: I successfully exported/imported a Plone site from one Zope instance to another. However, when I try to publish the Plone page, I experience an error. Does anyone know what the problem is here, or what to look for? Is this perhaps a more Plone speciific problem? AttributeError: portlet_forum_latest (Also, an error occurred while attempting to render the standard error message.) Sounds like some forum product is installed on the first instance and not the second. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Re: zope 2.8.4 on windows 98
Fernando Martins wrote: Andreas Jung wrote: On Sat, 12 Nov 2005 03:52:28 -0800, Fernando Martins fernando at cmartins.demon.nl wrote: I understand the problem, but is it the intention that zope is not supported on win98? Yes, I believe this is intentional. Windows 98 is a seven year old OS with insufficient infrastructure to reliably run server tasks anyway. At least get Windows 2000, which has a decent kernel. However that does not mean that Zope won't run on Windows 98. For a recent project where we ship and install Zope on all customers desktop machines I had to do a lot of testing especially on Windows 98. I've been using zope 2.7.4 on win 98 for some development/testing, not as a real server. But I'm confused by your statement: if zope 2.8.4 is calling an NT security function, not available in win98, then it does NOT run on win98?? DO you mean there is something wrong with my win98 setup or that zope 2.8.4 could be patched to overcome this issue? Probably this is just in the start sequence. You cannot, of course, run Zope as a service in Win98, since it understands no such thing. Quite possibly you can use runzope or whatever to execute it in a console. I can't say exactly as the traceback has been edited out of this thread (and I've deleted the old messages). FYI, the last time I tried Zope on Win98 was Zope 2.2. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] sql access style
Vlada Macek wrote: I'm about to create a Zope (Plone, in fact) application, as a Package, that will operate on data accessible via SQL (Firebird RDBMS). I'm ordered the data must stay in SQL storage, not in ZODB. Recently I found, outside of Zope, that using python-kinterbasdb module is very straighforward and easy. It's simply about writing SQL statements to Python code. Until then I thought I'll use usual ZSQL Methods for each SQL statement in the application, but kinterbasdb seems to allow a quickier developing. First thing that arises is that I will need to keep the persistent connection reference in the product instance, but it's bearable IMHO. I'm unexperienced in this, please may I hear pros/cons of each method? You might look at ExtZSQL:http://www.zope.org/Members/jccooper/extzsql It is made for using RDBMS in Zope products. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] question about stopping acquisition in VHM sites?
Gary wrote: Hi, How do I stop acquisition at the root of my website? If I have two websites in zope, and I set the virtual host mapping to www.sitea.com/websites/SiteA http://www.sitea.com/websites/SiteA www.siteb.com/websites/SiteB http://www.siteb.com/websites/SiteB I don't want my users to get to SiteB from http://www.sitea.com/SiteB I am using Zope 2.7 You can create in each site an empty Python script or something named like the other site(s). This is not the best solution in the world, since if you have more than a handful of sites, you get a combinatorial explosion. But, it will work. Perhaps someone who is bothered by this problem and has time will do some magic in VHM (or a new type of object) to stop such traversals. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Debugging security settings in .metadata files
Floyd May wrote: I have a set of files - page templates, python scripts, and zsql methods - that are set up as filesystem objects. I'm having trouble getting the security set the way I want it to be with the .metadata files. Here is the content of my .metadata files: --8- [security] View = 0:Manager Access contents information = 0:Manager Access Contents Cnformation = 0:Manager -8-- However, I can still access my content through an anonymous context. Can anyone give me some ideas about debugging my situation? Thanks! Zope 2.7.7-final, python 2.3.5, freebsd5 CMF 1.4.8 Looks okay to me, though I don't know what you're doing with the third line. Check what it looks like in the ZMI. This will tell you whether or not the problem is in getting the permissions set like you expect. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Debugging security settings in .metadata files
Floyd May wrote: I don't know what you're doing with the third line... Me neither, typo. Check what it looks like in the ZMI. This will tell you whether or not the problem is in getting the permissions set like you expect. Filesystem objects don't have a security tab in the ZMI (or at least, these don't). Should one be there? Hm. Seems they don't. Customize it and look at the security tab of that. --jcc On 10/27/05, J Cameron Cooper [EMAIL PROTECTED] wrote: Floyd May wrote: I have a set of files - page templates, python scripts, and zsql methods - that are set up as filesystem objects. I'm having trouble getting the security set the way I want it to be with the .metadata files. Here is the content of my .metadata files: --8- [security] View = 0:Manager Access contents information = 0:Manager Access Contents Cnformation = 0:Manager -8-- However, I can still access my content through an anonymous context. Can anyone give me some ideas about debugging my situation? Thanks! Zope 2.7.7-final, python 2.3.5, freebsd5 CMF 1.4.8 Looks okay to me, though I don't know what you're doing with the third line. Check what it looks like in the ZMI. This will tell you whether or not the problem is in getting the permissions set like you expect. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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 ) -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Zope/Editor problems
Lennart Regebro wrote: On 10/26/05, Håkan Johansson [EMAIL PROTECTED] wrote: On Oct 26, 2005, at 17:00, Lennart Regebro wrote: On 10/26/05, Håkan Johansson [EMAIL PROTECTED] wrote: My personal guess is that both Epoz and Kupu has hidden prereqs that the documentation does not say, or that I simply missed somehow. You should still get an error message. Do you start the server with bin/runzope or bin/zopectl start? zopectl start OK, use bin/runzope or zopectl fg, and you will surely get the error message. I'm a bit surprised it doens't end up in the logs as well, but maybe that's expected. If you don't run in debug mode the error will be written to the logs (at least in Zope 2.8), presumably because Zope gets to finish starting up and sets up logging. Not logging errors on startup failures (in debug mode) is a problem that causes a lot of consternation. I recall hearing once why it is that way, but don't quite recall. I'm sure I could search the archives and find out. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] database connections from external method
Vangelis Mihalopoulos wrote: Tino Wildenhain wrote: The threading is handled by the ZDA, so you can use query() or what the method actually is. I couldn't find a method like that... any hints? It is indeed the 'query' method, which you pass a string with SQL. It comes from Zope/lib/python/Shared/DC/ZRDB/dbi_db.py, inherited through a long path. You might also look at ExtZSQLMethod. http://www.zope.org/Members/jccooper/extzsql --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] __getitem__ and returning a PageTemplateFile instance
Anders Bruun Olsen wrote: On Sun, Oct 16, 2005 at 06:50:09PM +0200, Dieter Maurer wrote: I am trying to make a product where-in I want to be able to return a page based on the url, think something like /product/username which would return a page with the users details. For this purpose I am using __getitem__, but when I return a PageTemplateFile instance it just tells me it has encountered a problem publishing the object. I such a case, you look at the traceback (which you can find in the error_log object in your Zope Root Folder (ZMI)). It just says No exceptions logged. So it does not log any errors in error_log. The error message I am getting is: Site Error An error was encountered while publishing this resource. Debugging Notice Zope has encountered a problem publishing your object. Cannot locate object at: http://localhost:8080/vitester/asonhe If it does not solve the problem directly, you include the full error information (at least Error Type, Error Value *AND* traceback) in your post. If there had been a better error description I would of course have included it, but the thing that has made this difficult to understand is that I haven't been able to find any real error messages. I have enabled debug-mode and am running Zope in the foreground, but it reports no errors at all. error_log is by default set to ignore three common types of exceptions. You should remove NotFound from the list if you're getting NotFound exceptions and want to see them. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] __getitem__ and returning a PageTemplateFile instance
Anders Bruun Olsen wrote: On Tue, Oct 18, 2005 at 03:30:42PM -0500, J Cameron Cooper wrote: error_log is by default set to ignore three common types of exceptions. You should remove NotFound from the list if you're getting NotFound exceptions and want to see them. Ahhh.. Thanks, now I have a traceback, unfortunately it didn't make it any more clear to me what the problem is. Traceback (innermost last): Module ZPublisher.Publish, line 104, in publish Module ZPublisher.BaseRequest, line 355, in traverse Module ZPublisher.HTTPResponse, line 651, in debugError In Zope 2.7, I see that line raising a debug error. Why it doesn't get through I don't know, but here's what it says:: The object at %s has an empty or missing \ docstring. Objects must have a docstring to be \ published. % URL That should help you, I think. All Zope objects that are to be published to the web must have a docstring. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Zope 2.7.8 or Zope 2.8.X
Dennis Allison wrote: We have been running on Zope 2.7.6 with a few patches. I am now planning to migrate to Zope 2.7.8 but am pondering the move to Zope 2.8. We are in a production situation and cannot accept any downtime, so I am very concerned about stability and compatibility. Can the list provide words of advice? Try it on a test server first. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] selected in select lists
Garry Saddington wrote: I have a variable called 'groupabbrev' in the REQUEST. I am trying to automatically select an option in a select list based on this variable. I have tried this code and many others, and many googles but have not found anything that works. Can anyone see what I am doing wrong? select name=groupabbrev dtml-in getpastoralgroups option value=dtml-var groupabbrev dtml-if expr='groupabbrev'==_['sequence-item'] selected/dtml-if dtml-var groupabbrev/option /dtml-in /select Why have you put 'groupabbrev' in quotes? That makes it a string, and the condition will only be true when the current item is equal to groupabbrev. Presumably you want the value of the variable named that, rather than a string of that name. Also, watch the values of what 'getpastoralgroups' returns. The condition will never be true if they are not strings or converted into such. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] selected in select lists
Garry Saddington wrote: J Cameron Cooper wrote: Garry Saddington wrote: I have a variable called 'groupabbrev' in the REQUEST. I am trying to automatically select an option in a select list based on this variable. I have tried this code and many others, and many googles but have not found anything that works. Can anyone see what I am doing wrong? select name=groupabbrev dtml-in getpastoralgroups option value=dtml-var groupabbrev dtml-if expr='groupabbrev'==_['sequence-item'] selected/dtml-if dtml-var groupabbrev/option /dtml-in /select Why have you put 'groupabbrev' in quotes? I am fishing in the dark That makes it a string, and the condition will only be true when the current item is equal to groupabbrev. Presumably you want the value of the variable named that, rather than a string of that name. Also, watch the values of what 'getpastoralgroups' returns. The condition will never be true if they are not strings or converted into such. --jcc Now I have tried both of the following with no result: dtml-if expr=groupabbrev==_.str(_['sequence-item']) dtml-if expr=groupabbrev==_['sequence-item'] Are there any other ways I could try? What does groupabbrev look like? What does _['sequence-item'] look like? Can they ever be equal? --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] selected in select lists
Garry Saddington wrote: Nicolas Gouzy wrote: I think this code works : select name=groupabbrev dtml-in getpastoralgroups option value=dtml-var expr=_['sequence-item'] dtml-if expr=groupabbrev==_['sequence-item'] selected/dtml-if dtml-var expr=_['sequence-item']/option /dtml-in /select -- Nicolas Gouzy [EMAIL PROTECTED] This producing the following result, is this what it should do? select name=groupabbrev option value=Shared.DC.ZRDB.Results.r object at 0x43aa7c0cShared.DC.ZRDB.Results.r object at 0x43aa7c0c/option option value=Shared.DC.ZRDB.Results.r object at 0x43f95824Shared.DC.ZRDB.Results.r object at 0x43f95824/option option value=Shared.DC.ZRDB.Results.r object at 0x43aa7c0cShared.DC.ZRDB.Results.r object at 0x43aa7c0c/option option value=Shared.DC.ZRDB.Results.r object at 0x43f95824Shared.DC.ZRDB.Results.r object at 0x43f95824/option /select Like I said: be careful about what comes out of getpastoralgroups. These are Result objects, not strings. Like any result objects, they store data in attributes with the same name as the row that came out of the SQL results. You must use a row in your comparison: a Result object can never be equal to a string. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Re: DTML-tree Custom sort
Chris Beaven wrote: It's really more a cool way to do lists than if statements :) It's technically list comprehension. Sort of a one-line list transform tool. I recommend reading through some of Dive Into Python (http://diveintopython.org/) for lots more cool hands-on tips on Python programming. Chapter 3 for a good overview of the uses of Python's different data types. Good advice. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] emergency access problems
michael nt milne wrote: Hi I appear to be having difficulty logging into the ZMI using the password created on install. I did change some settings to my root login using the Samplex member product etc but didn't change the password, login etc. Anyway I've followed all the instructions in security.txt, telnetting in as the user that made the zopeinstance and running python zpasswd.py access using SHA-1 and then entering nothing for domains ( I presumed that this would give access for all domains etc) I then get an access denied message on running this and the access file is not created. Any help would be appreciated. I guess I can always create a new zope instance and delete the old one? You must make sure the access file is in the right place (an instance home, I believe) and you have to restart for it to take effect. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Zope scalability / efficiency question
mark hellewell wrote: Hi everyone, I've got a question I'd really appreciate some input on. If I'm running perhaps a dozen Zope sites, experiencing anywhere between several hits per second to a lot less, would it potentially be more efficient (decreased latency etc.) to run each site as its own Zope instance or have one Zope instance running muliple (CMF based) sites. I haven't even thought about adding ZEO into the mix yet. The basic aim of the exercise is to find out how many usable zope instances / sites I could get onto a typical mid-range modern server. I know it's a bit of a how long are your pieces of string sort of question, but any help you could offer would be gratefully accepted! If anyway has any experience of this sort of setup and can offer a little insight it might reduce the amount of testing I have to do myself. I don't think you'll see any improvement unless you have a multi-processor machine. In such a case, running X processes (where C is the number of cores) will fully load the machine, since Python threads won't skip processors. On a single-core machine, multiple instances probably will just increase your overhead, especially in memory. But I could be wrong: there's so many variables the best way to know is to test. (Caches and usage patters, for instance, can make a big difference.) If you do have several sites, you could be running into cache eviction issues since there are a lot of objects that need to be accessed. Check your cache fullness and watch your ZODB usage chart for excessive loads. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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 show field names from sql query?
Thomas Apostolou wrote: Hello all, i use the following to get to show the results from an sql query. What are the expresions to show the field names? table dtml-in expr=TestODBCEM(sysDSN=sysDSN, usr=usr, mypass=mypass, sSQL=sSQL) dtml-if sequence-even tr bgcolor=lightgreen dtml-else tr /dtml-if dtml-in sequence-item tddtml-var sequence-item/td /dtml-in /tr /dtml-in /table You can ask the Results object 'names()' to get the names of the columns of your results. Note you need to ask the results list, not an individual result, so you'll need to define TestODBCEM(sysDSN=sysDSN, usr=usr, mypass=mypass, sSQL=sSQL) as something so as to ask it for names and loop over it later. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Same product in multiple instances automatically?
Kirk Strauser wrote: On Friday 09 September 2005 10:25, Paul Winkler wrote: To be honest, I'd expect something a little different, namely that each instance would automatically pull in all the products in the site installation (like [1] and [2] above), but that doesn't seem to be the case. Is that a configuration issue, by design, or by accident? It's a configuration issue. Check out the products directive in zope.conf. The one that says: The master Products directory exists in Zope's software home, and cannot be removed from the products path (and should not be added to it here). ? That seemed to me that I shouldn't be adding /usr/local/www/Zope/Products to the search path, although I'm unsure of the reasons. I don't know why, either. That simply says that there is a default Products directory ($SOFTWARE_HOME/lib/python/Products), you can't get rid of it, and you shouldn't try to configure it here. The more interesting part is:: Name of a directory that contains additional Product packages. This directive may be used as many times as needed to add additional collections of products. Each directory identified will be added to the __path__ of the Products package. If you want your instances to use Products from some other directory, name it here. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Same product in multiple instances automatically?
Kirk Strauser wrote: On Friday 09 September 2005 13:56, J Cameron Cooper wrote: I don't know why, either. That simply says that there is a default Products directory ($SOFTWARE_HOME/lib/python/Products), you can't get rid of it, and you shouldn't try to configure it here. The problem I'm having, though, is that those products don't seem to be present in instances by default, which is the opposite of what I'd expect. For example, I'd think that ZPsycopgDA would be available inside each instance since it's present in $ZOPE/Products. Anything in $SOFTWARE_HOME/lib/python/Products is available in any instances that use that SOFTWARE_HOME. You can see this quite easily by looking at the /Control_Panel/Products of an instance with nothing in its $INSTANCE_HOME/Products. I'm not sure what you mean by $ZOPE/Products. If you want your instances to use Products from some other directory, name it here. Yep. I'm wondering if I should create a $ZOPE/CommonProducts directory and add products $ZOPE/CommonProducts to every instance's zope.conf. You can. I typically do the symlink thing, as I can just copy them from an existing instance with a similar or identical setup. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Same product in multiple instances automatically?
Kirk Strauser wrote: On Friday 09 September 2005 15:37, J Cameron Cooper wrote: Anything in $SOFTWARE_HOME/lib/python/Products is available in any instances that use that SOFTWARE_HOME. You can see this quite easily by looking at the /Control_Panel/Products of an instance with nothing in its $INSTANCE_HOME/Products. I'm not sure what you mean by $ZOPE/Products. OH! I see what you mean. $ZOPE is defined in $INSTANCE/etc/zope.conf. In my case, it's set to /usr/local/www/Zope, and there's a Products directory inside it. FreeBSD installs new products to that directory. I hadn't noticed that there was also a /usr/local/www/Zope/lib/python/Products directory with different contents. Problem solved, although I'm not sure why /usr/local/www/Zope/Products exists in the first place; maybe it was meant to be a symlink to ./lib/python/Products? Anyway, I think I can figure it out from here. Thanks! In the beginning, there was only one Products directory; this was in lib/python/ along with the rest of the software defining Zope. If you wanted to have, say, two or more running distinct instances of Zope you would have to copy the whole thing. Plus, with third-party products co-mingling with default products, upgrading became difficult. Thus was created the instance/software distinction. Everything needed to run Zope goes into the SOFTWARE_HOME; everything that defines a specific distinct instance goes into INSTANCE_HOME (3rd party Products, Data.fs, config files, logs, etc). You can thus manage (move, upgrade, etc) instances and software separately, and don't have to copy the whole thing to run many instances. (On my dev box, I may have 4-5 running at one time, and maybe 20 total!) This should explain why there are two such directories, and how they should be used. Short version: do not touch the SOFTWARE_HOME after it has been installed. In fact, it might be a good idea to remove all write permissions from that directory. You can co-mingle, of course, but be aware of what advantages you are losing. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Zope scalabilty and problems
Kennamore, Matthew G [NTK] wrote: Here is our situation, we originally launched zope with a small user base in mind and like most IT implementations it got away from us quickly and we have over 1000 users now. We are experiencing huge slowdowns and lots of complaints of performance. Let me outline our system: I have a load balancer that round robins incoming request to 3 zeo servers I have 1 zope server on the back en that severs the data, this is a large single processor machine with 4 gigs of ram Each zeo server is 2 gigs of ram, single processor 3.2 gighz The throughput doesn’t appear to be the problem as ram/processors are. Short term I plan to change all zeo’s to 4 gigs ram and add 3 additional servers. The Technologies we are using are Zope, Zeo, plone and so forth. Why are we having these large issues? I see sites with hundreds of thousands of users and they don’t seem to have these issues? We plan to recode our site to get away from the Data.fs as soon as we can but that is a ways off yet. What am I doing wrong can anyone help? You will need to find out where the slow bits are. There are various profiling tools for use in Zope. PTProfiler, CallProfiler, etc. Also examine your ZODB cache graphs and settings. These can tell you where your bottlenecks are. There are lots of ways to improve performance just administratively. You can improve various zope.conf settings, and set up caching (either RAM or HTTP Accel.) in Plone. You can also put a caching proxy server (like Squid) in front of your Zopes. Also, Plone 2.1 is significantly faster. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] SQL Problem
Philip Beardmore wrote: I'm having a really annoying SQL problem which I think (or hope) can easily be sorted but I'm not sure how to do it. I have a ZPT which is collecting data in a form - Both text boxes and checkboxes. The form then passes the variables on to a DTML Method which does a few bits of error checking then calls an Z SQL Method to insert the data. If all of the data is completed (i.e. each textbox and checkbox is ticked) then the form inserts the data exactly as it should. If not all checkboxes are ticked the page returns an error - This is due to the SQL Method trying to insert data which hasnt been passed to it. You can provide default values to the parameters of your Z SQL Method. Alternately, I believe the DTML sqlvar tags can also be given a default behavior. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] max 2 levels of indirection?
Sean Dunn wrote: I’m running Zope 2.0.7, and I’m having a problem.. Consider me a newbie, as I’ve only been using Zope for a few weeks. After boiling the problem down to a test case, it seemed that I couldn’t have a DTML method call a DTML method which then calls a Python script. But then I realized it was a more general problem of max number levels of indirection.. So I can’t have a DTML-DTML-DTML or DTML-DTML-PythonScript. Is this a bug? When I try this, I get a Name Error, which says that the name of the 3^rd level object is not defined. Here’s an example: DTML Method TestA: dtml-var expr=”TestB()” DTML Method TestB: dtml-var expr=”TestC()” DTML Method TestC: Test C has run. If I view TestA, I get the NameError that TestC doesn’t exist. If I view TestB, I get the output “Test C has run”. All objects are in the same folder. Is there some namespace weirdness that I don’t understand? When you call DTML methods directly, they expect to be passed certain parameters, including the namespace. When you simply use the names, this is done implicitly. When calling explicitly, you can lose the namespace if you don't follow the proper convention. I think you'll find that it works if you try:: DTML Method TestA: dtml-var TestB DTML Method TestB: dtml-var TestC DTML Method TestC: Test C has run. For calling DTML explicitly, it usually looks like:: dtml-var expr=”TestC(None, _)” See http://www.plope.com/Books/2_7Edition/AppendixE.stx for why. Also: http://mail.zope.org/pipermail/zope-db/2003-March/001554.html This is one of the good reasons to avoid DTML, by the way. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] Re: dtml-var variable from REQUEST not shown in input tag if it has spaces??
Josef Meile wrote: Hi Thomas, When i just use it as dtml-var sSQL everything is ok. When i use it like : input type=text value=dtml-var sSQL, i get everything until the first space. For example from select * from mytable i get select. I'm not sure, but don't you need to enclose it with double quotation marks? Something like this: input type=text value=dtml-var sSQL You can also try: input type=text value=dtml-sSQL; I suspect this to be the right answer. The way to diagnose this would be to have looked at the page source itself. You would have seen something like:: input type=text value=select * from mytable From this it seems obvious why only 'select' was showing up in the rendered output. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Re: localhost:8080 not found on windows
michael nt milne wrote: Ok, thanks. Yes, Apache would be much better to route traffic through. And also it looks like a complete pain to try and route traffic through IIS. That's my understanding. You can either look up the ASP404 hack or use something like http://www.enfoldsystems.com/Products/EEP Is Apache for windows good? I only have experience of it on UNIX I last ran Apache on Windows back when it was 1.something. It still had a be careful on Windows notice, in fact. I didn't have any problems, but then I wasn't using it very hard. I would assume it's gotten better. Since I am not expecting very high traffic for my site at first I am going to use the Zope server at first. My head is hurting too much just now! Apache is useful for keeping maliciously formed requests and other junk away from Zope. ZServer is capable, but Apache is much more serious. Running Zope exposed to the public network is not the best idea in the world, though you can get away with it. By the way do you have any experience of altering the zope database or adding fields to the registration process on Plone etc? Seems a wee bit tricky and a client wants extra fields etc. See CMFMember. Also, ther's a howto on plone.org about this. There's about four places you have to touch, but it's not such a big deal. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] rendering the contents of ..
David Bear wrote: On 8/1/05, J Cameron Cooper [EMAIL PROTECTED] wrote: David Bear wrote: I am looking at a couple way of producing a qotd solution. one way is to put quotes in a folder. Then use objectvalues on the folder and randomly select one of the items. I get get the objectid. but I don't know what I use to get the 'content' of the object.. what is the method to get the 'rendered' and unrendered content of an object. In this case I'm using objects of type file (setting content type to text/plain) (ofcourse the content is plain text) I may find the using a zpt, html, or stx object will work better. I'm hoping there is a method to get either a rendered view of the file, (if zope knows how to render it) or unrendered, and I'll worry about rendering it elsewhere. The contents of a File object can be gotten at simply by calling it. You sorry to be dense here. Its been a long time since I read the zope book. I have the following code: = from Products.PythonScripts.standard import html_quote import random request = container.REQUEST RESPONSE = request.RESPONSE # Return a string identifying this script. q = container.quotes.objectIds() print random.choice(q)() return printed = But this returns an TypeError, str is not callable. How do I get this code to return a random object from the quotes container? Of course it does. What does 'objectIds' return? Answer: a list of ids (strings) and not objects. If you want objects, you must ask a different way, as another message provides. Also, there's not particular reason to use the 'print' facility. You may simply say:: return random.choice(q)() and get the same effect. --jcc can also get at the underlying data with the 'data' attribute, which is useful if the contents are large (since it provides a 'Pdata' object rather than a string.) This is just as it says in http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/AppendixB.stx Other object types, like those that have to do rendering, you can just call for the rendered content. Methods 'document_src' or 'read' will usually work for the source. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] rendering the contents of ..
David Bear wrote: I am looking at a couple way of producing a qotd solution. one way is to put quotes in a folder. Then use objectvalues on the folder and randomly select one of the items. I get get the objectid. but I don't know what I use to get the 'content' of the object.. what is the method to get the 'rendered' and unrendered content of an object. In this case I'm using objects of type file (setting content type to text/plain) (ofcourse the content is plain text) I may find the using a zpt, html, or stx object will work better. I'm hoping there is a method to get either a rendered view of the file, (if zope knows how to render it) or unrendered, and I'll worry about rendering it elsewhere. The contents of a File object can be gotten at simply by calling it. You can also get at the underlying data with the 'data' attribute, which is useful if the contents are large (since it provides a 'Pdata' object rather than a string.) This is just as it says in http://www.zope.org/Documentation/Books/ZopeBook/2_6Edition/AppendixB.stx Other object types, like those that have to do rendering, you can just call for the rendered content. Methods 'document_src' or 'read' will usually work for the source. --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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] product organization
Nicholas Wieland wrote: As usual, my question is rather simple :) I'd like to know what are the best practices for product organization - for example I have _tons_ of queries to sqlserver, and my main class is becoming less manageble every time I look at it :/ I like the way SQL integrates in Zope, what I don't like is having a giant __init__ and a lot of _sqlSomething at the end of the class. Can I associate queries to something else than a _variable ? Something like a dictionary or a class ? Can I move SQL calls outside the initializer ? I'd prefer to have a class for data access and another one to glue all the parts together, maybe I'm plain wrong but I think that my product would be a lot cleaner. What are the best practices for FS based products ? If you're writing SQL queries attached to a Product and using them in said Product, you should look at ExtZSQL: http://www.zope.org/Members/jccooper/extzsql It was made for precisely this problem. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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-PAS] auth fallback with cookies
Say I have a user in a root acl_users folder (call it 'admin'). I also have a PAS user folder in a sub-object of the root. This PAS is configured to do cookie auth, and users will typically login using a form. Now, if I try to log in as 'admin' in that form, it doesn't work. I think this is why: - credentials are supplied via a form to the PAS cookie auth plugin - there is no such user, so it fails - 'validate' returns None, so Zope goes to the next user folder (which the basic in the root where 'admin' lives) - that one tries to validate but gets nothing: it looks for HTTP basic credentials, but finds nothing, since login is form based Does this sound about right? Anybody have a strategy to get around this? --jcc -- Enfold Systems, LLC http://www.enfoldsystems.com ___ Zope-PAS mailing list Zope-PAS@zope.org http://mail.zope.org/mailman/listinfo/zope-pas
Re: [Zope] getting atachments with python - pop3
Jonathan Salazar Santos wrote: Hi, im making a email client in python for zope, but a im stopped because i cant find the way to get the attacments with python, do you have a idea how can i do this?, i have studied the email package already but is a little confused. A Python-specific list might be more on-topic.' But look at the python modules: http://python.org/doc/lib/module-email.html http://python.org/doc/lib/module-mimetools.html --jcc -- Building Websites with Plone http://plonebook.packtpub.com ___ 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-dev] Re: Listing a groups users via Python and portal_groups
Hitesh Shetty wrote: Im trying to implement a file system in the process i came accross Zope and ZODB however i cant figure out where to start since its important to study ZODB's architecture regards http://www.zope.org/Documentation/Articles Specifically http://www.zope.org/Documentation/Articles/ZODB1 http://www.zope.org/Documentation/Articles/ZODB2 Also http://www.zope.org/Wikis/ZODB/FrontPage http://www.zope.org/Members/adytumsolutions/HowToLoveZODB_PartI And, of course, http://www.zope.org/Documentation/Books/ZopeBook/ None of this was difficult to find. --jcc ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Listing a groups users via Python and portal_groups
Takahashi, Michael wrote: I’m trying to work on a function call using Python that will list the users of any specified group using the function portal_groups. I’ve been able to successfully do this the opposite way by getting the users groups via portal_membership: portal.portal_membership.getAuthenticatedMember().getGroups() Which will return all groups this user is associated with. So I’ve been testing using portal_groups with function calls similar to this: portal.portal_groups.getGroupById(staff).getUsers() Where “staff” is the name of the group. This almost does what I need, but not quite close enough because it lists all groups and all users. Any suggestions or help is greatly appreciated! It acquires 'getUsers' from somewhere, I guess. Group objects have 'getGroupMemberIds' and 'getGroupMembers' methods. You can see this in Products.GroupUserFolder.GroupDataTool.GroupData. the Products.GroupUserFolder.interfaces.portal_groupdata is a bit cleaner, but seems a little behind the times, as it's missing 'getGroupMemberIds'. Note that this isn't a good topic for zope-dev, but more for plone-users. --jcc ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Listing a groups users via Python and portal_groups
Takahashi, Michael wrote: Thanks for the help, I actually figured it out. It turned out that portal.portal_groups.getGroupById(staff).getGroupUsers() was the solution. However, the getGroupUsers() function returns a list of users, but not as strings. So I had to convert the entire call with str() in order to run a comparison. So in the end this is how I achieved what I needed: portal.portal_membership.getAuthenticatedMember().getId() not in \ str(portal.portal_groups.getGroupById(staff).getGroupUsers()) The 'getGroupUsers' is not a good idea in a CMF environment. You should use the methods from the group tools. Like the ones I mentioned by name. One of them even does exactly what you want:: context.portal_groups.getGroupById('group1').getGroupMemberIds() --jcc -Original Message- From: J Cameron Cooper [mailto:[EMAIL PROTECTED] Sent: Thursday, July 21, 2005 12:36 PM To: Takahashi, Michael Cc: zope-dev@zope.org Subject: Re: [Zope-dev] Listing a groups users via Python and portal_groups Takahashi, Michael wrote: I'm trying to work on a function call using Python that will list the users of any specified group using the function portal_groups. I've been able to successfully do this the opposite way by getting the users groups via portal_membership: portal.portal_membership.getAuthenticatedMember().getGroups() Which will return all groups this user is associated with. So I've been testing using portal_groups with function calls similar to this: portal.portal_groups.getGroupById(staff).getUsers() Where staff is the name of the group. This almost does what I need, but not quite close enough because it lists all groups and all users. Any suggestions or help is greatly appreciated! It acquires 'getUsers' from somewhere, I guess. Group objects have 'getGroupMemberIds' and 'getGroupMembers' methods. You can see this in Products.GroupUserFolder.GroupDataTool.GroupData. the Products.GroupUserFolder.interfaces.portal_groupdata is a bit cleaner, but seems a little behind the times, as it's missing 'getGroupMemberIds'. Note that this isn't a good topic for zope-dev, but more for plone-users. --jcc ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope] ZPyIRC and Zope 2.7
David wrote: Hi I installed ZPyIRC version 0.1.3 in Zope 2.7.5 and I get Zope Template Errors on two of the frames when trying to start a chat client. I don't know ZTP very well. (Python is 2.3.5) I was hoping that maybe somebody has fixed the templates for 2.7. Any help very welcome! DR Here a traceback from cwindowlist: Traceback (innermost last): Module ZPublisher.Publish, line 101, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 39, in call_object Module Shared.DC.Scripts.Bindings, line 306, in __call__ Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec Module Products.PageTemplates.PageTemplateFile, line 106, in _exec Module Products.PageTemplates.PageTemplate, line 88, in pt_render PageTemplateFile at /site/chat/stratis/ 4d9d10fad2a83777ee81bbbae6be3f44/cwindowlist Warning: Compilation failed Warning: TAL.HTMLTALParser.NestingError: Open tags html, head, script do not match close tag /div, at line 262, column 50 PTRuntimeError: Page Template has errors. Here a traceback from cuserlist: Traceback (innermost last): Module ZPublisher.Publish, line 101, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 39, in call_object Module Shared.DC.Scripts.Bindings, line 306, in __call__ Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec Module Products.PageTemplates.PageTemplateFile, line 106, in _exec Module Products.PageTemplates.PageTemplate, line 88, in pt_render PageTemplateFile at /site/chat/stratis/ 4d9d10fad2a83777ee81bbbae6be3f44/cuserlist Warning: Compilation failed Warning: TAL.HTMLTALParser.NestingError: Open tags html, head, script do not match close tag /td, at line 32, column 79 PTRuntimeError: Page Template has errors. The HTML is imbalanced. HTMLTidy may help you, or maybe an editor, but you can always count the tags by hand. --jcc ___ 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] Passing a variable to RESPONSE.redirect
Asad Habib wrote: Is it possible to pass a variable to RESPONSE.redirect or does the page name have to be a literal string? I was unable to pass in a variable via the REQUEST object (i.e. REQUEST.get('pageName')) or the SESSION attribute of the REQUEST object (i.e. REQUEST.SESSION.get('pageName')). Any help would be appreciated. Thanks. How do you mean unable? That's not a very good problem description. RESPONSE.redirect is simply a Python method, and it will take any string you can manage, no matter where it comes from. In fact, I think it would be very difficult to do otherwise. You must, of course, pass the value of a variable, and not the variable itself. None of the following pose any problem:: REQUEST.RESPONSE.redirect(http://plone.org;) url = http://plone.org; REQUEST.RESPONSE.redirect(url) def redir(): return http://plone.org; REQUEST.RESPONSE.redirect(redir()) urls = {} urls['plone'] = http://plone.org; REQUEST.RESPONSE.redirect(urls['plone']) REQUEST.RESPONSE.redirect(urls.get('plone', /)) In fact, they should all work identically. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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 upload a file and save it in a physical path
Remy Pinsonnault wrote: Maybe it is a basic question but how can I upload a file and save it anywhere on the server's hard drive? I know how to upload a file to zope's database but not how to save it locally... Anyone can help please? There are several products to do this: LocalFS, ExtFile/ExtImage, ExternalFile, and more. There are other methods (like writing an External Method and using Python's file methods) as well. All of this has been discussed on this list and elsewhere, and are otherwise described on the web. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Zope update
Josef Burger wrote: Hi, I want to update from Zope 2.7.4 to Zope 2.7.6 What is the easiest way? Unfortunately there is no description of how an update of Zope is done. I'm running Plone on it. I tried to newly install Zope 2.7.6 and then copied the backed-up Data.fs file and the content of the Products folder. It didn't work very well. There should be no version conflicts with Plone as I checked on the Plone web site. Didn't work very well is not a good description of a problem. You should be able to replace the existing Zope SOFTWARE_HOME with a new version. (I don't know if over-writing is safe; I wouldn't count on it.) This may be easiest. You should also be able to install Zope in a different location, create a new instance, and copy over the config files, products, and Data.fs of your old instance. (All this is because the instance scripts point to a specific SOFTWARE_HOME. You could also change that.) --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Re: [ZPT] Recursive structures
Nikko Wolf wrote: Ian Bicking wrote: I'm surprised this has never come up for me before, but now I want to render a recursive data structure and I'm at a loss how I might do that in ZPT. Or, what the best workaround would be. E.g.: ['a', 'b', ['c', ['d', 'e']]] Becomes: ul lia/li lib/li ul lic/li ul lid/li lie/li /ul /ul /ul I've made recursive macros before. It's not so different from other recursion techniques. Here's one to render a site tree:: html head title tal:content=template/titleThe title/title /head body Site structure: tal:contain define=location nocall:here div metal:use-macro=template/macros/list / /tal:contain /body /html tal:hidemacro replace=nothing metal:recurse define-macro=list ul li tal:repeat=elt location/objectValues span tal:content=elt/getIdobjectId/span metal:block tal:condition=elt/isPrincipiaFolderish tal:define=location nocall:elt div metal:use-macro=template/macros/list / /metal:recurse /li /ul /metal:recurse /tal:hidemacro It will go from 'context', of course, unless you were to change the definition of 'location' in the page. You can imagine how this would work with a nested list: you just have to have ways of checking containership and getting contents. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Sequencing pages
John Poltorak wrote: On Tue, Jun 28, 2005 at 03:45:01PM -0500, J Cameron Cooper wrote: John Poltorak wrote: If I create individual pages for a website as sub folders of a sites main folder, how do I control the sequence of pages if I automatically generate a set of links to all the folders? I presume that under normal circumstances that sequence would be in alphabetical order of object ID. The standard folder lists its contents in unspecified order. In practice, it's in order of creation (I think.) Creation date sequence seems to explain the order I'm seeing. You can get ordered folders, which support changing the order. In fact, one ships with Zope in recent versions. Look for Folder (Ordered). I've often wondered what 'Folder (Ordered)' was for. Is there an example of its usage I can take a look at anywhere? Make one on your box and look at it. It's not like you can't just delete it. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] TAL and Javascript
Rob Boyd wrote: I'm stuck this, and would appreciate help or pointers. I have a form with 2 selection drop-downs. I want the user's choice of select 1 to drive the options displayed in select 2. When the user makes a selection in select 1, onChange calls a Javascript function that should write select 2 options based on the result of a call to a Python script, passing the select 1 choice as an argument to the Python script. But: I cannot get the Javascript var into the namespace that the TALES expression knows about. Example: script function makeDropDown() { var widget = document.getElementById('select1'); var choice = widget.options[widget.selectedIndex].value; var data = [result of calling Python script 'foo(arg)' with arg=choice] This is impossible, at least in a single request. You are trying to mix server-side and client-side actions. You would have to make a new request on the server with the contents of 'choice' in order to get it processed. This can be done with XML-RPC or some other options; look up 'AJAX' to get a feel for this. Alternately, if you have a known list of values for 'choice' you could generate all the 'data' values for each 'choice' value, encode them in the page's javascript, and look them up client-side. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] TAL and Javascript
Rob Boyd wrote: Thanks to all the responders. It gave me some ideas, but alas no luck. To clarify, I am not trying to do everything in one request. Request one generates the page, a user event (selecting an option from a form) fires another request via javascript. I do not see it creating another request. I see a DOM event. DOM events do not touch the server. like: script tal:content=python:'function getFormats() { var widget = document.getElementById('orgs'); var chosen_org = widget.options[widget.selectedIndex].value; var formats = %s; // build selection 2 options from formats ' % here.getDataFormats(chosen_org) / And then a user event (onChange) calls getFormats. Even with generating the script with a Python script or DTML, the problem remains (for me at least) to get a value from the DOM passed as an argument to a Python script that queries my database. Again, as I understand you, this is impossible. Zope has no access to the DOM. Only to request parameters. This simply cannot work. ZPT can only insert values during page rendering, and the value for 'chosen_org' is decided after the page is rendered and in a browser. Unless you can invent a special time-traveling Javascript, this cannot work. What would work is:: script tal:content=python:'function getFormats() { var widget = document.getElementById('orgs'); var chosen_org = widget.options[widget.selectedIndex].value; var formats = xmlrpcserver.getDataFormats(chosen_org);' / This would actually create another request to Zope, running a script with you're dynamically generated value. Note: I don't know how xml-rpc is done in JavaScript, so I just made something up. Presumably 'xmlrpcserver' is a handle on your Zope server. Also note that every time someone fires off this method, it's a request to the server. (Also note: it doesn't have to be XML-RPC, just some way of asking the server. There are various methods used for this.) You might also make the widget that you chose from be part of a form, and when a value is chosen, the form is submitted. This will get the 'chosen_org' in a request, and your template can then render your second select list with the values from:: 'here.getDataFormats(request.chosen_org)' This is the common 'old-school' way of doing this. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Tweaking Zope DB- and connection parameters
Apache is set to MaxClients 50 Zope.conf has set zserver-threads 5 and zodb_db main cache-size 500 pool-size 25 ... /zodb_db I will note that a cache-size of 500 is ridiculously low. (Even though old versions of Zope shipped configured like this!) It needs to be at least 5000. Frankly, 5 wouldn't be bad for a large, busy site. To optimize your cache-size param, watch the ZODB read/write graph, and keep increasing the cache-size until (a) there's no more effect on reads or (b) you run into memory trouble. Of course, the optimization will slip a little as site usage patterns change. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] loading an url from a restricted python script
santiago wrote: I don't understand still : what I am looking for is a way to read a url whitout having to write an external method. the point is I belived that reading a url in a web application like zope should not require such powerfull tool as external methods or dedicated products.. There is nothing special about either. They are simply how you do things that are not anticipated by the framework (and screen-scraping isn't that common). Many people seem to have placed artificial walls around the use of External Methods, but there's no good reason for this; they take about 10 seconds more to set up than TTW Python scripts. Look at KebasData: if it works for you it may save you a lot of time. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Sequencing pages
John Poltorak wrote: If I create individual pages for a website as sub folders of a sites main folder, how do I control the sequence of pages if I automatically generate a set of links to all the folders? I presume that under normal circumstances that sequence would be in alphabetical order of object ID. The standard folder lists its contents in unspecified order. In practice, it's in order of creation (I think.) You can get ordered folders, which support changing the order. In fact, one ships with Zope in recent versions. Look for Folder (Ordered). What I did before ordered folders was to give each object a property (like 'sort_order') with an integer value designating it's place, and then sort the list on that property. Not terribly efficient, though using the catalog would help. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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] Reading lines from a Zope File object
John Poltorak wrote: What function is used to read lines from a Zope File object using Python? Is there any example of this anywhere? Doing a search for 'python read zope object' is just too generic to find any python code to do this. You can get the main contents of a File with the 'data' attribute. It returns a string. You can ask a string 'splitlines' among other methods: http://python.org/doc/lib/string-methods.html You may also be interested in 'split'. --jcc -- Building Websites with Plone http://plonebook.packtpub.com/ Enfold Systems, LLC http://www.enfoldsystems.com ___ 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 )