RE: [Zope-dev] Zope 2.1.6 ZCatalog: minor bug, missing find import -- with patch
I just found a minor bug in Zope 2.1.6's ZCatalog (distribution). "ZCatalog.py" does not import "find". If the "containing" field contains a value, a NameError exception is raised. Patch appended. Dieter Thanks for the report - it looks like this was already fixed for 2.2. Brian Lloyd[EMAIL PROTECTED] Software Engineer 540.371.6909 Digital Creations http://www.digicool.com ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
RE: [Zope-dev] Ending up with a wrapped object through the web?
When importing the .zexp, I get an "Attempt to store a wrapped persistent object" error. This is really puzzling, because I'm not sure how a completely through-the-web Product would have a wrapped object stored in it. I tried removing the PythonMethods to see if they were stored in an unusual way, and this did not change the behavior... It's not just you - I've been unable to get any imports to work in current-cvs. Anthony Hi guys - If you are using CVS, you need to do an update in ZODB to update the coptimizations.c file then rebuild the coptimizations module. That should fix the problem... Brian Lloyd[EMAIL PROTECTED] Software Engineer 540.371.6909 Digital Creations http://www.digicool.com ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Ending up with a wrapped object through the web?
If you are using CVS, you need to do an update in ZODB to update the coptimizations.c file then rebuild the coptimizations module. That should fix the problem... That did the trick. One oddity, though: I had to reauthenticate as the superuser to do it. Shouldn't a Manager be able to import to Control_Panel/Products? Kevin ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Z SQL: optional isn't?
On Tue, 30 May 2000 17:09:20 +1000 (EST) you wrote: I like the optional attribute. I'd like to see it do more than sit idle in the code. You don't have to do the typechecking in the 'arguments' box if you don't want. eg. in your arguments section: course="" subject="" O.k., it appears that I can still use that with integers. I can live with that. I don't like setting an integer to what appears to be a string, but it does work. select * from enrolments dtml-sqlgroup where dtml-sqltest course type=int optional dtml-sqltest subject type=nb optional /dtml-sqlgroup The definition of the 'optional' tag from the docs might help here: '''A flag indicating if the test is optional. If the test is optional and no value is provided for a variable, or the value provided is an invalid empty string, then no text is inserted''' I should have been more specific. I was referring to the "optional" attribute of the *argument* (not the sqltest). I found that it's coded in Aqueduct.py, but I'm not aware of any way to set it from the Z SQL method form. Hmm... looking at this definition, it seems you have found a bug (but setting the default value to "" in the arguments section will provide a workaround). Or maybe 'no value provided' means 'is None'. Anyone from DC want to provide a ruling? :-) Originally, after reading the above ("optional" in sqltest) definition, I'd hoped to be able to simply list the variable in the arguments section and make it optional in the sqltest. After looking at the code, I determined that this was not a reasonable expectation. (What if I used two sqltests and it was only optional in one?) In the course of investigating this, however, I found that an optional attribute for an argument is recognized. It seems like this is what should be used. I can live with it either way, but I think that optional is better than integer_var="". I'd like to see whatever is chosen documented, and I'd like to see "optional" removed from Aqueduct.py if it's not going to be supported. (Maybe it's used by something else?) --kyler ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] 'import' busted in current-cvs.
Ok dokey, I've done a rebuild, and now, when trying to import stuff as a user with 'Manager' privs, I get... You are not authorized to access RoleManager. Traceback (innermost last): File /opt/zope/zope-cvs/./lib/python/ZPublisher/Publish.py, line 224, in publish_module File /opt/zope/zope-cvs/./lib/python/ZPublisher/Publish.py, line 189, in publish File /opt/zope/zope-cvs/./lib/python/ZPublisher/Publish.py, line 175, in publish File /opt/zope/zope-cvs/Zope2/lib/python/ZPublisher/mapply.py, line 160, in mapply (Object: manage_importObject) File /opt/zope/zope-cvs/./lib/python/ZPublisher/Publish.py, line 112, in call_object (Object: manage_importObject) File /opt/zope/zope-cvs/lib/python/OFS/ObjectManager.py, line 525, in manage_importObject (Object: RoleManager) File /opt/zope/zope-cvs/lib/python/OFS/CopySupport.py, line 371, in _verifyObjectPaste (Object: RoleManager) File /opt/zope/zope-cvs/./lib/python/AccessControl/SecurityManager.py, line 147, in validateValue File /opt/zope/zope-cvs/lib/python/AccessControl/ZopeSecurityPolicy.py, line 212, in validate Unauthorized: (see above) As an aside - should issues with current-cvs go into the Collector? Many times it seems stuff is fixed well before the Collector gets seen to. Anthony -- Anthony Baxter [EMAIL PROTECTED] It's never too late to have a happy childhood. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Z SQL: optional isn't?
On Mon, 29 May 2000, Kyler B. Laird wrote: This is not the same functionality as is provided by the "optional" attribute. How would I use it with an integer, for example? I don't want a default value; I want the option of not having the value set at all. I like the optional attribute. I'd like to see it do more than sit idle in the code. You don't have to do the typechecking in the 'arguments' box if you don't want. eg. in your arguments section: course="" subject="" And your method: select * from enrolments dtml-sqlgroup where dtml-sqltest course type=int optional dtml-sqltest subject type=nb optional /dtml-sqlgroup The definition of the 'optional' tag from the docs might help here: '''A flag indicating if the test is optional. If the test is optional and no value is provided for a variable, or the value provided is an invalid empty string, then no text is inserted''' Hmm... looking at this definition, it seems you have found a bug (but setting the default value to "" in the arguments section will provide a workaround). Or maybe 'no value provided' means 'is None'. Anyone from DC want to provide a ruling? :-) -- Stuart Bishop Work: [EMAIL PROTECTED] Senior Systems Alchemist Play: [EMAIL PROTECTED] Computer Science, RMIT University ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] CatalogAwareness for RackMountables
I've been playing around with ZPatterns, and I must say it's very cool - finally you can mix ZCatalog and SQL storage. CatalogAwareness is slightly different than regular Zope objects in that you have to find the ZCatalog in the Rack's acquisition path, but that's about it. The absolute_url function I define here should be moved to the RackMountable class since it may be useful in other situations. - from Products.ZCatalog.CatalogAwareness import CatalogAware from Products.ZPatterns.Rack import _v_rack, RackMountable class RMCatalogAwareMixIn(CatalogAware): """ CatalogAwareness for RackMountables. You need to inherit from this class before RackMountable. Objects are NOT automatically indexed, because no rack has been defined when we're in __init__. """ def absolute_url(self, relative=0): """ URL for catalog-awareness """ return "%s/%s" % (self._v_rack.absolute_url(relative), self.id) def index_object(self): """A common method to allow Findables to index themselves.""" if hasattr(self._v_rack, self.default_catalog): getattr(self._v_rack, self.default_catalog).catalog_object(self, self.url()) def unindex_object(self): """A common method to allow Findables to unindex themselves.""" if hasattr(self._v_rack, self.default_catalog): try: getattr(self._v_rack, self.default_catalog).uncatalog_object(self.url()) except: pass def manage_delete(self, _v_rack=_v_rack): """ Uncatalog this object and then delete it """ self.unindex_object() return RackMountable.manage_delete(self, _v_rack) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] CatalogAwareness for RackMountables
Sorry if this arrives twice, but mailing lists seem to have swallowed my earlier mail. I've been playing around with ZPatterns, and I must say it's very cool - finally you can mix ZCatalog and SQL storage. CatalogAwareness is slightly different than regular Zope objects in that you have to find the ZCatalog in the Rack's acquisition path, but that's about it. The absolute_url function I define here should be moved to the RackMountable class since it may be useful in other situations. - from Products.ZCatalog.CatalogAwareness import CatalogAware from Products.ZPatterns.Rack import _v_rack, RackMountable class RMCatalogAwareMixIn(CatalogAware): """ CatalogAwareness for RackMountables. You need to inherit from this class before RackMountable. Objects are NOT automatically indexed, because no rack has been defined when we're in __init__. """ def absolute_url(self, relative=0): """ URL for catalog-awareness """ return "%s/%s" % (self._v_rack.absolute_url(relative), self.id) def index_object(self): """A common method to allow Findables to index themselves.""" if hasattr(self._v_rack, self.default_catalog): getattr(self._v_rack, self.default_catalog).catalog_object(self, self.url()) def unindex_object(self): """A common method to allow Findables to unindex themselves.""" if hasattr(self._v_rack, self.default_catalog): try: getattr(self._v_rack, self.default_catalog).uncatalog_object(self.url()) except: pass def manage_delete(self, _v_rack=_v_rack): """ Uncatalog this object and then delete it """ self.unindex_object() return RackMountable.manage_delete(self, _v_rack) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
RE: [Zope-dev] Ending up with a wrapped object through the web?
That did the trick. One oddity, though: I had to reauthenticate as the superuser to do it. Shouldn't a Manager be able to import to Control_Panel/Products? worse yet - you can't import _at_ _all_ outside the control panel. A manager can't access RoleManager. superuser can't own objects. Ok - this should be fixed now in CVS. Part of the machinery that checks whether the user is really allowed to create the type of object they are importing was failing spuriously because it expected the object it was checking to be wrapped (which isn't the case when checking an imported object to see if it can be added). Update AccessControl/User.py to get the fix. Brian Lloyd[EMAIL PROTECTED] Software Engineer 540.371.6909 Digital Creations http://www.digicool.com ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Ending up with a wrapped object through the web?
"Kevin Dangoor" wrote If you are using CVS, you need to do an update in ZODB to update the coptimizations.c file then rebuild the coptimizations module. That should fix the problem... That did the trick. One oddity, though: I had to reauthenticate as the superuser to do it. Shouldn't a Manager be able to import to Control_Panel/Products? worse yet - you can't import _at_ _all_ outside the control panel. A manager can't access RoleManager. superuser can't own objects. *sigh* Anthony, still trying to get XMLWidgets installed... ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Memory 2.1.4-2.1.6 a.k.a. how to get objects out of the cache
Bill Anderson: Jason Spisak wrote: [...] That's funny that I am experienceing the same symptoms as you, but my installation is totally different. I'm not using GUF, or any DA's, and I'm running on RH 6.1. We really need to figure this out as a community. I am willing to try just about anything short of shipping my machine somewhere off premisis. ;) Ok, let's dig up some more info ( or perhaps I missed it ). Server setup, as in pcgi/Zserver/Apache w/proxypass, etc? Nothing but straight ZServer/Medusa. Compiled on the machine, or binary distribution? Zope 2.1.1 binary distro. Not sure how it got to be 2.1.4/2.1.6, might have been the other person having problems, or my mistake. But the changes in 2.1.4 and 2.1.6 aren't anything in the Object publisher or Medusa so I don't think it makes a difference. If source, did you start with a clean tree, or did use use the diff upgrade, or did you use a new 2.1.6 tarball, and drop it on top of the 2.1.4 install? Bill RH 6.1 2.2.12smp kernel Hardware RAID dual 350mhz Xenon 1 gig ram Vanilla Zope with no DA's, no Apache. BTW, Matthew gave me some advice last Friday to use the setcheckinterval line in z2.py and the performance gains are quite impressive. Anyone who is running smp should try it. All my best, Jason Spisak CIO HireTechs.com 6151 West Century Boulevard Suite 900 Los Angeles, CA 90045 P. 310.665.3444 F. 310.665.3544 Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Calling DTML methods from Python
Andrew Wilcox wrote: OK, I'll set up a DTML Quick Reference on the ZDP site right now! It's link is http://zdp.zope.org/portals/beginners/DQR We should be able to get this in place. Contributions sought! Do you want me to include my text? Where would it go? Yes. Hm, this is already rather specific. I'll paste it into a section (Topic) called Calling DTML. We may need to revise the topics afterwards, but that doesn't really matter now. Note that you can make your own topics (at least I think you can). Last night I couldn't finish it, but I thought the idea would be there as is. I'll try and work on it a bit today. thanks Rik ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] Memory issue 2.1.1 request for info
Matthew T. Kromer: I'm extremely curious that the cache doesn't clear when you restart Zope. One would normally not expect to see this. Can you do a "ps xauww" and mail it to me / the list? USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 1104 72 ?SMay26 0:05 init [3] root 2 0.0 0.0 00 ?SW May26 0:03 [kflushd] root 3 0.0 0.0 00 ?SW May26 0:02 [kupdate] root 4 0.0 0.0 00 ?SW May26 0:00 [kpiod] root 5 0.0 0.0 00 ?SW May26 0:03 [kswapd] root 6 0.0 0.0 00 ?SW May26 0:00 [mdrecoveryd] root 9 0.0 0.0 00 ?SW May26 0:00 [scsi_eh_0] bin330 0.0 0.0 11960 ?SW May26 0:00 [portmap] root 359 0.0 0.0 1156 144 ?SMay26 0:00 syslogd -m 0 root 370 0.0 0.0 13960 ?SW May26 0:00 [klogd] daemon 386 0.0 0.0 1128 104 ?SMay26 0:00 /usr/sbin/atd root 402 0.0 0.0 1304 108 ?SMay26 0:00 crond root 418 0.0 0.0 11240 ?SW May26 0:00 [inetd] root 434 0.0 0.0 11760 ?SW May26 0:00 [lpd] root 457 0.0 0.0 22040 tty1 SW May26 0:00 [login] root 458 0.0 0.0 10760 tty2 SW May26 0:00 [mingetty] root 459 0.0 0.0 10760 tty3 SW May26 0:00 [mingetty] root 460 0.0 0.0 10760 tty4 SW May26 0:00 [mingetty] root 461 0.0 0.0 10760 tty5 SW May26 0:00 [mingetty] root 462 0.0 0.0 10760 tty6 SW May26 0:00 [mingetty] zope 465 0.0 0.0 17400 tty1 SW May26 0:00 [bash] root 498 0.0 0.0 2360 32 ?SMay26 0:00 [in.rlogind] root 499 0.0 0.0 22880 pts/0SW May26 0:00 [login] jason 500 0.0 0.0 1752 484 pts/0SMay26 0:00 -bash zope 1992 0.0 0.0 31880 tty1 SW May29 0:01 [python] zope 1996 0.0 22.2 220152 216340 tty1 SMay29 1:33 /Zope/bin/python /Zope/z2.py -t 10 -D zope 1998 0.0 22.2 220152 216340 tty1 SMay29 0:02 /Zope/bin/python /Zope/z2.py -t 10 -D zope 1999 0.0 22.2 220152 216340 tty1 SMay29 0:00 /Zope/bin/python /Zope/z2.py -t 10 -D zope 2000 0.0 22.2 220152 216340 tty1 SMay29 0:00 /Zope/bin/python /Zope/z2.py -t 10 -D zope 2001 1.4 22.2 220152 216340 tty1 SMay29 23:39 /Zope/bin/python /Zope/z2.py -t 10 -D zope 2002 0.0 22.2 220152 216340 tty1 SMay29 0:13 /Zope/bin/python /Zope/z2.py -t 10 -D zope 2003 0.0 22.2 220152 216340 tty1 SMay29 0:08 /Zope/bin/python /Zope/z2.py -t 10 -D zope 2004 0.0 22.2 220152 216340 tty1 SMay29 0:00 /Zope/bin/python /Zope/z2.py -t 10 -D zope 2005 0.0 22.2 220152 216340 tty1 SMay29 0:42 /Zope/bin/python /Zope/z2.py -t 10 -D zope 2006 0.0 22.2 220152 216340 tty1 SMay29 0:00 /Zope/bin/python /Zope/z2.py -t 10 -D zope 2007 0.0 22.2 220152 216340 tty1 SMay29 0:00 /Zope/bin/python /Zope/z2.py -t 10 -D zope 2008 1.1 22.2 220152 216340 tty1 SMay29 17:55 /Zope/bin/python /Zope/z2.py -t 10 -D root 2474 0.0 0.0 23600 ?SW 09:35 0:00 [in.rlogind] root 2475 0.0 0.0 22920 pts/1SW 09:35 0:00 [login] jason 2476 0.0 0.0 17480 pts/1SW 09:35 0:00 [bash] jason 2610 0.0 0.0 2508 864 pts/0R11:41 0:00 ps xauww The memory values are significantly smaller % for the threads than they were orignially. Shane had me set the "Target Time Between Accesses" to 3 seconds. I have futzed with it and now have it at 30 seconds. Also, the "target Size" was at 20,000 objects and now I have it at 10,000. Also a "free" would be helpful too. total used free sharedbuffers cached Mem:971452 966896 4556 2448 627104 92608 -/+ buffers/cache: 247184 724268 Swap: 128480 6732 121748 Under linux, shared memory is amongst the last to be scavenged in low memory conditions. I'm curious to see if something is allocating that memory as shared or what. You might also try an "ipcs -a" command to make sure it's not SYSV type shared memory (which can stick around even after a process exits.) -- Shared Memory Segments key shmid owner perms bytes nattchstatus -- Semaphore Arrays key semid owner perms nsems status -- Message Queues key msqid owner perms used-bytes messages Things are moving pretty speedilly since I adjusted the setcheckinterval. Thanks Matt!! I'll send the output of these commands after a Zope exit at the end of our intranet business here today. Just think, with ZEO I won't have
[Zope-dev] New Help System in 2.2
Michel, I was just browsing the help system and can I just say it is terrfic. The .py files especially. Not that python isn't that easy to read, but having the ZQR type stuff handy online is a huge win. Is that stuff updated fro mthe source on the fly? Greatfully, Jason Spisak CIO HireTechs.com 6151 West Century Boulevard Suite 900 Los Angeles, CA 90045 P. 310.665.3444 F. 310.665.3544 Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Cataloging LocalFS content
I think, cataloging "LocalFS" content would be nice. I have the following problems with it: 1. "LocalFS" defines various meta types: "Local File System", "Local Directory" and "Local File". Only "Local File System" is a "true" meta type which should appear in the available objects list of ObjectManager's. However, I may well be useful, to select the others, too, in for "find" and cataloging. This could be done, but my concern is that when changes are made to the file system this will cause the catalog to be out of synch until you re-index. How does this work with Zope objects? If you move or delete a Zope object that is cataloged does it automatically update the catalog? 2. ZCatalog uses "bobo_modification_time" in its meta table and for indexing. For "LocalFS" content, this is not the best modification time to use for indexing. It would be nice, if "bobo_modification_time" could somehow be synchronized with the object's modification time in the file system. With the most recent version of LocalFS, the bobobase_modification_time should be the same as the object's mtime in the file system. Please let me know the details if you're seeing anything different. --jfarr ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] New Help System in 2.2
Shane Hathaway wrote: 1) Enahnce the permissions system to include "Accessible via HTTP", "Accessible via FTP", etc. Add to that 'execute in DTML method' ( + python methods perl methods;-) and you've got what I've been asking for for so long I've atoped trying :( This would prevent the nasty ability to do things like: http://www.zope.org/standard_html_footer This should not be accessible through HTTP, but should be through FTP and DTML... cheers, Chris ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Cataloging LocalFS content
I think, cataloging "LocalFS" content would be nice. I have the following problems with it: 1. "LocalFS" defines various meta types: "Local File System", "Local Directory" and "Local File". Only "Local File System" is a "true" meta type which should appear in the available objects list of ObjectManager's. However, I may well be useful, to select the others, too, in for "find" and cataloging. This could be done, but my concern is that when changes are made to the file system this will cause the catalog to be out of synch until you re-index. How does this work with Zope objects? If you move or delete a Zope object that is cataloged does it automatically update the catalog? Only if it is 'Catalog Aware', otherwise you'll have to update it manually. In the case of LocalFS this will always be the only way. Rik ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] New Help System in 2.2
Shane Hathaway writes: Jason Spisak wrote: I was just browsing the help system and can I just say it is terrfic. The .py files especially. Not that python isn't that easy to read, but having the ZQR type stuff handy online is a huge win. Is that stuff updated from the source on the fly? Almost. It's actually written in separate files that mirror the structure of the real source. And I'd like to bring up the point that I wonder why it is written that way. Wouldn't it make more sense to self-document the source? If the issue is that some methods shouldn't be callable from a URL, there are better solutions to that problem (this is written to DC mainly): Is this the reason that it's not pulling the docs from the source? That's not a good idea. With all the effort that Michel put in to work around not documenting in the source, he could have fixed it so that it pulled the docs from the source on the fly without effecting the URL access. 1) Enahnce the permissions system to include "Accessible via HTTP", "Accessible via FTP", etc. 2) Use an underscore as the first character of a docstring to indicate a non-URL-callable method. I just looked at it and that seems like doing work twice. Why not just document your source? Wonderingly, Jason Spisak CIO HireTechs.com 6151 West Century Boulevard Suite 900 Los Angeles, CA 90045 P. 310.665.3444 F. 310.665.3544 Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] CatalogAwareness for RackMountables
At 12:53 PM 5/30/00 +0300, Itamar Shtull-Trauring wrote: I've been playing around with ZPatterns, and I must say it's very cool - finally you can mix ZCatalog and SQL storage. CatalogAwareness is slightly different than regular Zope objects in that you have to find the ZCatalog in the Rack's acquisition path, but that's about it. IMHO, you don't need to keep referring to self._v_rack to do the cataloging as described, so long as you retrieve your objects from a Specialist; then the acquisition path is via the Specialist. I would suggest that you modify your patches somewhat to reflect this, and use only self.* attributes, not self._v_rack.*. It will improve your forward-compatibility with 0.4.0. The absolute_url function I define here should be moved to the RackMountable class since it may be useful in other situations. I have to disagree with this, since the standard Zope absolute_url method will work correctly, so long as you access a RackMountable by traversing (via bobo_traverse) from a Specialist. If you would like to make your work easier with version 0.3.0, it would be best for you to move the __of__ wrapping from Specialist.__bobo_traverse__() to Specialist.getItem(), as I have done in the working copy of 0.4.0. This will ensure that whenever you retrieve a rackmountable from a Specialist, it will be wrapped in context of the Specialist. Then, by deriving your classes from RackMountable and CatalogAware, you need only adjust for the absence of add and delete hooks. And you'll only need to adjust for that until 0.4.0 makes add/change/delete hooks available for indexing agents. I don't know if there will be a Catalog IndexAgent released with 0.4.0 yet, but there should be one eventually (or perhaps someone will contribute one). ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] New Help System in 2.2
At 09:09 PM 5/30/00 +, Jason Spisak wrote: Shane Hathaway writes: Jason Spisak wrote: I was just browsing the help system and can I just say it is terrfic. The .py files especially. Not that python isn't that easy to read, but having the ZQR type stuff handy online is a huge win. Is that stuff updated from the source on the fly? Almost. It's actually written in separate files that mirror the structure of the real source. And I'd like to bring up the point that I wonder why it is written that way. Wouldn't it make more sense to self-document the source? If the issue is that some methods shouldn't be callable from a URL, there are better solutions to that problem (this is written to DC mainly): Is this the reason that it's not pulling the docs from the source? That's not a good idea. With all the effort that Michel put in to work around not documenting in the source, he could have fixed it so that it pulled the docs from the source on the fly without effecting the URL access. 1) Enahnce the permissions system to include "Accessible via HTTP", "Accessible via FTP", etc. 2) Use an underscore as the first character of a docstring to indicate a non-URL-callable method. I just looked at it and that seems like doing work twice. Why not just document your source? I just talked to Amos and Michel last Friday about that and they researched for a long time, whether it would be better to document the source or to have different files. They both decided it is the best to have the documentation separately. I believe that they looked at the issue from all angles and had good reasons, why they went with the current way. Furthermore, the help system will become even more than just the screen help. The .py files you see, are just the start of the new API documentation. Furthermore, we will include a new DTML reference soon. Do you know about anything else, that should be included? Regards, Stephan -- Stephan Richter CBU - Physics and Chemistry Web2k - Web Design/Development Technical Project Management ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
[Zope-dev] ZDOM alpha release 2
See release notes for changes (installation process simplified w/ release of 4DOM/4XSLT/4XPATH): -- Chimezie Thomas-Ogbuji Consultant Fourthought Inc. (303) 583 9900 ext 104 [EMAIL PROTECTED] ZDOM is the result of a collaborative venture by Digital Creations and Fourthought Inc. to integrate the W3C Document Object Model interface with Zope, allowing effortless and familiar traversal of a Zope heirarchy. The current alpha release is based on Fourthought's 4DOM , which is one component of Fourthought's 4Suite. Fourthought provides custom technological solutions based on open technologies. 4Suite is a powerful set of Python tools developed by Fourthought for Web-based applications in areas such as Intranets, E-Commerce and knowledge-management. Elements of 4Suite have been adopted as core XML technologies in Zope and in the Python XML distribution The necessary files (which are all available on our ftp server: ftp.fourthought.com) are ftp://ftp.fourthought.com/pub/mirrors/python4linux/redhat/i386/python-xml-nodom-0.5.4-1.i386.rpm (Py-XML w/out DOM) ftp://ftp.fourthought.com/pub/mirrors/python4linux/redhat/i386/4DOM-0.10.0-1.noarch.rpm (4DOM core) ftp://ftp.fourthought.com/pub/4Zope/ZDOM-dist.tgz (ZDOM) ftp://ftp.fourthought.com/pub/4Zope/Zope-ZDOM-Patch (patch file for Zope 2.1.6) OR http://www.zope.org/Members/anthony/patches/4ZDOM-vs-CVS-0512.patch (patch file for CVS/alpha 2.2 Zope) Documentation: ftp://ftp.fourthought.com/pub/4Zope/INSTALL.txt (the installation instructions) ftp://ftp.fourthought.com/pub/4Zope/Readme.txt (short description of ZDOM) ftp://ftp.fourthought.com/pub/4Zope/Release.txt (release notes) links: Fourthought: http://fourthought.com 4Suite: http://fourthought.com/4Suite/ DOM 2 Spec: http://www.w3.org/TR/2000/CR-DOM-Level-2-2307/ Zope http://www.zope.org contact: [EMAIL PROTECTED] Installing ZDOM --- This document describes installing ZDOM on Unix. Important Notes ZDOM REQUIRES ZOPE AND PYTHON 1.5.2! Depending on which Zope version you wish to add ZDOM to, there are two patches to download 1) ftp://fourthought.com/pub/4Zope/Zope-ZDOM-Patch (patches Zope 2.1.6) 2) http://www.zope.org/Members/anthony/patches/4ZDOM-vs-CVS-0512.patch (Anthony Baxter's patch which works on the CVS source tree as of 5/16) ftp://ftp.fourthought.com/pub/mirrors/python4linux/redhat/i386/4DOM-0.10.0-1.noarch.rpm (4DOM core) ftp://ftp.fourthought.com/pub/4Zope/ZDOM-dist.tgz (ZDOM) ftp://ftp.fourthought.com/pub/4Zope/Zope-ZDOM-Patch (patch file for Zope 2.1.6) OR http://www.zope.org/Members/anthony/patches/4ZDOM-vs-CVS-0512.patch (patch file for CVS/alpha 2.2 Zope) Installing First download these files from our FTP server: /pub/mirrors/python4linux/redhat/i386/python-xml-nodom-0.5.4-1.i386.rpm /pub/mirrors/python4linux/redhat/i386/4DOM-0.10.0-1.noarch.rpm /pub/4Zope/ZDOM-dist.tgz /pub/4Zope/Zope-ZDOM-Patch OR http://www.zope.org/Members/anthony/patches/4ZDOM-vs-CVS-0512.patch Install the rpms and decompress ZDOM-dist.tgz somewherer in your PYTHONPATH Install and build Zope 2.1.6 if not already done. This is required for the components to work. The following will install the patches to Zope objects to allow manipulation of Zope object via the DOM interface: (the Zope2.1.6 patch assumes that the Zope src files reside in a 'Zope' directory so a symbolic link is necessary) ln -s [Zope install dir] Zope cd (parent directory of Zope install dir) -- if necessary patch -p0 (location of dowloaded files)/Zope-ZDOM-Patch OR 4ZDOM-vs-CVS-0512.patch Then add '(zope install dir)/lib/python' to your PYTHONPATH. RELEASE NOTES - 5/30/00 changed setAttributeNodeNS to check for aq_base and set to None if it doesn't exist (since _setProperty expects aquisition to be set up -- but might not be necessarily so since an element can be created and attributes can be added WITHOUT it having a parent yet) redirected computed attributes to instance methods so DOM interfaces can be overode added check for aq_base in setAttributeNodeNS (sets to None if it doesnt exist) 5/10/00 ZDOM alpha supports to complete DOM Level 2 Specification (http://www.w3.org/TR/DOM-Level-2/) ZDOM maps the DOM interface to Zope, like so: childNodes - objectValues() mappable subset of DOM 2 Interface - attributes - propdict() parentNode - self.aq_parent Default implmentation of both objectValues() and propdict() are provided on SImpleItem.Item for Zope Objects that do not implement these interfaces. All Zope objects support the DOM Level 2 spec through the inheritence of SimpleItem.Item from Element. All objects (except as noted below) created by the use of the DOM interface (i.e., NodeLists, NamedNodeMaps, childNodes for Attr) are transient. All Zope
[Zope-dev] XMLDocument beta release 3
See release notes for changes (installation process simplified w/ release of 4DOM/4XSLT/4XPATH): -- Chimezie Thomas-Ogbuji Consultant Fourthought Inc. (303) 583 9900 ext 104 [EMAIL PROTECTED] XMLDocument beta is a collection of Zope products and python tools that integrate XML into Zope, above and beyond the current XMLDocument product. Like ZDOM, it is the result of a collaborative venture by Digital Creations and Fourthought Inc. XmlDocument This is a Zope product that wraps XML content for use in Zope. In many ways it behaves similarly to the original XMLDocument, except it only creates a single Zope object upon import or creation. XMLImporter This python module allows users to externally import XML content into the Zope database in a 'controlled' manner. The user has full range of control over import parameters. XSLT Method This is a Zope product that wraps an XSLT stylesheet for use in Zope. Like a DTML method, it can be invoked on a ClobXmlDocument instance and return the resulting XSLT transformation. Fourthought provides custom technological solutions based on open technologies. 4Suite is a powerful set of Python tools developed by Fourthought for Web-based applications in areas such as Intranets, E-Commerce and knowledge-management. Elements of 4Suite have been adopted as core XML technologies in Zope and in the Python XML distribution links: Fourthought: http://fourthought.com 4Suite: http://fourthought.com/4Suite/ DOM 2 Spec: http://www.w3.org/TR/2000/CR-DOM-Level-2-2307/ Zope http://www.zope.org contact: [EMAIL PROTECTED] Installing XMLDocument beta --- This document describes installing XMLDocument beta on Unix. Important Notes XMLDocument requires 4DOM which is covered by the ZDOM installation. Simply installing ZDOM should resolve this dependency XMLDocument also requires 4XPath and 4XSLT You can download the rpms from here: ftp://ftp.fourthought.com/pub/mirrors/python4linux/redhat/i386/4XPath-0.9.0-1.i386.rpm ftp://ftp.fourthought.com/pub/mirrors/python4linux/redhat/i386/4XSLT-0.9.0-1.i386.rpm Installing Download these files from our FTP server (ftp.fourthought.com): /pub/4Zope/XMLDocument/XMLDocument-beta.tgz /pub/4Zope/XMLDocument/XMLImporter-beta.tgz Installing XMLDocument and XSLTMethod: decompress XMLDocument-beta.tgz to your Zope directory Installing Demonstration: Import the testfolder.zexp file in $Zopeinstalldir$/Extensions. Point your browser to where you imported testfolder in the zope heirarchy and follow the directions. NOTE: The demonstration cyclicaly creates and destroys a ZDOM heirarchy in testfolder/, so if you stop it at mid point it may break if you try to restart it (if it's broken run the reset DTML Method: which simply removes folder1, folder2, and ZDOMtester) Installing XMLImporter: decompress XMLImporter-beta.tgz to an arbitrary directory. make sure (Zope install directory)/lib/python is in your PYTHONPATH * read the python files in test_suite for examples on how to use XMLImporter Assuming you've satisfied the dependencies, you should be done! questions? email: [EMAIL PROTECTED] RELEASE NOTES 5/30/2000 1) Solved __call__ problem, XSLTMethods can be invoked programatically 2) Added a default view for XMLDocuments that can return the XML as: syntax highlighted HTML raw XML plain text this can be specified by the output property 3) fixed the copy paste bug 4) added demonstration/example to package 5/16/2000 Moved ClobXMLDocument and XSLTMethod to seperate products changed ClobXMLDocument to XMLDocument ___ XMLDocument beta supports the import and manipulation of XML files in Zope through the use of XSLT. See (XPath: http://www.w3.org/TR/1999/REC-xpath-19991116, and XSLT: http://www.w3.org/TR/1999/REC-xslt-19991116) XMLImporter is currently used as a python based tool to input XML files as Zope Objects. The mapping functionality and XSLT transform are used to manipulate the incomming XML stream into a set of Zope Objects. The transform is applied to the incoming XML to allow manipulation and compression of the incomming XML. See http://216.164.72.7:7780/Wiki/Members/jim/ZDOM/InitialNotes under the heading optimization. The final set of objects created by XMLImporter is defined by the mapping dictionary where keys are the tagNames to be created, and the values are references to python classes. A current limitation of the system is that Zope must not be running during an import. Clob XML Document is a Zope Object that represents a complete XML document. Interfaces are provided to edit the content of the document, and modify how the document is displayed when viewed. XSLTMethod is a Zope Object that applies an XSLT transform to an object. An XSLTMethod can be accessed as any other method of an object. With the ZDOM pakage installed, the XSLTMethod can be
Re: [Zope-dev] Memory 2.1.4-2.1.6 a.k.a. how to get objects out of the cache
Jason Spisak wrote: Bill Anderson: Jason Spisak wrote: [...] That's funny that I am experienceing the same symptoms as you, but my installation is totally different. I'm not using GUF, or any DA's, and I'm running on RH 6.1. We really need to figure this out as a community. I am willing to try just about anything short of shipping my machine somewhere off premisis. ;) Ok, let's dig up some more info ( or perhaps I missed it ). Server setup, as in pcgi/Zserver/Apache w/proxypass, etc? Nothing but straight ZServer/Medusa. Cool, eliminates suspects. Compiled on the machine, or binary distribution? Zope 2.1.1 binary distro. Not sure how it got to be 2.1.4/2.1.6, might have been the other person having problems, or my mistake. But the changes in 2.1.4 and 2.1.6 aren't anything in the Object publisher or Medusa so I don't think it makes a difference. Have you considered trying a source-compile setup? There may have been something in the original binary that gets triggered when dynamically linking (does it do that? I haven't run a binary Zope distribution) to the libraries on your machine. I have witnessed this with X. RH 6.1 2.2.12smp kernel Hardware RAID dual 350mhz Xenon 1 gig ram Vanilla Zope with no DA's, no Apache. BTW, Matthew gave me some advice last Friday to use the setcheckinterval line in z2.py and the performance gains are quite impressive. Anyone who is running smp should try it. It is impressive. I love seing Zope serving static files in the 70rps range. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] New Help System in 2.2
I too agree the new help system looks nice. I was considering at one point jumping up and writing a documentation system for Python/Zope. Unfortunately my notes, not many, are at work. But some things I had in mind were based on something like JavaDoc. I am not a Java expert and have not really used JavaDoc much but have seen some of its documentation. I was thinking it would be nice to have a parser which could extract documentation from source to create external documentation files which could be generated into multiple formats, html, xml, etc. I would have needed to create a documentation format which could be used in source but extracted. I was not going to use docstrings as they are intended for a different purpose and are compiled into the bytecode. I was thinking that the parser could run over a module and extract functions, methods, variables and properties, etc. and create a stub framework on a form. A documenter could then edit documentation for any or all of the methods, save and it would be inserted appropriately into source. I thought it would also be nice if the documentation tree would also parallel the source tree and have a corresponding colorized html rendering of the module for browsing. This way one could jump from documentation to source at will. I was basically making idea notes. I was going to look at the current doc generating and py2html tools available first. Then Starship went down and I couldn't access them. :( I also wanted to see what the DC team was doing. I think it would be nice to see some ideas and processes for what and how Amos and Michel are doing with the documentation and how the community can help. Just some thoughts. Jimmie Houchin Jason Spisak wrote: Shane Hathaway writes: Jason Spisak wrote: I was just browsing the help system and can I just say it is terrfic. The .py files especially. Not that python isn't that easy to read, but having the ZQR type stuff handy online is a huge win. Is that stuff updated from the source on the fly? Almost. It's actually written in separate files that mirror the structure of the real source. And I'd like to bring up the point that I wonder why it is written that way. Wouldn't it make more sense to self-document the source? If the issue is that some methods shouldn't be callable from a URL, there are better solutions to that problem (this is written to DC mainly): Is this the reason that it's not pulling the docs from the source? That's not a good idea. With all the effort that Michel put in to work around not documenting in the source, he could have fixed it so that it pulled the docs from the source on the fly without effecting the URL access. 1) Enahnce the permissions system to include "Accessible via HTTP", "Accessible via FTP", etc. 2) Use an underscore as the first character of a docstring to indicate a non-URL-callable method. I just looked at it and that seems like doing work twice. Why not just document your source? Wonderingly, Jason Spisak CIO HireTechs.com 6151 West Century Boulevard Suite 900 Los Angeles, CA 90045 P. 310.665.3444 F. 310.665.3544 Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope ) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] New Help System in 2.2
Stephan Richter writes: At 09:09 PM 5/30/00 +, Jason Spisak wrote: Shane Hathaway writes: Jason Spisak wrote: I was just browsing the help system and can I just say it is terrfic. The .py files especially. Not that python isn't that easy to read, but having the ZQR type stuff handy online is a huge win. Is that stuff updated from the source on the fly? Almost. It's actually written in separate files that mirror the structure of the real source. And I'd like to bring up the point that I wonder why it is written that way. Wouldn't it make more sense to self-document the source? If the issue is that some methods shouldn't be callable from a URL, there are better solutions to that problem (this is written to DC mainly): Is this the reason that it's not pulling the docs from the source? That's not a good idea. With all the effort that Michel put in to work around not documenting in the source, he could have fixed it so that it pulled the docs from the source on the fly without effecting the URL access. 1) Enahnce the permissions system to include "Accessible via HTTP", "Accessible via FTP", etc. 2) Use an underscore as the first character of a docstring to indicate a non-URL-callable method. I just looked at it and that seems like doing work twice. Why not just document your source? I just talked to Amos and Michel last Friday about that and they researched for a long time, whether it would be better to document the source or to have different files. They both decided it is the best to have the documentation separately. I believe that they looked at the issue from all angles and had good reasons, why they went with the current way. I trust them implicitly. I'm sure that my gut reaction was probably the same one they had, but after careful thought they found a better solution. Furthermore, the help system will become even more than just the screen help. The .py files you see, are just the start of the new API documentation. Oooo. Furthermore, we will include a new DTML reference soon. Do you know about anything else, that should be included? Well if you really want to make it hot, the examples that are in there can keep coming. Web links might not be out of order either. The only problem is that there is no difinitive Zope online docs to link to, to get the most recent info. But when there is, it would be nice to include. Thanks, Jason Spisak CIO HireTechs.com 6151 West Century Boulevard Suite 900 Los Angeles, CA 90045 P. 310.665.3444 F. 310.665.3544 Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] New Help System in 2.2
Stephan Richter writes: At 12:02 AM 5/31/00 +, Jason Spisak wrote: Furthermore, we will include a new DTML reference soon. Do you know about anything else, that should be included? Well if you really want to make it hot, the examples that are in there can keep coming. Web links might not be out of order either. The only problem is that there is no difinitive Zope online docs to link to, to get the most recent info. But when there is, it would be nice to include. The next task after the 2.2 release is that we will look through the tutorial and see what it does not cover and then add the missing examples in tutorial form. :) Off-site links are okay, but what happens, if I sit in the plane and I need that piece. Amos leans also towards external links I think, but I would rather keep it in the distribution; it is only a couple thousand bytes more and will not increase the distro size too much. A fact is, that most of the Zope Online Help should be the most up-to-date, meaning that we try to encourage developers to update and patch the help system as they update the code. Personally, I see that same thing might happen that happened to Zope. They'll want to get the product out badly, and since the help system is separate, they'll put it off. Our goal is basically to initialize a good, well organized Zope help system, which content is maintained by the developers, read community. I think this is terrific shot at offering everyone a chance to "get it". BTW, if you find any mistakes or want to make additions to the help texts, please send them to me. I hope I will be able to upload a complete revision of *all* the help screens by the end of the week. I have only 80 documents to go. :) Excellent. I am reading it. I founfa few "not found"'s but that stuff probably just not loaded yet. Jason Spisak CIO HireTechs.com 6151 West Century Boulevard Suite 900 Los Angeles, CA 90045 P. 310.665.3444 F. 310.665.3544 Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] New Help System in 2.2
Excellent. I am reading it. I founfa few "not found"'s but that stuff probably just not loaded yet. Yeah, me too. I am fixing that as I am going along. Regards, Stephan -- Stephan Richter CBU - Physics and Chemistry Web2k - Web Design/Development Technical Project Management ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Re: ZCatalog and Unique IDs
Chris Withers wrote: Tres Seaver wrote: who's the CTO? Jim is. Okay, I get the joke now :-) * "persistent" references are effectively required to be immortal: it is _mandated_ that one be able to stringify the IOR, copy it to a piece of paper, put the paper in a bottle, and cast it on the waves; whoever opens the bottle should be able to transcribe the IOR, reify the reference from the string, and communicate with the object (which may be an entirely new "incarnation" created just for this request). This is the sort of persistent reference I meant, it's one of the reasons I like CORBA as a model ;-) A general-purpose, persistable reference in Zope pretty much has to be represented as an absolute containment path I don't agree. What happens when you move an object? The object doesn't change so why should its persistent reference? In a similar way, what happens when an object moves between storages? I reckon it should have the same POID... What you are missing in my description above is that CORBA persistent IORs may not map one-for-one to "real" objects -- there may be many IOR's whose requests are served by a single "real" object. Persistent IORs encode a promise that, if I come back and invoke on the IOR I got from the bottle, the ORB which published it must do one of the following: * locate / activate the corresponding servant object and delegate to it; * return to my ORB a LOCATION_FORWARD message pointing to the place whither it moved; * raise a NOT_EXIST exception if the object has died and can't be resurrected. CORBA IOR's can actually consist of multiple "profiles" each of which encodes a "search path" to find the object: * "endpoint" data -- address information with which to establish a connection to the POA (persistent object adapter) e.g., hostname/IP + port # for TCP, or pathname for AF_LOCAL sockets; * "POA ID" -- a (possibly hierarchical) name for the object adapter which published the IOR; * "object key" -- the ID for the object, unique *within the POA*. Zope objects already have an OID which is unique within their storage; the problem is that there is no useful way to massage an object given only its OID; lots of Zope's machinery depends on knowing the traversal path used to find it. A man with one watch knows what time it is; A man with two is never sure. That's not quite what I meant... An object is unique. It's aquisition context may give it more attributes to play with, but at the end of the day it is a seperate entity. This entity should have a unique, global identifier; it's POID. I think putting a path in front of this identifies the context, but doesn't really do a lot to identify the object. I guess my view depends on _data_ being stored in the object rather than acquired. Is this the case? The traversal path encodes more than just acquired attributes. For instance, it is entirely possible for a single object to be stored in multiple folders: in one folder, tseaver might not even be able to *see* the object, while in another, I might be able to query or modify it, based on the local roles assigned in each folder. (Note that this can't be done through the stock management interface, but could be done easily in "file-system" Python). Tres. -- === Tres Seaver[EMAIL PROTECTED] Digital Creations"Zope Dealers"http://www.zope.org ___ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )