Re: [Zope] Q: Zope meeting in Paris in August?
I would be interested to meet you in Paris. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 On Tue, 11 Jul 2000, Paul Everitt wrote: Hello everybody. I'm chatting with someone in Paris about a possible Zope gathering during my vacation to see my in-laws August 11th-25th. I'll be in Paris for a few days in the beginning and possibly at the end. Is anybody interested in hosting an event? I'll be in Brittany the rest of the time, so if there's someone in Rennes or Nantes, that's possible as well! --Paul Paul Everitt Digital Creations [EMAIL PROTECTED] 540.371.6909 - The Open Source Zope application server http://www.zope.org/ - ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] 2.2 installation problem on Linux
Hi, this seams to be a bugglet in the final distribution, the pcgi_wrapper is not build by the install script. This worked in beta 4. You can fix it by running it manally in the pcgi-directory like: cd pcgi sh configure make On Sat, 15 Jul 2000, Ragnar Beer wrote: Howdy! Zope 2.2 (linux2) installs and works fine using ZServer but for whatever reason there is no pcgi-wrapper built in the pcgi dir so that I cannot call Zope.cgi. I checked again and again but ./install doesn't give an error message. What am I doing wrong? --Ragnar ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zope + Apache + fastcgi + unix socket ..
I tried this on a Redhat 6.1 as far as I remember some time ago, and didn't succeed. It only worked with a tcp-socket. On Mon, 4 Sep 2000, Jørgen Skogstad wrote: Hi there.. Have any1 of you gotten local unix domain socket style access of Zope behind Apache to work? I have not .. and I am running this on Solaris. I see that Apache is trying to access the "file" .. and I presume the request is passed to fastcgi .. but I never see the request in Z2.log. I have fired Zope with socket access .. and configured Fast- CgiExternalServer .. etc. for apache. Anyone have any information about this? Would apriciate any! I have browsed www.zope.org too .. without any success .. ;) Look in the jun-2000 zope-dev mailinglist archives for zope, apache and fastcgi. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] Eventfolder 1.0.1 does not work
Hi, I trying to use Eventfolder 1.0.1, I imported the EventFolder.zexp, restartet Zope 2.2.1 and could add an Eventfolder, when I try to open the created eventfolder I get the message: The specified module, EventFolder.utils, couldn't be found. what's wrong here ? Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Ann: ZGDChart 0.4.2.b
there two small bugs in "addZGDChart.dtml" which causes it to display only a white page at least under netscape: here is the diff: 7,10d6 table trtd width="10%"/td td 37c33 --- /form On Sat, 16 Sep 2000, Chui Tey wrote: ZGDChart with more chart styles, data from non-SQL sources, plus Linux binaries. Also, gone are the original poxy colors on the charts. Now with relaxing shades of pastel. See the samples and grab the files at: http://www.zope.org/Members/teyc/ZGDChart/index_html All credits for this release goes to Hung Jung Lu who persisted long enough to get it working on Linux and then enhancing it. ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] how to call sequence-item
Hello, I'm using the photo-product, when one has created a photo-instance "image" you can render this like so: dtml-var "image(display='thumbnail')" now I wanted to loop over all photos in a folder "Images" and did: dtml-with Images dtml-in "objectItems('Photo')" dtml-call "REQUEST.set('bild',_['sequence-item'])" dtml-var bildbr /dtml-in /dtml-with that displays all photos in their original size, but dtml-var "bild(display='thumbnail')" gives: Error Type: TypeError Error Value: call of non-function (type string) how can I call a sequence-item ? Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Best wishes
I made a (small) patch to PoPy so that it supports the numeric type. Here it is: $ diff PoPymodule.c.org PoPymodule.c 393a394,396 /* 20.11.2000 by Perry */ case PG_NUMERIC: /* 20.11.2000 by Perry */ $ diff PoPymodule.h.org PoPymodule.h 78a79,81 /* 20.11.2000 by Perry */ #define PG_NUMERIC NUMERICOID /* 20.11.2000 by Perry */ where can we communicate these changes ? On Fri, 24 Nov 2000, Federico Di Gregorio wrote: Dear PoPy and ZPoPyDA users, last days, a lots of stuff happened here at MIXAD LIVE. the most important to you is that source code for the programs is not in our cvs server anymore and the home page was moved to the official Zope site[1]. To make it short, thierry and eric decided to not work for MIXAD LIVE anymore. so, what will change for you PoPy users? hopefully nothing... we'll continue to submit patches (we are using the product a lot) and to host the mailing list (unless they wants to move it away.) i will personally keep on packaging PoPy and ZPoPyDA for the Debian distribution. we also want to transfer to thierry the copyright of all the work done by us on the programs, to give him total freedom. i think PoPy and ZPoPyDA will grow better and better in the future. what can i say more? maybe "good luck" to them and "keep on hacking"... Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
[Zope] 2.9.0 install
hi, I just downloaded Zope-2.9.0.tgz and in the README.txt it says: Installation information can be found in ''doc/INSTALL.txt'' this apparently must read ''Zope/doc/INSTALL.txt'' -- Mit freundlichen GrüßenJoachim Schmitz .. AixtraWare eK ..Joachim Schmitz ..www.aixtraware.de ..t: +49-2464-8851 Hüsgenstr. 33a .d-52457 Aldenhoven .f: +49-2464-905163 ___ 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] cannot create an external method with zope-2.9.0
when I try to create an external method under 2.9.0 this fails with This is an install method in the Extension directory of the product WAeUP. The product is not broken, and this works under Zope-2.8.2. Traceback (innermost last): Module ZPublisher.Publish, line 113, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 40, in call_object Module Products.ExternalMethod.ExternalMethod, line 59, in manage_addExternalMethod Module Products.ExternalMethod.ExternalMethod, line 111, in __init__ Module Products.ExternalMethod.ExternalMethod, line 134, in manage_edit Module Products.ExternalMethod.ExternalMethod, line 141, in getFunction Module App.Extensions, line 120, in getObject NotFound: The specified module, emWAeUP.install/em, couldn't be found. -- Mit freundlichen GrüßenJoachim Schmitz .. AixtraWare eK ..Joachim Schmitz ..www.aixtraware.de ..t: +49-2464-8851 Hüsgenstr. 33a .d-52457 Aldenhoven .f: +49-2464-905163 ___ 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] error in Zope-2.9.1/README.txt
hi, after unpacking the Zope-2.9.1 tarbal I find in README.txt Installing Zope --- Follow the instructions in ``doc/INSTALL.txt`` to install Zope. this must be ``Zope/doc/INSTALL.txt`` -- Mit freundlichen GrüßenJoachim Schmitz .. AixtraWare eK ..Joachim Schmitz ..www.aixtraware.de ..t: +49-2464-8851 Hüsgenstr. 33a .d-52457 Aldenhoven .f: +49-2464-905163 ___ 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] _p_resolveConflict not called on conflict
Hi, I have a class CourseResults, where I defined: def _p_resolveConflict(self, oldstate, committed, newstate): # Apply the changes made in going from old to newstate to # committed import pdb;pdb.set_trace() in my log I see: 2007-08-07 16:26:14 INFO ZPublisher.Conflict ConflictError at /uniben/campus/students/U315204/study_course/create_level: database conflict error (oid 0x37fc36, class Products.WAeUP_SRP.WAeUPTables.CourseResults, serial this txn started with 0x036f83420cc02caa 2007-08-07 14:26:02.988441, serial currently committed 0x036f834237c65b99 2007-08-07 14:26:13.072227) (1 conflicts (0 unresolved) since startup at Tue Aug 7 16:15:17 2007) but _p_resolveConflict is not invoked. what do I do wrong ? -- Gruß Joachim ___ 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] _p_resolveConflict not called on conflict
Martijn Pieters schrieb: On 8/7/07, Joachim Schmitz [EMAIL PROTECTED] wrote: but _p_resolveConflict is not invoked. what do I do wrong ? Is ZEO involved? If so, does your ZEO instance have the Product installed (with all it's dependencies), so the ZEO server can access the resolve method? Yes ZEO is involved, but where do I specify a Products-directory in etc/zeo.conf ? -- Gruß Joachim ___ 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: _p_resolveConflict not called on conflict
Tres Seaver schrieb: I don't know how you calibrate your expectations, Chris, but conflict resolution is a property of (some) *storages*; the connectoins in application servers have nothing to do with it. For objects served from a ZEO storage, conflict resolution is only possible if: - The underlying storage is conflict resolving (FileStorage is; none of the others which ship with ZODB are). - The storage server can import the class of the object under conflict (this is why the BTrees code ships with ZODB, actually, so that the storage server can use its conflict resolution hooks). Installing the products containing application-defined conflict resolution on the storage server is the only way to enable that conflict resolution in a ZEO-backed deployment. As a side-note: this should be mentioned in the README of the QueueCatalog, there is a _p_resolveConflict defined. -- Gruß Joachim ___ 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-dev] why does my externalmethod generate a ZODB transaction
Hi, I wrote an external method from which I call a ZSQL-method, this runs fine and returns the correct results, but when I look at the ZODB transactions, I see that for each call of the method a transaction is recorded. Even worse, when I make an error in my method, the folder from which I invoked the method is no longer accesseble. I have to undo the transaction first, that's how I found out that there is a transaction happening. here is the code of the External-method: import string import sys sys.path[0:0]=["/usr/local/Zope-2.1.4/Extensions"] from DocumentTemplate import * def dump(self,EA,**kwa): #return EA,kwa s = "br" if hasattr(self,EA): ea = apply(getattr(self,EA),(),kwa) #return ea._names,"br",ea._schema ead = ea.__dict__ for r in ead.keys(): s = s + r + "br" i=getattr(ea,r) if type(i) == type([]) and len(i) 0: s = s + str(i) + " br " for n in i: s = s + str(n) + " | " s=s+"br" elif type(i) == type({}): s = s + str(i) + " br " for n in i.items(): s = s + str(n) + " | " s=s+"br" return s def workform(self,REQUEST): "Die Masken EinAusgabe" scol = "movie_id" sval = "a%" srel = "like" return dump(self,"Row_search",scol=scol,sval=sval,srel=srel) this dumps the result of the ZSQL-method, I call it from a dtml-method "testForm" like this: dtml-var standard_html_header dtml-var "RForm(REQUEST)"--- this calls workform dtml-var standard_html_footer when invoking this like .../Movies/testForm I have an entry in the undoable transactions: ...Movies/testForm by super on Jul 4 at 21:21:31 By the way why is the day one day off the machine REDhat 6.2 Zope-2.1.4 has the correct date and shows now: Wed Jul 5 21:49:01 CEST 2000 Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] why does my externalmethod generate a ZODB transaction
Hi, answering to myself, cause nobody else could find the reason in the code I provided, because I didn't include the real culprit. Here is the very much abreviatet version, which also generates a transaction: def workform(self,REQUEST): "Die Masken EinAusgabe" self.form=REQUEST.form-- this does it return "this generated a transaction" So don't modify the "self" of an external method. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] why does an error in my externalmethod ...
make the folder from which it was invoked inaccessable ? continuing work on my external, I removed all modifications of self, so no transactions or better modifications of the ZODB took place. During the development cycle: editing the external methods, testing it through calling it through the browser, after editing the method the call of .../Movies/testForm resulted in a not found error. also I cannot enter the folder "Movies", if I click on it in the managementscreen, I also get the not found error. There is no transaction to undo, I restarted Zope no luck, I tried to delete the folder and get the error: Error Type: SystemError Error Value: Failed to import class setrecord from module __main__ (Object: manage_delObjects) File /usr/local/Zope-2.1.4/lib/python/ZPublisher/Publish.py, line 102, in call_object (Object: manage_delObjects) File /usr/local/Zope-2.1.4/lib/python/OFS/ObjectManager.py, line 395, in manage_delObjects (Object: ElementWithAttributes) File /usr/local/Zope-2.1.4/lib/python/OFS/ObjectManager.py, line 267, in _delObject (Object: ElementWithAttributes) File /usr/local/Zope-2.1.4/lib/python/ZODB/Connection.py, line 396, in setstate SystemError: (see above) The class setrecord is in my external-method. I luckily had packed zodb shortly before that, and it is just a testserver. So I copied the Data.fs.old to Data.fs. Till now I could not reproduce the error. I still have the corrupted Data.fs. But I had that occure before, after making an error in the external method, the calling folder was not accessible anymore. But there I also had modified self, so I had a transaction which I could "undo". Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] strange ZopeTime-behavior
The following dtml-snipplet: dtml-var vonjahr dtml-var vonmonat dtml-var vontagbr dtml-var bisjahr dtml-var bismonat dtml-var bistag dtml-call "REQUEST.set('vondatum',ZopeTime(vonjahr+'-'+vonmonat+'-'+vontag))" dtml-call "REQUEST.set('bisdatum',ZopeTime(bisjahr+'-'+bismonat+'-'+bistag))" brdtml-var vondatum dtml-var bisdatum brdtml-var vondatum fmt="%d.%m.%Y" bis: dtml-var bisdatum fmt="%d.%m.%Y" produces the following output: 2000 8 1 2000 8 2 2000/08/01 2000/08/02 --- correct 31.07.2000 bis: 01.08.2000 --- one day less if used with fmt Bug or feature ? there is no TZ enviromentvariable set. Server is Zope-2.2.0 on RH 6.2 behind Apache with PCGI. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] Chameleon
Hi, I just tried to use the chameleon product with zope 2.2.1 under SuSE 7.0. After adding a new chameleon folder, I can't enter that folder, cause there is always the authorisation-box opened. And I am not able to authorize. Can the chameleon product work with 2.2.x at all ? Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] ZPatterns + Skinscript
On Sat, 28 Oct 2000, Phillip J. Eby wrote: At 05:17 PM 10/28/00 +0200, Joachim Schmitz wrote: select e.event_id as event_id ,e.zeiten as zeiten ,v.firma as firma ,v.tel as tel ,e.movie_id as movie_id ,m.movie_title as movie_title ,m.movie_link as movie_link ,m.movie_text as movie_text ,e.datum_von as datum_von ,e.datum_bis as datum_bis from event as e, veranstalter as v, movies as m where e.event_id = dtml-sqlvar e_id type=int and e.movie_id = m.movie_id and e.veran_id = v.veran_id order by m.movie_title Just out of curiosity, why do you have an "order by" clause, if this is supposed to only return one row? If more than one item is returned by this query, only the first will be used to supply data to your DataSkin. that was just left over from an reused query-template, I forgot to take it out. I also added a SkinScript method as a Data Plug-in in the defaultRack like this WITH QUERY readEvents(e_id=self.event_id) COMPUTE zeiten,firma,tel ,movie_id,movie_text,movie_link,movie_title ,datum_von,datum_bis,zeiten Do you have some way of providing self with an "event_id" value? Keep in mind that when DataSkins are created, they have only an "id" attribute, nothing else. So unless you have an attribute provider that provides an "event_id" value, this statement will fail. Perhaps what you actually mean is: WITH QUERY readEvents(e_id=self.id) COMPUTE event_id, zeiten,firma,tel, movie_id,movie_text,movie_link,movie_title, datum_von,datum_bis,zeiten Notice that I'm passing self.id to readEvents, and that I've added event_id to the list of attributes retrieved from the query. how do I set "self.id" I tried in dtml-method in the event-specialist: There is a event_id 609 in the table: dtml-var "getItem(_.int(609))" returns none or dtml-var "getItem(key=_.int(609))" returns none under the storage tab I selected for: Class to use for stored items: ZPatterns:DataSkin and Objects are: o stored persistently. x loaded by accessing attribute: event_id This will work fine, if you use the revised SkinScript above. You will probably want to create a ZClass subclass of DataSkin at some point to use instead, so that you can define permissions, methods, and so on for your Event objects. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] ZPatterns + Skinscript
for debugging I inserted in Specialists.py in getItem: return str(self.rackList) -- inserted for rack in self.rackList: item = rack.__of__(self).getItem(key) if item is not None: return item this alway returns an empty list, when calling it from the dtml: dtml-var "getItem(_.int(609))" returns "[]" I tried to follow the magic how this rackList is setup, but it is to much python-Zen for me. On Sun, 29 Oct 2000, Joachim Schmitz wrote: On Sat, 28 Oct 2000, Phillip J. Eby wrote: At 05:17 PM 10/28/00 +0200, Joachim Schmitz wrote: select e.event_id as event_id ,e.zeiten as zeiten ,v.firma as firma ,v.tel as tel ,e.movie_id as movie_id ,m.movie_title as movie_title ,m.movie_link as movie_link ,m.movie_text as movie_text ,e.datum_von as datum_von ,e.datum_bis as datum_bis from event as e, veranstalter as v, movies as m where e.event_id = dtml-sqlvar e_id type=int and e.movie_id = m.movie_id and e.veran_id = v.veran_id order by m.movie_title Just out of curiosity, why do you have an "order by" clause, if this is supposed to only return one row? If more than one item is returned by this query, only the first will be used to supply data to your DataSkin. that was just left over from an reused query-template, I forgot to take it out. I also added a SkinScript method as a Data Plug-in in the defaultRack like this WITH QUERY readEvents(e_id=self.event_id) COMPUTE zeiten,firma,tel ,movie_id,movie_text,movie_link,movie_title ,datum_von,datum_bis,zeiten Do you have some way of providing self with an "event_id" value? Keep in mind that when DataSkins are created, they have only an "id" attribute, nothing else. So unless you have an attribute provider that provides an "event_id" value, this statement will fail. Perhaps what you actually mean is: WITH QUERY readEvents(e_id=self.id) COMPUTE event_id, zeiten,firma,tel, movie_id,movie_text,movie_link,movie_title, datum_von,datum_bis,zeiten Notice that I'm passing self.id to readEvents, and that I've added event_id to the list of attributes retrieved from the query. how do I set "self.id" I tried in dtml-method in the event-specialist: There is a event_id 609 in the table: dtml-var "getItem(_.int(609))" returns none or dtml-var "getItem(key=_.int(609))" returns none under the storage tab I selected for: Class to use for stored items: ZPatterns:DataSkin and Objects are: o stored persistently. x loaded by accessing attribute: event_id This will work fine, if you use the revised SkinScript above. You will probably want to create a ZClass subclass of DataSkin at some point to use instead, so that you can define permissions, methods, and so on for your Event objects. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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 ) Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] ZPatterns + Skinscript
On Mon, 30 Oct 2000, Steve Spicklemire wrote: Hi Joachim, rackList just refers to the racks in the 'racks' tab of the Specialist. Do you have any racks defined for this Specialist? The rackList is managed magically with the plug-in-group stuff. Yes that's what I found too, but it doesn't work, with SQL-database and SkinScripts, the setup is described below: "Joachim" == Joachim Schmitz [EMAIL PROTECTED] writes: Joachim for debugging I inserted in Specialists.py in getItem: Joachim return str(self.rackList) -- inserted for rack in Joachim self.rackList: item = rack.__of__(self).getItem(key) if Joachim item is not None: return item Joachim this alway returns an empty list, when calling it from Joachim the dtml: Joachim dtml-var "getItem(_.int(609))" returns "[]" Joachim I tried to follow the magic how this rackList is setup, Joachim but it is to much python-Zen for me. Joachim On Sun, 29 Oct 2000, Joachim Schmitz wrote: On Sat, 28 Oct 2000, Phillip J. Eby wrote: At 05:17 PM 10/28/00 +0200, Joachim Schmitz wrote: select e.event_id as event_id ,e.zeiten as zeiten ,v.firma as firma ,v.tel as tel ,e.movie_id as movie_id ,m.movie_title as movie_title ,m.movie_link as movie_link ,m.movie_text as movie_text ,e.datum_von as datum_von ,e.datum_bis as datum_bis from event as e, veranstalter as v, movies as m where e.event_id = dtml-sqlvar e_id type=int and e.movie_id = m.movie_id and e.veran_id = v.veran_id order by m.movie_title Just out of curiosity, why do you have an "order by" clause, if this is supposed to only return one row? If more than one item is returned by this query, only the first will be used to supply data to your DataSkin. that was just left over from an reused query-template, I forgot to take it out. I also added a SkinScript method as a Data Plug-in in the defaultRack like this WITH QUERY readEvents(e_id=self.event_id) COMPUTE zeiten,firma,tel ,movie_id,movie_text,movie_link,movie_title ,datum_von,datum_bis,zeiten Do you have some way of providing self with an "event_id" value? Keep in mind that when DataSkins are created, they have only an "id" attribute, nothing else. So unless you have an attribute provider that provides an "event_id" value, this statement will fail. Perhaps what you actually mean is: WITH QUERY readEvents(e_id=self.id) COMPUTE event_id, zeiten,firma,tel, movie_id,movie_text,movie_link,movie_title, datum_von,datum_bis,zeiten Notice that I'm passing self.id to readEvents, and that I've added event_id to the list of attributes retrieved from the query. how do I set "self.id" I tried in dtml-method in the event-specialist: There is a event_id 609 in the table: dtml-var "getItem(_.int(609))" returns none or dtml-var "getItem(key=_.int(609))" returns none under the storage tab I selected for: Class to use for stored items: ZPatterns:DataSkin and Objects are: o stored persistently.x loaded by accessing attribute: event_id This will work fine, if you use the revised SkinScript above. You will probably want to create a ZClass subclass of DataSkin at some point to use instead, so that you can define permissions, methods, and so on for your Event objects. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] ZPatterns + Skinscript
Hi Steve, I did exactly (hopefully) as you sugested, but the dtml-method fails with: (I moved the SkinScript with first to the top) Error Type: KeyError Error Value: movie_link ... File /usr/local/Zope-2.2.0/lib/python/DocumentTemplate/DT_String.py, line 528, in __call__ (Object: testzclass) File /usr/local/Zope-2.2.0/lib/python/DocumentTemplate/DT_Let.py, line 147, in render (Object: theItem="getItem('anyOldThing')") File /usr/local/Zope-2.2.0/lib/python/DocumentTemplate/DT_With.py, line 146, in render (Object: theItem) KeyError: (see above) what's the best way to debug this ? On Mon, 30 Oct 2000, Steve Spicklemire wrote: Hi Joachim, Hmm.. I would start start really simple here, and then 'work up' to the sql query Create a default rack with the following SkinScript. WITH ['a','b','c'] COMPUTE movie_link=RESULT[0],movie_title=RESULT[1], zeiten=RESULT[2] Set the storage for this rack to be a DataSkin derived ZClass loaded by accessing attribute 'movie_link'. Then try the following method in the Specialist: dtml-var standard_html_header dtml-let theItem="getItem('anyOldThing')" dtml-with theItem dtml-var movie_link dtml-var movie_title dtml-var zeiten /dtml-with /dtml-let dtml-var standard_html_footer If this does what you expect.. then you're getting close. Now change the ['a','b','c'] to be a call to your query: WITH yourQuery(... parameters for your query... ) COMPUTE movie_link, movie_title... etc. If you get the same errors in the first case.. then your problem has nothing to do with SQL. -steve "Joachim" == Joachim Schmitz [EMAIL PROTECTED] writes: Joachim On Mon, 30 Oct 2000, Steve Spicklemire wrote: Hi Joachim, rackList just refers to the racks in the 'racks' tab of the Specialist. Do you have any racks defined for this Specialist? The rackList is managed magically with the plug-in-group stuff. Joachim Yes that's what I found too, but it doesn't work, with Joachim SQL-database and SkinScripts, the setup is described Joachim below: "Joachim" == Joachim Schmitz [EMAIL PROTECTED] writes: Joachim for debugging I inserted in Specialists.py in getItem: Joachim return str(self.rackList) -- inserted for rack in Joachim self.rackList: item = rack.__of__(self).getItem(key) if Joachim item is not None: return item Joachim this alway returns an empty list, when calling it from Joachim the dtml: Joachim dtml-var "getItem(_.int(609))" returns "[]" Joachim I tried to follow the magic how this rackList is setup, Joachim but it is to much python-Zen for me. Joachim On Sun, 29 Oct 2000, Joachim Schmitz wrote: On Sat, 28 Oct 2000, Phillip J. Eby wrote: At 05:17 PM 10/28/00 +0200, Joachim Schmitz wrote: select e.event_id as event_id ,e.zeiten as zeiten ,v.firma as firma ,v.tel as tel ,e.movie_id as movie_id ,m.movie_title as movie_title ,m.movie_link as movie_link ,m.movie_text as movie_text ,e.datum_von as datum_von ,e.datum_bis as datum_bis from event as e, veranstalter as v, movies as m where e.event_id = dtml-sqlvar e_id type=int and e.movie_id = m.movie_id and e.veran_id = v.veran_id order by m.movie_title Just out of curiosity, why do you have an "order by" clause, if this is supposed to only return one row? If more than one item is returned by this query, only the first will be used to supply data to your DataSkin. that was just left over from an reused query-template, I forgot to take it out. I also added a SkinScript method as a Data Plug-in in the defaultRack like this WITH QUERY readEvents(e_id=self.event_id) COMPUTE zeiten,firma,tel ,movie_id,movie_text,movie_link,movie_title ,datum_von,datum_bis,zeiten Do you have some way of providing self with an "event_id" value? Keep in mind that when DataSkins are created, they have only an "id" attribute, nothing else. So unless you have an attribute provider that provides an "event_id" value, this statement will fail. Perhaps what you actually mean is: WITH QUERY readEvents(e_id=self.id) COMPUTE event_id, zeiten,firma,tel, movie_id,movie_text,movie_link,movie_title, datum_von,datum_bis,zeiten Notice that I'm passing self.id to readEvents, and that I've added event_id to the list of attributes retrieved from the query. how do I set "self.id" I tried in dtml-method in the event-specialist: There is a event_id 609 in the table:
Re: [Zope-dev] ZPatterns + Skinscript
Hi Steve, On Tue, 31 Oct 2000, Steve Spicklemire wrote: Joachim By the way, it only work if specify a DataSkin derived ZClass Joachim under the Storage tab. Yes... did you attempt to use a 'pure' DataSkin? after your advise not to use a 'pure' DataSkin, I did all the testing with a DataSkin derived ZClass, when that was working, I tried the 'pure' DataSkin and it didn't work. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] ZPatterns and ZCLasses
I have an existing ZClass/Data Structure like this RecruitingPlatform Company Recruiting Candidates Student Profiles Address Highschool IT Jobprefs ... I want to store the data in the ZClass instances, must each ZClass have the Base class _ZClass_for_DataSkin and do I need a Rack for each class ? Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] ZPatterns and ZCLasses
On Tue, 21 Nov 2000, Phillip J. Eby wrote: At 11:08 AM 11/21/00 +0100, Joachim Schmitz wrote: I have an existing ZClass/Data Structure like this RecruitingPlatform Company Recruiting Candidates Student Profiles Address Highschool IT Jobprefs ... I want to store the data in the ZClass instances, must each ZClass have the Base class _ZClass_for_DataSkin and do I need a Rack for each class ? If you are storing dataskins in a regular folder hierarchy (or other persistent hierarchy), you don't need racks. You just need a Folder w/Customization support in the objects' acquisition hierarchy. Of course, if you don't need DataSkin-ish behavior (i.e. triggers and attribute providers), you don't need the FwCS either. DataSkins stored outside of Racks will "pretend" to be ordinary persistent Zope objects if they can't find an appropriate Customizer. That is, they act like regular Zope objects, only it takes them more work because they're pretending. :) I created a FwCS and in it a customizer, but in my list of to customize object types are only meta_types listed, which have the Base class "_ZClass_for_DataSkin",. Is this a requirement, and if yes, is there a way to add this to existing ZClasses ? Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] How to get rid of obsolete Permissions
how can I get rid of the permissions defined for a ZClass, after I deleted the ZClass, all permissions for all ZClasses I ever created are still around and pollute my security or permission management screens. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] UML reverse engineering on ZClasses - I need somehelp
On Tue, 28 Nov 2000, zope wrote: Hi! I am currently developing a tool for reverse engineering ZClasses into UML using ObjectDomain and JPython. this tool connects directly to a Zope instance and queries the ZClass entities, methods and inheritance relations by calling a set of utility methods that I implemented as External methods. it works fine when reverse engineering ZClasses, their methods and inheritance relations. you can check out a sample result where I reversed a part of Maik Roeder's ZDP tools under http://zwork.bluedynamics.com/Tests/zdp/index.html If there is interest and time I'll document the reverse engineering tool and publish it on zope.org this is absolutly fantastic, great job Phil. If reverse engeneering is possible, also ZClass generation should be possible, or even better generate a python-product. I am very much interested in your work. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] UML reverse engineering on ZClasses - I need somehelp
On Wed, 29 Nov 2000, Maik Röder wrote: Hi Philipp ! Philipp Auersperg wrote: snip Before I go into generating zclasses I want to complete and publish the reverse engineering, therefor I want to clear some questions (see my original mail). Consider me a beta tester, me too :-) Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] changing/storing Properties with ZPatterns
Hi, I setup a Specialist with a ZCLass "AZ" for persistent storage. In AZ I setup a Dataskin propertysheet "Basic" with properties Name, Street etc. Now I made dtml-method form which iterates with: dtml-call "REQUEST.set('ni',getItem(sid+id))" dtml-in "ni.propertysheets.Basic.propertyMap()" over the Basic propertysheet,builds the form, and stores the values within another dtml-method edit with: dtml-call "ni.propertysheets.Basic.manage_changeProperties(REQUEST)" this works fine. Now I wanted to have attributes which I don't want to display in the form, for example complete attribute. I therefore created another dataskin propersheet Internal in AZ with a property complete and tried to set it with: dtml-call "ni.propertysheets.Internal.manage_changeProperties(REQUEST,complete='1')" But I don't manage to store retrieve this attribute. All attributes in the Basic propertysheet I can store and retrieve. what is the magic behind this ? Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] changing/storing Properties with ZPatterns
At 10:07 AM 12/1/00 +0100, Joachim Schmitz wrote: this works fine. Now I wanted to have attributes which I don't want to display in the form, for example complete attribute. I therefore created another dataskin propersheet Internal in AZ with a property complete and tried to set it with: dtml-call "ni.propertysheets.Internal.manage_changeProperties(REQUEST,complete='1')" But I don't manage to store retrieve this attribute. All attributes in the Basic propertysheet I can store and retrieve. what is the magic behind this ? Beats me. I know that we use a variety of DataSkin propertysheets in our apps with no problems, although we are not using persistent storage at the present time. What happens when you try to store "complete"? Is it simply not saved, or do you get some kind of error? Have you tried other values? Have you checked your permissions to ensure your code has rights to change the "Internal" sheet? Its just silently ignored, everything in the Basic-sheet is stored correctly, and I set up the Internal sheet exactly as the Basic. I had the suspicion that only the Sheet listed first is used, but if I list it in the Sheet_Names of PersistentSheets it makes no difference. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] Re: [Zope] WebDAV lockingproblem with Word
Hi Andreas, attached you find a tcpdump generated log of the communication between a Windows Word client and an IIS Informationserver, during storage and retrieval of a Webdocument. With IIS the Webdocument is never writeprotected. Hope that helps. Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 dump_webdav Description: Binary data
[Zope-dev] Re: [Zope] WebDAV/Word readonly problem resolved
Hurrahhh ! it works now. On Mon, 26 Nov 2001, Andreas Jung wrote: I also checked-in a newer version of ZServer/HTTPResponse.py some minutes ago to provide a general Etag support. This should work now. Andreas - Original Message - From: Joachim Schmitz [EMAIL PROTECTED] To: Andreas Jung [EMAIL PROTECTED] Cc: zope-list [EMAIL PROTECTED]; zope-dev [EMAIL PROTECTED] Sent: Monday, November 26, 2001 13:39 Subject: Re: [Zope] WebDAV/Word readonly problem resolved Hallo Andreas, I downloaded and installed the new DTMLMethod.py, but no change in behavior, did you test it ? I looked at the networkdump, and still no Etag in the HTTPResponse :-( On Mon, 26 Nov 2001, Andreas Jung wrote: The long outstanding problem that WinWord treated a .html file as read-only when it has been opened through WebDAV/webfolder is finally resolved. Joachim Schmitz gave the hint that WinWord depends on the HTTP ETAG header that Zope usually did not send. This behaviour is odd because HTTP 1.1 does not require that a server sends this header. The CVS trunk and Zope-2_4-branch contain a modified version of lib/python/OFS/DTMLMethod.py that solves that problem. Andreas - -Andreas JungZope Corporation - - EMail: [EMAIL PROTECTED]http://www.zope.com - - Python Powered http://www.python.org - - Makers of Zope http://www.zope.org - - Life is a fulltime occupation - - ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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] Re: [Zope] WebDAV/Word readonly problem resolved
Hallo Andreas, I downloaded and installed the new DTMLMethod.py, but no change in behavior, did you test it ? I looked at the networkdump, and still no Etag in the HTTPResponse :-( On Mon, 26 Nov 2001, Andreas Jung wrote: The long outstanding problem that WinWord treated a .html file as read-only when it has been opened through WebDAV/webfolder is finally resolved. Joachim Schmitz gave the hint that WinWord depends on the HTTP ETAG header that Zope usually did not send. This behaviour is odd because HTTP 1.1 does not require that a server sends this header. The CVS trunk and Zope-2_4-branch contain a modified version of lib/python/OFS/DTMLMethod.py that solves that problem. Andreas - -Andreas JungZope Corporation - - EMail: [EMAIL PROTECTED]http://www.zope.com - - Python Powered http://www.python.org - - Makers of Zope http://www.zope.org - - Life is a fulltime occupation - - ___ Zope maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev ) Mit freundlichen Grüßen Joachim Schmitz AixtraWare, Ing. Büro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 ___ 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: core i18n support (was [Zope-dev] Open Letter to zope-dev)
Hi, as far as I understand the issue, both I18n solutions coud agree on a common set of features they need in the Zope-core. I think booth should formulate, what their requests are. --On Sonntag, Dezember 02, 2001 13:13:30 -0500 Paul Everitt [EMAIL PROTECTED] wrote: As both Robert and Joachim (in another message) have noted, core i18n support is blocked by a single issue: there are two different approaches and insufficient consensus about resolving them. The first criteria that I have is whether someone is willing to become a CVS contributor and shepherd i18n in a responsible fashion, as Martijn Faassen has done with XML. In this sense we suffer from an embarassment of riches: both Localizer and ZBabel have people willing to step up and provide leadership. Unfortunately there isn't someone with sufficient authority on the subject to annoint one as more right than the other. And an arbitrary decision by ZC is sure to leave hard feelings. Unfortunately this needs to get cleared up soon, so that an i18n team can start influencing the component architecture. I suggest that Stefane and Juan David (Localizer/Nuxeo) and Stephan, Andrew, and Joachim (ZBabel/iuveno) have a little chat and make a recommendation for a small next step. --Paul Robert Rottermann wrote: Andreas, sorry if I have not reacted to a questions for assistance in the realm of i18n. I must have missed them. I rarely go to EuroZope since this site seems badly maintained. However I really would like to help with the internationalization of Zope since most of what we do here a my company must be multilingual. I do have considerable experience making programs translatable and I did a multilanguage CMF (with which I never was really happy) Some 6 Months ago I started to collect what is there regarding i18n and Zope. I did get a sizable number of answers. However there where two rather unfortunate tendencies: - multiple, different and incompatible attempts from our side - missing involvement and therefore no shepherding from ZC's side If, as Paul assures, the second point is about to be rectified it might be now the time to do a second such compilation and then start doing it. Robert - Original Message - From: Andreas Jung [EMAIL PROTECTED] To: Joachim Werner [EMAIL PROTECTED]; Paul Everitt [EMAIL PROTECTED]; Robert Rottermann [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Saturday, December 01, 2001 2:50 PM Subject: Re: [Zope-dev] Open Letter to zope-dev - Original Message - From: Joachim Werner [EMAIL PROTECTED] To: Paul Everitt [EMAIL PROTECTED]; Robert Rottermann [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Saturday, December 01, 2001 08:22 Subject: Re: [Zope-dev] Open Letter to zope-dev The second is pretty exciting as well. I saw a presentation in Paris by Juan David Palomar, of Localizer fame. (The presentation is now up at http://estce.act.uji.es:9673/localizer). The presentation impressed me on the need to get someone into the core of Zope that knows all these details, but also convinced me that the Zope3 effort needs to anticipate the needs of i18n and l10n. ZBabel and Localizer are good starts, but as jdavid says, both should be thought of as non-core projects that start influencing the core step-by-step. Hi! I fully agree that ZBabel and Localizer don't have to be core projects right now. But the core must be made fit for i18n to make sure that we don't have to patch things like the user folder implementation or the Help! button in the code. In Zopw 2.5, there still seem to be hot spots to fix with regard to i18n. Of course there are hot spots. I have asked multiple times for help on the mailing lists and the Eurozope site to identify such related hot spots. Also I had expect some input of the community regarding at unicode support inside Zope. But there has been no feedback. It looks like no one needs unicode support in Zope ?! :-) Anyway, as a first step Zope 2.5 provides full unicode support for the ZCatalog. I would like to see some volunteers that could help to set up a list of requirements (the list is almost there on the Eurozope site I think) and possible solutions that could be integrated into the Zope core. Referring to the open letter to zope-dev I could also charge the community for zero feedback. But this is not the place and time for flamewars. Instead we should bundle the power of ZC and the community. The opening of the CVS is a good starting point but I would like to see more people contributing. Cheers, Andreas ___ 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 ) Mit freundlichen Grüßen Joachim
Re: [Zope-dev] How to automatically redirect publishing request toanother folder?
How about creating a body-dtml method in the root, with dtml-with firstSlide dtml-var body /dtml-with --On Freitag, Januar 25, 2002 01:51:53 -0500 Craeg K. Strong [EMAIL PROTECTED] wrote: Hello: We have a Slideshow product that is similar to OrderedFolder in that it maintains an ordered list of contents. Each subfolder represents a slide. To view a particular slide, you navigate to the subfolder, it automatically calls index_html, and there's your slide. All of the slides actually acquire their index_html DTMLDocument from high up on the food chain. The index_html in turn calls dtml-var body and the body is, of course, different for each slide. This is convenient, b/c each slide shares header/footer/etc. My problem is this. When you type in the URL of the top level folder (that is, the slideshow folder itself) I want Zope to behave as if you typed in the URL of the first slide automagically. The Slideshow product has an easy way to get our mitts on the firstSlide object, so that part is not a problem, but I cannot get it to work. Of course, if I create an index_html() method directly in my Slideshow.py, that screws up my acquisition. Zope dies with an infinite recursion. Next try: using __bobo_traverse__() That is a little bit nasty, b/c you have to figure out whether you are the end destination or if Zope is just passin' thru. [ See http://www.zope.org//Members/andym/wiki/MessingWithTraversal ] Nothing works quite right. Conceptually I know what I want to do: call index_html on firstSlide() in the _context_ of firstSlide(). However, my Zope Zen is failing me.Has anyone done something like this? Thanks in advance! --Craeg ___ 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 ) Mit freundlichen Grüßen Joachim Schmitz AixtraWare Ingenieurbüro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 Key fingerprint = DA10 CC82 62F8 1DBB 39A1 1EDC 725B 3317 A8D7 C3A6 Keyserver: http://germany.keyserver.net/en/ ___ 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] ExternalEditor Windows
Hi, great to hear, I just wanted to write a mail to the list asking for a joint effort for bringing ExternalEditor to Windows. I personally cannot offer any help, except testing it, since I am working on linux. I have EE installed and it works like charm, it is the solution for a problem, Zope has suffered from for a long time, and which gives a total new view to the Zope-IDE issue. One hint thought for the Windows-helper app, it should possibly not require python at least not with tkinter build in. If it would run and install one pure windows, that would be best. --On Dienstag, Mai 21, 2002 11:29:39 -0500 brian.r.brinegar.1 [EMAIL PROTECTED] wrote: Hello, I'm working on porting Casey Duncans ExternalEditor helper application to work with Windows. I've got some stuff working, but it's far from complete. I was wondering if anyone else was working on this? I would hate to be duplicating efforts, but I would love to help. -Brian ___ 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 ) Mit freundlichen Grüßen Joachim Schmitz AixtraWare Ingenieurbüro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 Key fingerprint = DA10 CC82 62F8 1DBB 39A1 1EDC 725B 3317 A8D7 C3A6 Keyserver: http://www.keyserver.net/en/ ___ 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] ExternalEditor Windows
--On Dienstag, Mai 21, 2002 14:00:59 -0400 Casey Duncan [EMAIL PROTECTED] wrote: On Tuesday 21 May 2002 01:39 pm, Joachim Schmitz wrote: Hi, great to hear, I just wanted to write a mail to the list asking for a joint effort for bringing ExternalEditor to Windows. I personally cannot offer any help, except testing it, since I am working on linux. I have EE installed and it works like charm, it is the solution for a problem, Zope has suffered from for a long time, and which gives a total new view to the Zope-IDE issue. One hint thought for the Windows-helper app, it should possibly not require python at least not with tkinter build in. If it would run and install one pure windows, that would be best. I totally agree. And I still intend to deliver one that runs native on windows, probably just using the windows scripting host. This version will hopefully tide people over for the time being. I also am thinking along the same lines with this being a new way to approach an IDE. from the bottom up if you will, built as smaller pieces working together with the web rather than trying to write it in one broad stroke (which has always failed thus far). you exactly express my ideas ;-) Mit freundlichen Grüßen Joachim Schmitz AixtraWare Ingenieurbüro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 Key fingerprint = DA10 CC82 62F8 1DBB 39A1 1EDC 725B 3317 A8D7 C3A6 Keyserver: http://www.keyserver.net/en/ ___ 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] ExternalEditor for Windows setup
Bill, I try to run it on my win98 system with python 2.2.1, both with mozilla 1.0 and opera 5.0. But I can't get it to start. the file dialog-download dialog shows, but than nothing happens configured /path_to_python/python /path_to_zopeedit/zopeedit-win32.py /path_to_python/pythonw /path_to_zopeedit/zopeedit-win32.py /path_to_zopeedit/zopeedit-win32.py none of them works. Could you give a short description, how you did it. Also how would I use this with IE ? On Wednesday 22 May 2002 04:51 pm, William Trenker wrote: Casey, ExternalEditor is already shaping up for my vote as Zope developer application of the year. This is a huge step forward. Thank you for this fine contribution. And thanks to you, Gabriel, for adapting the helper application to work with the Windows. It works just fine on my Windows 98 system with Opera 6.02. Bill Trenker Kelowna, BC, Canada Mit freundlichen Grüßen Joachim Schmitz AixtraWare Ingenieurbüro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 Key fingerprint = DA10 CC82 62F8 1DBB 39A1 1EDC 725B 3317 A8D7 C3A6 Keyserver: http://www.keyserver.net/en/ ___ 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] access to ZCatalog-data via xmlrpc
Hi, I want to acces a ZCatalog via xmlrpc, but server=xmlrpclib.Server(http://myserver.aixtraware.de; ,BasicAuthTransport(username=user,password=pw)) r = server.Catalog() results in Fault -1: Unexpected Zope exception: cannot marshal type 'IOBTreeItems' objects What is to do, to enable marshalling of those types ? Mit freundlichen Grüßen Joachim Schmitz AixtraWare Ingenieurbüro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 Key fingerprint = DA10 CC82 62F8 1DBB 39A1 1EDC 725B 3317 A8D7 C3A6 Keyserver: http://www.keyserver.net/en/ ___ 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] access to ZCatalog-data via xmlrpc
--On Mittwoch, Mai 29, 2002 16:15:44 +0100 Toby Dickenson [EMAIL PROTECTED] wrote: On Wednesday 29 May 2002 3:24 pm, Joachim Schmitz wrote: Hi, I want to acces a ZCatalog via xmlrpc, but server=xmlrpclib.Server(http://myserver.aixtraware.de; ,BasicAuthTransport(username=user,password=pw )) r = server.Catalog() results in Fault -1: Unexpected Zope exception: cannot marshal type 'IOBTreeItems' objects What is to do, to enable marshalling of those types ? You could hack xmlrpclib to marshall those object, but I dont recommend it. Those objects can be big (but lazily evaluated), and you would be opening a significant denial of service vulnerability in your server. But it also can be very interesting for exporting data from a Zope site, to be used in other applications. I suggest you create a method (Python Script?) that makes the catalog query, sanitizes the response by making sure it is not too big, and returns a vanilla list or dictionary I wrote a little pythonscript to export data from a ZPatterns Rack, where the data is stored in a propertysheet: res=context.Catalog() t=[] for m in sequence.sort(res,(('reg_id','cmp','desc'),)): r=m.propertysheets.Basic.propertyItems() t.append(r) return t This runs fine, when I test the script. But when I access it with xmlrpc, I get: Fault -1: Unexpected Zope exception: cannot marshal type 'None' objects I changed Zope xmlrpclib.py and added to the Marshaller class: def dump_None(self, value): self.write(valuestringNone/string/value\n) dispatch[NoneType] = dump_None Now that works, but I think the xmlrpclib.py, should be able to marshall the None type. Mit freundlichen Grüßen Joachim Schmitz AixtraWare Ingenieurbüro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 Key fingerprint = DA10 CC82 62F8 1DBB 39A1 1EDC 725B 3317 A8D7 C3A6 Keyserver: http://www.keyserver.net/en/ ___ 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] to __of__ or not to __of__ ?
Hi Casey, --On Mittwoch, August 14, 2002 23:38:52 -0400 Casey Duncan [EMAIL PROTECTED] wrote: The Item class mixes in Traversable, which is probably responsible for making this work TTW. It also gives you a bunch of other stuff that many Zope classes need, like DAV support, copy support, ZMI tab support and security. It doen't mix-in acquisition tho. If you need support for acquistion machinery (including __of__ which creates wrappers), then you need to mix-in Acquisition.Implicit. The SimpleItem class mixes this and Persistence in for you (along with Item), so many Zope classes derive form SimpleItem. You need Persistence to store instances of your class in the ZODB, and implicit acquisition is the standard for Zope objects. I actually don't know, if I need acquisition. The items are stored in the btree of the table, and I experienced no problems till now. I can copy and export/import AixtraTable instances and the data is preserved. In short I would recommend mixing in SimpleItem or you may find that your objects are not stored properly in the ZODB. Is that also true, if I store them in a btree ? -Casey BTW: People will take you a lot more seriously on this list if you loose the # {{{ ... #}}} crutches ;^) I use a folding editor (jed) and these are the folding marks. Folding makes your editing live much easier. ;-)) Mit freundlichen Grüßen Joachim Schmitz AixtraWare Ingenieurbüro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 Key fingerprint = DA10 CC82 62F8 1DBB 39A1 1EDC 725B 3317 A8D7 C3A6 Keyserver: http://www.keyserver.net/en/ ___ 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] Re: OT: folding editors
I can also define any foldmarks I wish in Jed. What do you suggest ? I actually didn't care until this mail ;-) --On Donnerstag, August 15, 2002 16:21:15 +0200 Jean Jordaan [EMAIL PROTECTED] wrote: # {{{ ... #}}} crutches ;^) I use a folding editor (jed) and these are the folding marks. Use Vim, it folds based on indentation (or anything else you care to teach it)! ; -- Jean Jordaan Upfront Systems http://www.upfrontsystems.co.za Mit freundlichen Grüßen Joachim Schmitz AixtraWare Ingenieurbüro für Internetanwendungen Hüsgenstr. 33a, D-52457 Aldenhoven Telefon: +49-2464-8851, FAX: +49-2464-905163 Key fingerprint = DA10 CC82 62F8 1DBB 39A1 1EDC 725B 3317 A8D7 C3A6 Keyserver: http://www.keyserver.net/en/ ___ 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] many conflict errors
Hi, in our Studentregistration portal we experience many conflict errors under heavy load many of them unresolved. the configuration ZEO-server running on one machine 4 Zope-Clients with CPS-3.4.2 with 4 threads each running on a second box, we are using the faster session product all running Zope 2.9.3, python 2.4.3 on Ubuntu 4.0.3 a typical case looks like this: about 5 or 6 messages in the log file with the oid 0x2b 2007-05-23T17:32:38 INFO ZPublisher.Conflict ConflictError at /VirtualHostBase/http/uniben.waeup.org:80/uniben/VirtualHostRoot/campus/students/S882364/study_course/create_level: database conflict error (oid 0x2b, class Products.faster.sessiondata.SessionDataContainer, serial this txn started with 0x036dd29c28404f33 2007-05-23 16:28:09.433877, serial currently committed 0x036dd29ed2491566 2007-05-23 16:30:49.285660) (780 conflicts (73 unresolved) since startup at Wed May 23 05:56:52 2007) and finally -- 2007-05-23T17:32:38 ERROR Zope.SiteErrorLog http://uniben.waeup.org/campus/students/S882364/study_course/create_level Traceback (innermost last): Module Zope2.App.startup, line 173, in zpublisher_exception_hook Module ZPublisher.Publish, line 121, in publish Module Zope2.App.startup, line 240, in commit Module transaction._manager, line 96, in commit Module Products.CPSCompat.PatchZODBTransaction, line 175, in commit Module transaction._transaction, line 433, in _commitResources Module ZODB.Connection, line 484, in commit Module ZODB.Connection, line 526, in _commit Module ZODB.Connection, line 554, in _store_objects Module tempstorage.TemporaryStorage, line 200, in store ConflictError: database conflict error (oid 0x2b, class Products.faster.sessiondata.SessionDataContainer, serial this txn started with 0x036dd29c28404f33 2007-05-23 16:28:09.433877, serial currently committed 0x036dd29ed2491566 2007-05-23 16:30:49.285660) Even though we have many write operations the write operations can't actually conflict, since each student only works on his own documents. Any hints howto to get further insight into this problem is welcome. -- Gruß Joachim ___ 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] Re: [Bug] ZODB invalidation processing
Hi Dieter, thanks for this hint. Dieter Maurer schrieb: Perry wrote at 2007-5-25 13:16 +0200: database conflict error (oid 0x7905e6, class BTrees._IOBTree.IOBucket, serial this txn started with 0x036ddc2a44454dee 2007-05-25 09:14:16.000950, serial currently committed 0x036ddc2c21950377 2007-05-25 09:16:07.870801) (80 conflicts (10 unresolved) since startup at Fri May 25 05:19:08 2007) In our private Zope version, I have still a note like this: # DM 2005-08-22: always call '_flush_invalidations' as it does # more than cache handling only self._flush_invalidations() if self._reset_counter != global_reset_counter: # New code is in place. Start a new cache. self._resetCache() # DM 2005-08-22: always call '_flush_invalidations' ##else: ##self._flush_invalidations() The note indicates that the bug was fixed at least at 2005-08-22 (though the handling was not completely right in case the cache was reset). In ZODB.Connection.Connection.open I see: if self._reset_counter != global_reset_counter: # New code is in place. Start a new cache. self._resetCache() else: self._flush_invalidations() So self._flush_invalidations() is only called in the else-condition. In your patch it is always called. I try your version and report back. -- Gruß Joachim ___ 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] Re: [ZODB-Dev] Re: [Bug] ZODB invalidation processing
Joachim Schmitz schrieb: Hi Dieter, thanks for this hint. Dieter Maurer schrieb: Perry wrote at 2007-5-25 13:16 +0200: database conflict error (oid 0x7905e6, class BTrees._IOBTree.IOBucket, serial this txn started with 0x036ddc2a44454dee 2007-05-25 09:14:16.000950, serial currently committed 0x036ddc2c21950377 2007-05-25 09:16:07.870801) (80 conflicts (10 unresolved) since startup at Fri May 25 05:19:08 2007) In our private Zope version, I have still a note like this: # DM 2005-08-22: always call '_flush_invalidations' as it does # more than cache handling only self._flush_invalidations() if self._reset_counter != global_reset_counter: # New code is in place. Start a new cache. self._resetCache() # DM 2005-08-22: always call '_flush_invalidations' ##else: ##self._flush_invalidations() The note indicates that the bug was fixed at least at 2005-08-22 (though the handling was not completely right in case the cache was reset). In ZODB.Connection.Connection.open I see: if self._reset_counter != global_reset_counter: # New code is in place. Start a new cache. self._resetCache() else: self._flush_invalidations() So self._flush_invalidations() is only called in the else-condition. In your patch it is always called. I try your version and report back. I patched the ZODB to always do the self._flush_invalidations(). But that didn't change anything, and after looking at the code it couldn't cause it was already always called. here again is the history of a conflict error for one user which finally fails: 2007-05-28T18:32:12 INFO ZPublisher.Conflict ConflictError at /VirtualHostBase/http/uniben.waeup.org:80/uniben/VirtualHostRoot/campus/students/V659242/study_course/create_level: database conflict error (oid 0x7fd771, class BTrees._IOBTree.IOBucket, serial this txn started with 0x036deefb352fd600 2007-05-28 17:31:12.465670, serial currently committed 0x036deefb9aa4d733 2007-05-28 17:31:36.244666) (34 conflicts (4 unresolved) since startup at Mon May 28 17:41:55 2007) 2007-05-28T18:32:44 INFO ZPublisher.Conflict ConflictError at /VirtualHostBase/http/uniben.waeup.org:80/uniben/VirtualHostRoot/campus/students/V659242/study_course/create_level: database conflict error (oid 0x7fd771, class BTrees._IOBTree.IOBucket, serial this txn started with 0x036deefb9aa4d733 2007-05-28 17:31:36.244666, serial currently committed 0x036deefc2e4ff122 2007-05-28 17:32:10.854439) (35 conflicts (4 unresolved) since startup at Mon May 28 17:41:55 2007) 2007-05-28T18:33:15 INFO Skins.create_level V659242 finished to create level 1002007-05-28T18:34:29 INFO ZPublisher.Conflict ConflictError at /VirtualHostBase/http/uniben.waeup.org:80/uniben/VirtualHostRoot/campus/students/V659242/study_course/create_level: database conflict error (oid 0x7fd771, class BTrees._IOBTree.IOBucket, serial this txn started with 0x036deefc2e4ff122 2007-05-28 17:32:10.854439, serial currently committed 0x036deefe18489244 2007-05-28 17:34:05.691441) (36 conflicts (4 unresolved) since startup at Mon May 28 17:41:55 2007) 2007-05-28T18:35:21 INFO Skins.create_level V659242 finished to create level 1002007-05-28T18:38:36 INFO ZPublisher.Conflict ConflictError at /VirtualHostBase/http/uniben.waeup.org:80/uniben/VirtualHostRoot/campus/students/V659242/study_course/create_level: database conflict error (oid 0x7fd771, class BTrees._IOBTree.IOBucket, serial this txn started with 0x036deefe18489244 2007-05-28 17:34:05.691441, serial currently committed 0x036def009207e011 2007-05-28 17:36:34.225960) (42 conflicts (4 unresolved) since startup at Mon May 28 17:41:55 2007) -- 2007-05-28T18:38:36 ERROR Zope.SiteErrorLog http://uniben.waeup.org/campus/students/V659242/study_course/create_level Traceback (innermost last): Module Zope2.App.startup, line 173, in zpublisher_exception_hook Module ZPublisher.Publish, line 121, in publish Module Zope2.App.startup, line 240, in commit Module transaction._manager, line 96, in commit Module Products.CPSCompat.PatchZODBTransaction, line 175, in commit Module transaction._transaction, line 436, in _commitResources Module ZODB.Connection, line 665, in tpc_vote Module ZEO.ClientStorage, line 893, in tpc_vote Module ZEO.ClientStorage, line 877, in _check_serials ConflictError: database conflict error (oid 0x7fd771, class BTrees._IOBTree.IOBucket, serial this txn started with 0x036deefe18489244 2007-05-28 17:34:05.691441, serial currently committed 0x036def009207e011 2007-05-28 17:36:34.225960) -- How can I find out, which objects are really involved in the conflict. -- Gruß Joachim ___ 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
[Zope-dev] Re: [ZODB-Dev] Re: [Bug] ZODB invalidation processing
Andreas Jung schrieb: --On 28. Mai 2007 21:12:13 +0200 Andreas Jung [EMAIL PROTECTED] wrote: --On 28. Mai 2007 20:03:47 +0200 Joachim Schmitz [EMAIL PROTECTED] wrote: Joachim Schmitz schrieb: ConflictError: database conflict error (oid 0x7fd771, class BTrees._IOBTree.IOBucket, serial this txn started with 0x036deefe18489244 2007-05-28 17:34:05.691441, serial currently committed 0x036def009207e011 2007-05-28 17:36:34.225960) -- How can I find out, which objects are really involved in the conflict. from ZODB.utils import p64 print app._p_jar[p64(some_oid)] The oid is available from the traceback. If you are running ZEO it might be necessary to replace 'app' with the top-level (or some other object) of the related storage (might be tricky to figure out if you have multiple storages). Another trick that helped me lately to identify the reason for conflict errors was to implement the _p_resolveConflict() hook as method of the related class having the conflict. How would I do that for the Class _IOBTree, which is in a c-module ? -- Gruß Joachim ___ 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] Re: [Bug] ZODB invalidation processing
Joachim Schmitz schrieb: I could reproduce the conflict error on my local machine not using ZEO. I invoked the longrunning process create_level for two users after a zope-restart. here is the log: 2007-05-31 09:44:24 INFO Zope Ready to handle requests 2007-05-31 09:44:39 INFO Skins.create_level A923157 started to create level 200 2007-05-31 09:44:41 INFO Skins.create_level Y617041 started to create level 400 the next two entries are printed before the redirect/commit 2007-05-31 09:45:01 INFO Skins.create_level Y617041 finished to create level 400 2007-05-31 09:45:06 INFO Skins.create_level A923157 finished to create level 200 Now the conflict error, look at the transaction start-time, this is before the restart of zope !! 2007-05-31 09:45:25 INFO ZPublisher.Conflict ConflictError at /uniben/campus/students/A923157/study_course/create_level: database conflict error (oid 0x3360e3, class BTrees._OIBTree.OIBucket, serial this txn started with 0x036dfd7c73dfc1dd 2007-05-31 07:24:27.157981, serial currently committed 0x036dfd9131112455 2007-05-31 07:45:11.500069) (1 conflicts (0 unresolved) since startup at Thu May 31 09:44:24 2007) now this is retried for A923157 2007-05-31 09:45:26 INFO Skins.create_level A923157 started to create level 200 2007-05-31 09:45:45 INFO Skins.create_level A923157 finished to create level 200 I deleted the created objects and repeated the test: 2007-05-31 12:46:12 ERROR Zope.ZCatalog uncatalogObject unsuccessfully attempted to uncatalog an object with a uid of /uniben/campus/students/A923157/study_course/200/ZOO213. 2007-05-31 12:47:05 INFO Skins.create_level Y617041 started to create level 400 2007-05-31 12:47:14 INFO Skins.create_level A923157 started to create level 200 2007-05-31 12:47:25 INFO Skins.create_level Y617041 finished to create level 400 2007-05-31 12:47:40 INFO Skins.create_level A923157 finished to create level 200 2007-05-31 12:47:58 INFO ZPublisher.Conflict ConflictError at /uniben/campus/students/A923157/study_course/create_level: database conflict error (oid 0x3647b0, class BTrees._IOBTree.IOBucket, serial this txn started with 0x036dfe463486d955 2007-05-31 10:46:12.310958, serial currently committed 0x036dfe479a5725cc 2007-05-31 10:47:36.173536) (3 conflicts (0 unresolved) since startup at Thu May 31 09:44:24 2007) again the txn starttime is that of an older transaction, and it is the time of the uncatalog entry. If I invoke the create_level only for one student, no conflict-error occurs. -- Gruß Joachim ___ 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] Re: [Bug] ZODB invalidation processing
Hi, I was able to locate the places in the Zope-sources where the conflict error is triggered. On my local system it's in ZODB.FileStorage in the store-method there is if serial != cached_tid: rdata = self.tryToResolveConflict(oid, cached_tid,serial, data) in the tryToResolveConflict method of ZODB.ConnflictResolution there is: committed = state(self, oid, committedSerial, prfactory, committedData) print resolve, resolve resolved = resolve(old, committed, newstate) I found that the resolve-function raises an ConflictError exception, so I put an print there to find out which resolve function. Here is the output: resolve bound method Length._p_resolveConflict of BTrees.Length.Length object at 0xb28fff6c resolve built-in method _p_resolveConflict of BTrees._OIBTree.OIBucket object at 0xb1b81224 resolve built-in method _p_resolveConflict of BTrees._OIBTree.OIBucket object at 0xb1b81224 resolve built-in method _p_resolveConflict of BTrees._OIBTree.OIBucket object at 0xb260c80c resolve built-in method _p_resolveConflict of BTrees._OIBTree.OIBucket object at 0xb260c614 resolve bound method Length._p_resolveConflict of BTrees.Length.Length object at 0xb2a9146c resolve built-in method _p_resolveConflict of BTrees._IOBTree.IOBucket object at 0xb1b81224 The last resolve raises an exeption (Pdb) p sys.exc_info() (class ZODB.POSException.BTreesConflictError at 0xb78df0bc, BTreesConflictError(-1, 47, 47, 6), traceback object at 0xb1c34dec) How can I invest this further, especially how can I get information about the actual object,which is causing the conflict. -- Gruß Joachim ___ 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] Re: [Bug] ZODB invalidation processing
one very important finding: tryToResolveConflict fails in the resolve function resolve built-in method _p_resolveConflict of BTrees._IOBTree.IOBucket object at 0xb1ab82b4 by raising an exception, when I call it again from the debugger I get. (Pdb) resolved = resolve(old, committed, newstate) *** BTreesConflictError: BTrees conflict error at -1/47/47: Conflicting inserts So that is the real error. -- Gruß Joachim ___ 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] Re: [Bug] ZODB invalidation processing
Tres Seaver schrieb: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Not if the sessions being used are from 'faster' -- it doesn't use IOBTree. The major application use of that module is in the catalog. you correct see below: Try dumping out the contents of the bucket: for k, v in bucket.items(): print k, type(v) resolve built-in method _p_resolveConflict of BTrees._IOBTree.IOBucket object at 0xb1ab82b4 print root._p_jar[p64(0xb1ab82b4)] *** POSKeyError: ZODB.POSException.POSKeyError instance at 0xa8f9e6cc with the recepies here http://www.zopelabs.com/cookbook/1114086617 I was able to get the information about the oid, which is passed to tryToResolveConflict, here is the result BTrees._IOBTree.IOBTree object at 0xb562fadc DateIndex at created Products.ZCatalog.Catalog.Catalog object at 0xb12d622c CatalogTool at portal_catalog CPSDefaultSite at uniben Application at {'Application': Application at , 'ZGlobals': BTrees._OOBTree.OOBTree object at 0xb2739224} What does this tell us ? -- Gruß Joachim ___ 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] Re: [Bug] ZODB invalidation processing
Tres Seaver schrieb: BTrees._IOBTree.IOBTree object at 0xb562fadc DateIndex at created Products.ZCatalog.Catalog.Catalog object at 0xb12d622c CatalogTool at portal_catalog CPSDefaultSite at uniben Application at {'Application': Application at , 'ZGlobals': BTrees._OOBTree.OOBTree object at 0xb2739224} What does this tell us ? That is a real conflict: both transactions have inserted values into the 'created' date index's '_index' under the same key, which can't be resolved. Retrying the transaction is the only choice here. Because DateIndexes convert the indexed value to an integer with precision of one minute, really one minute or do you mean second. a date index on 'created' is fairly likely to generate such conflicts when two parties both create content at the same time. But then I wonder how a CMF site could ever work, this error shows up already on my lokal system when to users add something. On our live system it is killing our portal ? I would consider this a bug. Ideally, one would examine the two values being inserted, note that they were both IITreeSet instances containing one int apiece, and exploit our knowledge of the application semantics to merge them, removing the conflict; however, *because* they are IITreeSets, and therefore separate persistent objects, their state is not available to the bucket's '_p_resolveConflict', which must therefore lose. -- Gruß Joachim ___ 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] Re: [Bug] ZODB invalidation processing
Any suggestion for a temporary fix would be very welcome, since we get about 6000 conflict errors per day now about 15 % unresolved, and they are really killing our portal. A workaround might be to replace the DateIndexes for 'created' and 'modified' with FieldIndexes: you will see a big jump in the number of keys in the index, but (perhaps) a reduction in conflicts (altheough there will be more bucket splits, which can also cause conflicts). Unfortunately that does not work the FieldIndex also gives an conflict-error FieldIndex at Date Products.ZCatalog.Catalog.Catalog object at 0xb250a6ec CatalogTool at portal_catalog CPSDefaultSite at uniben Application at {'Application': Application at , 'ZGlobals': BTrees._OOBTree.OOBTree object at 0xb242989c} 2007-06-01 20:23:41 INFO ZPublisher.Conflict ConflictError at /uniben/campus/students/A923157/study_course/create_level: database conflict error (oid 0x36c429, class BTrees._OOBTree.OOBTree, serial this txn started with 0x036e0590d58661ee 2007-06-01 17:52:50.044906, serial currently committed 0x036e059346ef95dd 2007-06-01 17:55:16.625597) (1 conflicts (0 unresolved) since startup at Fri Jun 1 19:54:43 2007) A longer term solution might be to come up with a derived index type which used non-persistent objects (rather than the IITreeSet used by UnIndex) for the set of RIDs stored under each 'minute': you could then inspect the state and do more aggressive conflict resolution than the stock implementation allows (see my other post). any other shortterm suggestions. -- Gruß Joachim ___ 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] QueueCatalog
Hi, with the help of QueueCatalog we were able to reduce the conflict errors from around 6000 per day to about 600. Now the question, where can I send questions,bugreports patches ? -- Gruß Joachim ___ 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] QueueCatalog bug when process all indexes imediatly is checked
Hi, this is with a svn checkout of QueueCatalog. When the process all indexes imediatly is checked I get: 2007-06-16 12:57:44 ERROR event.QueueCatalog error cataloging object Traceback (most recent call last): File /home/perry/Zope/instances/homewaeup/Products/QueueCatalog/QueueCatalog.py, line 425, in _process_queue update_metadata=not immediate_metadata) File /home/perry/Zope/instances/waeup/Products/CPSCore/PatchCMFCoreCatalogTool.py, line 206, in cat_catalog_object idxs = [i for i in idxs if self._catalog.indexes.has_key(i)] TypeError: iteration over non-sequence 2007-06-16 12:57:45 ERROR event.QueueCatalog error cataloging object Traceback (most recent call last): File /home/perry/Zope/instances/homewaeup/Products/QueueCatalog/QueueCatalog.py, line 425, in _process_queue update_metadata=not immediate_metadata) File /home/perry/Zope/instances/waeup/Products/CPSCore/PatchCMFCoreCatalogTool.py, line 206, in cat_catalog_object idxs = [i for i in idxs if self._catalog.indexes.has_key(i)] TypeError: iteration over non-sequence The error is caused by line 393 of QueueCatalog.py def _process_queue(self, queue, limit): Process a single queue catalog = self.getZCatalog() if self.getProcessAllIndexes(): #idxs = None this is wrong it must be idxs = catalog.indexes() else: cat_indexes = sets.Set(catalog.indexes()) immediate_indexes = sets.Set(self._immediate_indexes) if not immediate_indexes or immediate_indexes==cat_indexes: #idxs = None # do all of 'emalso here idxs = catalog.indexes() # do all of 'em Even after applying these changes, the queue still fills up, when process all indexes imediatly is checked. We wanted to disable the QueueCatalog for a mass-data import. -- Gruß Joachim ___ 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] QuequeCatalog and GenericSetup
Hi, We are now using the QueueCatalog as a replacement of the portal_catalog, and renamed the original portal_catalog to portal_catalog_real. In our local toolset.xml I definded required tool_id=portal_catalog_real class=Products.CMFCore.CatalogTool.CatalogTool/ That works, but in the toolset.xml of cps there is: required tool_id=portal_catalog class=Products.CMFCore.CatalogTool.CatalogTool/ This overrides the portal_catalog on each portal_setup profile import. Or if I import the required tools. How can I avoid that ? -- Gruß Joachim ___ 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] Re: QuequeCatalog and GenericSetup
Tres Seaver schrieb: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Joachim Schmitz wrote: Hi, We are now using the QueueCatalog as a replacement of the portal_catalog, and renamed the original portal_catalog to portal_catalog_real. In our local toolset.xml I definded required tool_id=portal_catalog_real class=Products.CMFCore.CatalogTool.CatalogTool/ That works, but in the toolset.xml of cps there is: required tool_id=portal_catalog class=Products.CMFCore.CatalogTool.CatalogTool/ This overrides the portal_catalog on each portal_setup profile import. Or if I import the required tools. How can I avoid that ? Create a new baseline profile (e.g., by exporting your configuration after setting up the QC). Set *that* baseline as your current one, before doing an import (rather than re-importing the CPS baseline). I am not certain, that this will work. I made snapshot and the toolset.xml contains this: required tool_id=portal_catalog class=Products.CMFCore.CatalogTool.CatalogTool/ This is what causes the problem. required tool_id=portal_catalog_real class=Products.CMFCore.CatalogTool.CatalogTool/ -- Gruß Joachim ___ 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] howto move the portal_catalog to a separate zeo-server ?
hi, In a zeo-client, zeo-server-setup is it possible to move the portal_catalog of a cmf/cps-instance, to a separate zeo-server ? If yes, what would be the steps ? Especially how to define the mount-point. -- Mit freundlichen GrüßenJoachim Schmitz .. AixtraWare eK ..Joachim Schmitz ..www.aixtraware.de ..t: +49-2464-8851 Hüsgenstr. 33a .d-52457 Aldenhoven .f: +49-2464-905163 ___ 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] Re: QuequeCatalog and GenericSetup
Joachim Schmitz schrieb: Tres Seaver schrieb: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Joachim Schmitz wrote: Hi, We are now using the QueueCatalog as a replacement of the portal_catalog, and renamed the original portal_catalog to portal_catalog_real. In our local toolset.xml I definded required tool_id=portal_catalog_real class=Products.CMFCore.CatalogTool.CatalogTool/ That works, but in the toolset.xml of cps there is: required tool_id=portal_catalog class=Products.CMFCore.CatalogTool.CatalogTool/ This overrides the portal_catalog on each portal_setup profile import. Or if I import the required tools. How can I avoid that ? Create a new baseline profile (e.g., by exporting your configuration after setting up the QC). Set *that* baseline as your current one, before doing an import (rather than re-importing the CPS baseline). I am not certain, that this will work. I made snapshot and the toolset.xml contains this: required tool_id=portal_catalog class=Products.CMFCore.CatalogTool.CatalogTool/ This is what causes the problem. required tool_id=portal_catalog_real class=Products.CMFCore.CatalogTool.CatalogTool/ I also made a snapshot, and imported the snapshot, that also resets the portal_catalog from a QueueCatalog to the catalog_tool. -- Gruß Joachim ___ 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] Re: possible bug in Catalog.py with keyword index ?
Dieter Maurer schrieb: Joachim Schmitz wrote at 2007-7-20 10:40 +0200: Obviously, you got the wrong mainling list. This is not a ZODB problem... my mistake it should have gone to the zope-dev list. ... I found in Catalog.py updateMetadata around line 306 else: if data.get(index, 0) != newDataRecord: data[index] = newDataRecord the if condition evaluates always to false, cause the data.get(index,0) accesses the data of the index and not of the metadata field as long as Zope was not restarted that worked fine. The code above should prevent a write (which would grow the storage) when in fact nothing changed. And it looks correct. Yes, but it does not work as exspected. Here is a more detailed description of our usecase: In our catalog we have a keyword index registered_courses and a metadata field registered_courses. If a student registers a new course an event is triggered, which adds the new course to the index. In our event-handler we have: res = students_catalog(id = student_id) if not res: return student_rec = res[0] registered_courses = getattr(student_rec,'registered_courses',None) if not registered_courses: registered_courses = [] #import pdb;pdb.set_trace() if event_type == sys_add_object: if course_id not in registered_courses: registered_courses.append(course_id) else: return elif registered_courses and event_type == sys_del_object: removed = False while course_id in registered_courses: removed = True registered_courses.remove(course_id) if not removed: return record_data = {} for field in self.schema() + self.indexes(): record_data[field] = getattr(student_rec, field) # Add the updated data: record_data.update(data) self.catalog_object(dict2ob(record_data), student_id) where dict2obj does just that. That updates the meta_data only on index_creation, and after a zope restart the meta_data for registered_courses only contained the first added course. That was because (i asume) data.get(index, 0) always got the data from the index, and not from the meta_data. I could veryfy this by looking at the catalog-record in the ZMI. So it neve got to update the meta_data, so the real cause for this problem is that data.get(index, 0), returns the value of the index here and not that of the meta_data. -- Gruß Joachim ___ 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] security problem in an monkey-patch
Hi, I have monkey-patched the QueueCatalog to adopt it to our needs, which works fine. I now wanted to introduce a new feature: The QueueCatalog should be bypassed during mass-import of data. So I introduced a new variable _bypass, and new getBypassQueue() and setBypassQueue methods in the monkey-patch: security.declareProtected(view_management_screens, 'getBypassQueue') def getBypassQueue(self): get _by_pass if not hasattr(self,_bypass): self._bypass = False return self._bypass security.declareProtected(view_management_screens, 'setBypassQueue') def setBypassQueue(self, bypass=False): set _bypass self._bypass = bypass from Products.QueueCatalog.QueueCatalog import QueueCatalog QueueCatalog.getBypassQueue = getBypassQueue QueueCatalog.setBypassQueue = setBypassQueue I can invoke these methods from the url like: ../portal_catalog/setBypassQueue?bypass=1 and ../portal_catalog/getBypassQueue displays a 1 But when I do a: input type=checkbox name=enable_bypass tal:attributes=checked here/portal_catalog/getBypassQueue / I get: Unauthorized: The container has no security assertions. Access to 'getBypassQueue' of (QueueCatalog at /uniben/portal_catalog) denied. What I am missing here. -- Gruß Joachim ___ 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] Re: security problem in an monkey-patch
Tres Seaver schrieb: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 security.declareProtected(view_management_screens, 'getBypassQueue') def getBypassQueue(self): get _by_pass if not hasattr(self,_bypass): self._bypass = False return self._bypass I would write this as: return getattr(self, '_bypass', False) avoiding both write-on-read and hasattr in one fell swoop. thanks for the tip. input type=checkbox name=enable_bypass tal:attributes=checked here/portal_catalog/getBypassQueue / I get: Unauthorized: The container has no security assertions. Access to 'getBypassQueue' of (QueueCatalog at /uniben/portal_catalog) denied. What I am missing here. You need to supply security assertions for the new method you have adeed to the class (your security assertions are being left behind in the context where you defined the function).. Likely you can add another attribute to the class, 'getBypassQueue__roles__', with the value being a tuple, ('Manager',) (unless you want to figure out how to create a PermissionRoles object yourself). I solved it with: QueueCatalog.getBypassQueue__roles__ = ['Manager', 'Owner',] thanks for the help. -- Gruß Joachim ___ 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] zeo and queuecatalog conflict-resolution
What is the recommended method to make the conflict-resolution-code available to the zeo-server ? Is there a Products directive for zeo.conf ? -- Gruß Joachim ___ 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] zeo and queuecatalog conflict-resolution
Andreas Jung schrieb: --On 10. Februar 2008 18:34:54 +0100 Joachim Schmitz [EMAIL PROTECTED] wrote: What is the recommended method to make the conflict-resolution-code available to the zeo-server ? Is there a Products directive for zeo.conf ? I think it is sufficient that the Products directory is in the PYTHONPATH or available through sys.path. would something like: INSTANCE_PRODUCTS=/home/Zope/instances/waeup/Products ZODB3_HOME=/home/Zope/install/z296/lib/python PYTHONPATH=$ZODB3_HOME:$INSTANCE_PRODUCTS export PYTHONPATH INSTANCE_HOME in zeoctl do, and how can I check that it is realy effective ? -- Gruß Joachim ___ 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 )