From razavi at acm.org Thu Apr 1 12:08:39 2010 From: razavi at acm.org (Reza RAZAVI) Date: Thu, 01 Apr 2010 12:08:39 +0200 Subject: Login issue on deployed Pier Message-ID: <89dhun$19c2a8@smtp.pt.lu> Hi, I pointed Pier to a student. He installed and deployed it, thanks to piercms.com. However, he is unsuccessful in logging into the deployed image, whilst the same work on his local computer. Any comment and suggestion would be greatly appreciated, Regards, Reza From renggli at gmail.com Thu Apr 1 13:12:35 2010 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 1 Apr 2010 13:12:35 +0200 Subject: Login issue on deployed Pier In-Reply-To: <89dhun$19c2a8@smtp.pt.lu> References: <89dhun$19c2a8@smtp.pt.lu> Message-ID: > I pointed Pier to a student. He installed and deployed it, thanks to > piercms.com. However, he is unsuccessful in logging into the deployed image, > whilst the same work on his local computer. What happens when he logs in? What happens if he gives wrong username and password? Anything else that is broken? Lukas -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Thu Apr 1 14:26:45 2010 From: razavi at acm.org (Reza RAZAVI) Date: Thu, 01 Apr 2010 14:26:45 +0200 Subject: Login issue on deployed Pier In-Reply-To: References: <89dhun$19c2a8@smtp.pt.lu> Message-ID: <89dhun$19dd3d@smtp.pt.lu> Hi Lukas, At 13:12 01/04/2010, you wrote: >What happens when he logs in? The same page is just rendered again. >What happens if he gives wrong username and password? Just nothing. >Anything else that is broken? Well, I wanted once to show him how Pier works. So, on his local machine, I logged and added a post to the blog. But, then wasn't able to find it, neither in the blog page, nor in in the archive list. I'm not sure; maybe I've made a wrong manipulation. Just in case you would like to have a look, his experimental site is here: http://www.bamlux.net/ username and password are the default ones. The image is the one available at: http://piercms.com/ It's running on a Debian / Apache2 server, configured following your instructions here: http://www.piercms.com/doc/deploy Thanks for having considered my request, Regards, Reza -------------- next part -------------- An HTML attachment was scrubbed... URL: From renggli at gmail.com Thu Apr 1 14:46:56 2010 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 1 Apr 2010 14:46:56 +0200 Subject: Login issue on deployed Pier In-Reply-To: <89dhun$19dd3d@smtp.pt.lu> References: <89dhun$19c2a8@smtp.pt.lu> <89dhun$19dd3d@smtp.pt.lu> Message-ID: > Just in case you would like to have a look, his experimental site is here: > http://www.bamlux.net/ > > username and password are the default ones. > > The image is the one available at: > http://piercms.com/ The URL that Seaside generates is wrong: http://www.bamlux.net/seaside/pier You need to go to the configuration of the application and change the 'Server Base Path' to '/'. Then it should work. You can find some more information on the base path at . Lukas -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Thu Apr 1 15:20:47 2010 From: razavi at acm.org (Reza RAZAVI) Date: Thu, 01 Apr 2010 15:20:47 +0200 Subject: Login issue on deployed Pier In-Reply-To: References: <89dhun$19c2a8@smtp.pt.lu> <89dhun$19dd3d@smtp.pt.lu> Message-ID: <89dhun$19dvlc@smtp.pt.lu> At 14:46 01/04/2010, you wrote: >You need to go to the configuration of the application and change the >'Server Base Path' to '/'. Many thanks Lukas; it works now. (the site may be down, since he is "playing" with Apache). Cheers, Reza From renggli at gmail.com Fri Apr 2 10:08:14 2010 From: renggli at gmail.com (Lukas Renggli) Date: Fri, 2 Apr 2010 10:08:14 +0200 Subject: MADescription beHidden don't update model In-Reply-To: References: Message-ID: I do not understand your question, but maybe the FAQ sheds some light on it? http://www.lukas-renggli.ch/smalltalk/magritte/faq Lukas On 25 March 2010 16:56, dtrussardi at tiscali.it wrote: > Hi, > > i have a model with some descriptions. > > One of it, descriptionMap, is set with beHidden property because i think to use it only for update the relative cache description into descriptionContainer. > > The relative code is : > > ^( super descriptionContainer ) > ? ? ? ?addCondition:[ : memento| > > ? ? ? ? ? ? ? ? memento cache at: self descriptionOK > > ? ? ? ? ? ? ? ? ? ? ? ? ifTrue: [ ? ? ?memento cache ? at: self descriptionMap put: ?'xyz'. ? ? ?true ] > > ? ? ? ? ? ? ? ? ? ? ? ?ifFalse:[ false ]. > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?] > ? ? ? ?labelled: ?'Error is not ok; > ? ? ? ?yourself > > > > The cache is right update. > > The problem is to update the model relative to the descriptionMap cache. > > When confirm the form other instances model is right update but descriptionMap not. > > Any idea? > > Thanks, > > ? ? ? ?Dario > > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From tulipe.moutarde at gmail.com Fri Apr 2 22:10:29 2010 From: tulipe.moutarde at gmail.com (Francois Stephany) Date: Fri, 02 Apr 2010 22:10:29 +0200 Subject: Magritte validations may weaken domain model Message-ID: Hi all, I'm reading the chapter on magritte in the seaside book and found this in section 24.5 : "There are advantages to having your rules outside your domain objects, [...snip...] Still you have to pay attention since it may weaken your domain model." Any pointer to a discussion about the pro/cons of this approach ? Nothing important, I'm just curious to know... Cheers, Francois From renggli at gmail.com Sat Apr 3 09:33:53 2010 From: renggli at gmail.com (Lukas Renggli) Date: Sat, 3 Apr 2010 09:33:53 +0200 Subject: Magritte validations may weaken domain model In-Reply-To: References: Message-ID: On 2 April 2010 22:10, Francois Stephany wrote: > Hi all, > > I'm reading the chapter on magritte in the seaside book and found this in > section 24.5 : > > "There are advantages to having your rules outside your domain objects, > [...snip...] Still you have to pay attention since it may weaken your domain > model." What this means is that it might be better to put the validation directly into your model. MyModel>>isValid ^ some complicated condition Generally there is a trade-off between putting the domain validation into the model or into the meta-model (as with about anything that can be part of the meta-model). If you put it into the model it is closer to the data and behavior and might be easier for people not accustomed to meta-models; if you put it into the meta-model it is more generic and can potentially be reused and extended for different models. Sort of as a workaround you can call the meta-model to do the validation from the model. Something like: MyModel>>isValid ^ self description isSatisfiedBy: self Lukas > > Any pointer to a discussion about the pro/cons of this approach ? > Nothing important, I'm just curious to know... > > Cheers, > Francois > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From norbert at hartl.name Mon Apr 5 17:40:35 2010 From: norbert at hartl.name (Norbert Hartl) Date: Mon, 5 Apr 2010 17:40:35 +0200 Subject: http view parameter not working in gemstone Message-ID: <103B3B0D-C9F2-46DF-88F4-D6237BAAE277@hartl.name> I installed a complete new pier on a fresh gemstone image and noticed that the RSS views are not working. This is due another "aString is not equal to aSymbol" issue. In PRPierFrame class>>classFromRequest: aRequest name: aString base: aBaseClass there is ^ aBaseClass withAllConcreteClasses detect: [ :each | each isAbstract not and: [ each name = value or: [ each label = value ] ] ] ifNone: [ nil ] but class names are symbols and http parameters are strings. So I changed this to ^ aBaseClass withAllConcreteClasses detect: [ :each | each isAbstract not and: [ each name = value asSymbol or: [ each label = value ] ] ] ifNone: [ nil ] Norbert From renggli at gmail.com Mon Apr 5 17:56:51 2010 From: renggli at gmail.com (Lukas Renggli) Date: Mon, 5 Apr 2010 17:56:51 +0200 Subject: http view parameter not working in gemstone In-Reply-To: <103B3B0D-C9F2-46DF-88F4-D6237BAAE277@hartl.name> References: <103B3B0D-C9F2-46DF-88F4-D6237BAAE277@hartl.name> Message-ID: Thank you for the bug report. I've committed a fix. On 5 April 2010 17:40, Norbert Hartl wrote: > I installed a complete new pier on a fresh gemstone image and noticed that the RSS views are not working. This is due another "aString is not equal to aSymbol" issue. > > In PRPierFrame class>>classFromRequest: aRequest name: aString base: aBaseClass > > there is > > ^ aBaseClass withAllConcreteClasses > ? ? ? ? ? ? ? ?detect: [ :each | > ? ? ? ? ? ? ? ? ? ? ? ?each isAbstract not > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?and: [ each name = value > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?or: [ each label = value ] ] ] > ? ? ? ? ? ? ? ?ifNone: [ nil ] > > but class names are symbols and http parameters are strings. So I changed this to > > ^ aBaseClass withAllConcreteClasses > ? ? ? ? ? ? ? ?detect: [ :each | > ? ? ? ? ? ? ? ? ? ? ? ?each isAbstract not > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?and: [ each name = value asSymbol > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?or: [ each label = value ] ] ] > ? ? ? ? ? ? ? ?ifNone: [ nil ] > > Norbert > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From norbert at hartl.name Tue Apr 6 16:00:19 2010 From: norbert at hartl.name (Norbert Hartl) Date: Tue, 6 Apr 2010 16:00:19 +0200 Subject: stream next different in gemstone Message-ID: <3A71180E-F76D-4978-99DB-D90445A155AB@hartl.name> Hi, in gemstone stream next throws an exception if the stream is atEnd. In pharo it returns nil. I changed in PBBlog>>defaultChildName code next ifNotNilDo: [ :separator | stream nextPut: separator ] ] ] to code atEnd ifFalse: [ stream nextPut: code next ] ] ] Norbert From renggli at gmail.com Tue Apr 6 17:08:11 2010 From: renggli at gmail.com (Lukas Renggli) Date: Tue, 6 Apr 2010 17:08:11 +0200 Subject: stream next different in gemstone In-Reply-To: <3A71180E-F76D-4978-99DB-D90445A155AB@hartl.name> References: <3A71180E-F76D-4978-99DB-D90445A155AB@hartl.name> Message-ID: Thank you for the fix, I've integrated the change in both Pier 1 and 2. Lukas On 6 April 2010 16:00, Norbert Hartl wrote: > Hi, > > in gemstone stream next throws an exception if the stream is atEnd. In pharo it returns nil. I changed in > > PBBlog>>defaultChildName > > ? ? ? ?code next > ? ? ? ? ? ? ? ?ifNotNilDo: [ :separator | stream nextPut: separator ] ] ] > > to > > ? ? ? ?code atEnd > ? ? ? ? ? ? ? ?ifFalse: [ stream nextPut: code next ] ] ] > > Norbert > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From davorin.rusevljan at gmail.com Wed Apr 7 00:15:11 2010 From: davorin.rusevljan at gmail.com (Davorin Rusevljan) Date: Wed, 7 Apr 2010 00:15:11 +0200 Subject: description refresh Message-ID: Hi, I have description that goes something like this: Autor>>descriptionRegija ^ MASingleOptionDescription new accessor: #regija; label: 'Regija'; priority: 700; options: LAURegija findAll; beRequired; yourself the idea is to have a drop down that will display all available LAURegija instances. Now the problem is that Magritte seems to cache this description and method descriptionRegija does not get called every time the form is displayed, and consequently, if a new LAURegija is added, it is not present in the drop down. So how to work around it? Many thanks, rush http://www.cloud208.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From norbert at hartl.name Wed Apr 7 00:20:20 2010 From: norbert at hartl.name (Norbert Hartl) Date: Wed, 7 Apr 2010 00:20:20 +0200 Subject: description refresh In-Reply-To: References: Message-ID: On 07.04.2010, at 00:15, Davorin Rusevljan wrote: > Hi, > > I have description that goes something like this: > > Autor>>descriptionRegija > ^ MASingleOptionDescription new > accessor: #regija; > label: 'Regija'; > priority: 700; > options: LAURegija findAll; > beRequired; > yourself > > the idea is to have a drop down that will display all available LAURegija instances. Now the problem is that Magritte seems to cache this description and method descriptionRegija does not get called every time the form is displayed, and consequently, if a new LAURegija is added, it is not present in the drop down. > > So how to work around it? > Try options: [ LAURegija findAll ] asDynamicObject; regards, Norbert From davorin.rusevljan at gmail.com Wed Apr 7 00:37:07 2010 From: davorin.rusevljan at gmail.com (Davorin Rusevljan) Date: Wed, 7 Apr 2010 00:37:07 +0200 Subject: description refresh In-Reply-To: References: Message-ID: > > > options: [ LAURegija findAll ] asDynamicObject; > > asDynamicObject generated MNU, but magritteDynamicObject worked like charm. Many thanks, rush http://www.cloud208.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From yanni at rogers.com Wed Apr 7 07:12:31 2010 From: yanni at rogers.com (Yanni Chiu) Date: Wed, 07 Apr 2010 01:12:31 -0400 Subject: description refresh In-Reply-To: References: Message-ID: Davorin Rusevljan wrote: > the idea is to have a drop down that will display all available > LAURegija instances. Now the problem is that Magritte seems to cache > this description and method descriptionRegija does not get called every > time the form is displayed, and consequently, if a new LAURegija is > added, it is not present in the drop down. > > So how to work around it? Try: options: [ LAURegija findAll ] magritteDynamicObject; There are some caveats in the class comment for MADynamicObject. From norbert at hartl.name Wed Apr 7 08:39:39 2010 From: norbert at hartl.name (Norbert Hartl) Date: Wed, 7 Apr 2010 08:39:39 +0200 Subject: description refresh In-Reply-To: References: Message-ID: <31F157AC-4FC5-4799-9016-E9DB630D5861@hartl.name> On 07.04.2010, at 07:12, Yanni Chiu wrote: > Davorin Rusevljan wrote: >> the idea is to have a drop down that will display all available LAURegija instances. Now the problem is that Magritte seems to cache this description and method descriptionRegija does not get called every time the form is displayed, and consequently, if a new LAURegija is added, it is not present in the drop down. So how to work around it? > > Try: > > options: [ LAURegija findAll ] magritteDynamicObject; > > There are some caveats in the class comment for MADynamicObject. > Which version of Magritte is this? Norbert From jfitzell at gmail.com Wed Apr 7 09:19:18 2010 From: jfitzell at gmail.com (Julian Fitzell) Date: Wed, 7 Apr 2010 08:19:18 +0100 Subject: description refresh In-Reply-To: <31F157AC-4FC5-4799-9016-E9DB630D5861@hartl.name> References: <31F157AC-4FC5-4799-9016-E9DB630D5861@hartl.name> Message-ID: On Wed, Apr 7, 2010 at 7:39 AM, Norbert Hartl wrote: > > On 07.04.2010, at 07:12, Yanni Chiu wrote: > >> Davorin Rusevljan wrote: >>> the idea is to have a drop down that will display all available LAURegija instances. Now the problem is that Magritte seems to cache this description and method descriptionRegija does not get called every time the form is displayed, and consequently, if a new LAURegija is added, it is not present in the drop down. So how to work around it? >> >> Try: >> >> ? ?options: [ LAURegija findAll ] magritteDynamicObject; >> >> There are some caveats in the class comment for MADynamicObject. >> > Which version of Magritte is this? The one I ported to Grease/Seaside3/VASt (any extensions to base classes are "namespaced"). It should be in the /magritte2 repo. Julian From davorin.rusevljan at gmail.com Wed Apr 7 10:10:36 2010 From: davorin.rusevljan at gmail.com (Davorin Rusevljan) Date: Wed, 7 Apr 2010 10:10:36 +0200 Subject: description refresh In-Reply-To: <31F157AC-4FC5-4799-9016-E9DB630D5861@hartl.name> References: <31F157AC-4FC5-4799-9016-E9DB630D5861@hartl.name> Message-ID: On Wed, Apr 7, 2010 at 8:39 AM, Norbert Hartl wrote: > > On 07.04.2010, at 07:12, Yanni Chiu wrote: > > > Try: > > > > options: [ LAURegija findAll ] magritteDynamicObject; > > > > There are some caveats in the class comment for MADynamicObject. > > > Which version of Magritte is this? > > I am using: Name: Magritte-Tests-Model-lr.13 Author: lr Time: 3 April 2010, 11:33:23 am UUID: 056d8fd4-655e-4565-81b6-b9b733e6e351 rush http://www.cloud208.com/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From norbert at hartl.name Thu Apr 8 08:21:41 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 8 Apr 2010 08:21:41 +0200 Subject: strange context behaviour Message-ID: I tried to do some tests about transferring data via context from one page to another in pier. I did renderContentOn: html | ctx | self context propertyAt: #forwardText put: 'set on old context'. ctx := self context structure: (PRPathLookup start: self context structure path: '/targetpage'). ctx propertyAt: #forwardText put: 'set on new context'. html anchor goto: ctx; with: 'go' On the targetpage there is a component that reads the property from the context and displays it. What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so? Norbert From renggli at gmail.com Thu Apr 8 08:35:58 2010 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 8 Apr 2010 08:35:58 +0200 Subject: strange context behaviour In-Reply-To: References: Message-ID: Does your component store the old context instead of the current one? Lukas On 8 April 2010 08:21, Norbert Hartl wrote: > I tried to do some tests about transferring data via context from one page to another in pier. I did > > renderContentOn: html > ? ? ? ?| ctx | > ? ? ? ?self context propertyAt: #forwardText put: 'set on old context'. > ? ? ? ?ctx := self context structure: (PRPathLookup start: self context structure path: '/targetpage'). > ? ? ? ?ctx propertyAt: #forwardText put: 'set on new context'. > ? ? ? ?html anchor > ? ? ? ? ? ? ? ?goto: ctx; > ? ? ? ? ? ? ? ?with: 'go' > > On the targetpage there is a component that reads the property from the context and displays it. What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so? > > Norbert > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From norbert at hartl.name Thu Apr 8 09:03:50 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 8 Apr 2010 09:03:50 +0200 Subject: strange context behaviour In-Reply-To: References: Message-ID: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> On 08.04.2010, at 08:35, Lukas Renggli wrote: > Does your component store the old context instead of the current one? > I don't understand your question. I just created the context through using structure: and this context is bound to the html anchor. What do you mean by "store"? There is no storing of a context. The other component is simply: renderContentOn: html html text: (self context propertyAt: #forwardText ifAbsent: ['kein Text vorhanden']) Norbert > On 8 April 2010 08:21, Norbert Hartl wrote: >> I tried to do some tests about transferring data via context from one page to another in pier. I did >> >> renderContentOn: html >> | ctx | >> self context propertyAt: #forwardText put: 'set on old context'. >> ctx := self context structure: (PRPathLookup start: self context structure path: '/targetpage'). >> ctx propertyAt: #forwardText put: 'set on new context'. >> html anchor >> goto: ctx; >> with: 'go' >> >> On the targetpage there is a component that reads the property from the context and displays it. What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so? >> >> Norbert >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> > > > > -- > Lukas Renggli > www.lukas-renggli.ch > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From renggli at gmail.com Thu Apr 8 09:10:51 2010 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 8 Apr 2010 09:10:51 +0200 Subject: strange context behaviour In-Reply-To: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> Message-ID: > The other component is simply: > > renderContentOn: html > ? ? ? ?html text: (self context propertyAt: #forwardText ifAbsent: ['kein Text vorhanden']) Yeah, but maybe #context uses an old cached context? Can you check which is returned from that method, "self context" or "ctx"? To me it looks like "self context" is returned, because there are several tests that set properties and copy contexts, and they pass. Lukas > > Norbert > >> On 8 April 2010 08:21, Norbert Hartl wrote: >>> I tried to do some tests about transferring data via context from one page to another in pier. I did >>> >>> renderContentOn: html >>> ? ? ? ?| ctx | >>> ? ? ? ?self context propertyAt: #forwardText put: 'set on old context'. >>> ? ? ? ?ctx := self context structure: (PRPathLookup start: self context structure path: '/targetpage'). >>> ? ? ? ?ctx propertyAt: #forwardText put: 'set on new context'. >>> ? ? ? ?html anchor >>> ? ? ? ? ? ? ? ?goto: ctx; >>> ? ? ? ? ? ? ? ?with: 'go' >>> >>> On the targetpage there is a component that reads the property from the context and displays it. What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so? >>> >>> Norbert >>> _______________________________________________ >>> Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>> >> >> >> >> -- >> Lukas Renggli >> www.lukas-renggli.ch >> >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From norbert at hartl.name Thu Apr 8 09:53:12 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 8 Apr 2010 09:53:12 +0200 Subject: strange context behaviour In-Reply-To: References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> Message-ID: <2EB6C0E7-F01B-4857-AA9A-D7D7D250214B@hartl.name> On 08.04.2010, at 09:10, Lukas Renggli wrote: >> The other component is simply: >> >> renderContentOn: html >> html text: (self context propertyAt: #forwardText ifAbsent: ['kein Text vorhanden']) > > Yeah, but maybe #context uses an old cached context? Can you check > which is returned from that method, "self context" or "ctx"? To me it > looks like "self context" is returned, because there are several tests > that set properties and copy contexts, and they pass. > > Ok, I see. I did assume that conext is just returning PRCurrentContext value. I changed the usage to only use PRCurrentContext value but it is still the same result. Norbert >> >> Norbert >> >>> On 8 April 2010 08:21, Norbert Hartl wrote: >>>> I tried to do some tests about transferring data via context from one page to another in pier. I did >>>> >>>> renderContentOn: html >>>> | ctx | >>>> self context propertyAt: #forwardText put: 'set on old context'. >>>> ctx := self context structure: (PRPathLookup start: self context structure path: '/targetpage'). >>>> ctx propertyAt: #forwardText put: 'set on new context'. >>>> html anchor >>>> goto: ctx; >>>> with: 'go' >>>> >>>> On the targetpage there is a component that reads the property from the context and displays it. What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so? >>>> >>>> Norbert >>>> _______________________________________________ >>>> Magritte, Pier and Related Tools ... >>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>>> >>> >>> >>> >>> -- >>> Lukas Renggli >>> www.lukas-renggli.ch >>> >>> _______________________________________________ >>> Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> >> >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> > > > > -- > Lukas Renggli > www.lukas-renggli.ch > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From razavi at acm.org Thu Apr 8 10:11:35 2010 From: razavi at acm.org (Reza RAZAVI) Date: Thu, 08 Apr 2010 10:11:35 +0200 Subject: strange context behaviour In-Reply-To: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> Message-ID: <89dhun$1c8me9@smtp.pt.lu> At 09:03 08/04/2010, Norbert Hartl wrote: >I don't understand your question. Hi Norbert, The default implementations of #context in Pier, which is *PRCurrentContext value*, return the CURRENT context. In your case, the current context holds 'set on new context'. So, the behavior that you are observing seems rather 'normal', except if "your component store[s] the old context". This is what I understood from Lukas' message. In other terms, what I understand is that if you need the 'old' context, it should be cached by your component. Hoping this helps, Reza From norbert at hartl.name Thu Apr 8 10:12:05 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 8 Apr 2010 10:12:05 +0200 Subject: strange context behaviour In-Reply-To: References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> Message-ID: In PRContext>>urlOn there is (self command isRestful and: [ html context session hasSessionCookie ]) ifTrue: [ url purgeSeasideFields ] ifFalse: [ url addParameter: '_n'; addParameter: (html callbacks registerActionCallback: [ PRCurrentContext value: self.]) ]. At a first glance it looks like the new context is only set in the ifFalse: block. In my installation hasSessionCookie is true even if I switch off session cookie in the app configuration. I loaded per with ConfigurationOfSeaside and version string '1.2.1.3' Norbert On 08.04.2010, at 09:10, Lukas Renggli wrote: >> The other component is simply: >> >> renderContentOn: html >> html text: (self context propertyAt: #forwardText ifAbsent: ['kein Text vorhanden']) > > Yeah, but maybe #context uses an old cached context? Can you check > which is returned from that method, "self context" or "ctx"? To me it > looks like "self context" is returned, because there are several tests > that set properties and copy contexts, and they pass. > > Lukas > > > > >> >> Norbert >> >>> On 8 April 2010 08:21, Norbert Hartl wrote: >>>> I tried to do some tests about transferring data via context from one page to another in pier. I did >>>> >>>> renderContentOn: html >>>> | ctx | >>>> self context propertyAt: #forwardText put: 'set on old context'. >>>> ctx := self context structure: (PRPathLookup start: self context structure path: '/targetpage'). >>>> ctx propertyAt: #forwardText put: 'set on new context'. >>>> html anchor >>>> goto: ctx; >>>> with: 'go' >>>> >>>> On the targetpage there is a component that reads the property from the context and displays it. What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so? >>>> >>>> Norbert >>>> _______________________________________________ >>>> Magritte, Pier and Related Tools ... >>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>>> >>> >>> >>> >>> -- >>> Lukas Renggli >>> www.lukas-renggli.ch >>> >>> _______________________________________________ >>> Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> >> >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> > > > > -- > Lukas Renggli > www.lukas-renggli.ch > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From norbert at hartl.name Thu Apr 8 10:16:30 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 8 Apr 2010 10:16:30 +0200 Subject: strange context behaviour In-Reply-To: <89dhun$1c8me9@smtp.pt.lu> References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> <89dhun$1c8me9@smtp.pt.lu> Message-ID: On 08.04.2010, at 10:11, Reza RAZAVI wrote: > At 09:03 08/04/2010, Norbert Hartl wrote: >> I don't understand your question. > > Hi Norbert, > > The default implementations of #context in Pier, which is *PRCurrentContext value*, return the CURRENT context. In your case, the current context holds 'set on new context'. So, the behavior that you are observing seems rather 'normal', except if "your component store[s] the old context". This is what I understood from Lukas' message. In other terms, what I understand is that if you need the 'old' context, it should be cached by your component. > Well, no. I forgot to mention that I used a PRWidget for testing. In PRWidget the #context is cached. I think Lukas meant this. What I expect is to create a new context by invoking self context structure: ... This new context is attached to an html anchor. When this anchor is pressed I would expect that the context provided via goto: is active. Exactly this does not happen. I don't need the old context it is just a test measure to see that setting a property has an effect. But I would have expected that the old context message is set on the old context, the old context is copied to a new one and the setting of the property with the new context text should have overriden the old one. Norbert From razavi at acm.org Thu Apr 8 11:17:33 2010 From: razavi at acm.org (Reza RAZAVI) Date: Thu, 08 Apr 2010 11:17:33 +0200 Subject: strange context behaviour In-Reply-To: References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> <89dhun$1c8me9@smtp.pt.lu> Message-ID: <89dhun$1c9hkv@smtp.pt.lu> At 10:16 08/04/2010, you wrote: >In PRWidget the #context is cached. Yes, but the cache is updated upon a context change by: PRWidget >> onChangeContext: >But I would have expected that the old context message is set on the >old context, the old context is copied to a new one and the setting >of the property with the new context text should have overriden the old one. I unfortunately don't have time to double check this right now, but am pretty sure that this is how Pier works. >I don't need the old context it is just a test measure to see that >setting a property has an effect. I'm not sure about your test setup, since your 'old' context is cached by PRWidget, and 'lost' upon the context change (that replaces the 'old' context, with the 'new' one). >This new context is attached to an html anchor. When this anchor is >pressed I would expect that the context provided via goto: is >active. Exactly this does not happen In your first post on this thread, you also said "What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so?" These two observations put together, would they mean that when the anchor is pressed, the current context is neither the 'old' one, nor the 'new' one? What do you get exactly as context then? (My understanding is that in any case it can't be the old one, since it is 'lost', as explained above.) Reza -------------- next part -------------- An HTML attachment was scrubbed... URL: From norbert at hartl.name Thu Apr 8 11:35:14 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 8 Apr 2010 11:35:14 +0200 Subject: strange context behaviour In-Reply-To: <89dhun$1c9hkv@smtp.pt.lu> References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> <89dhun$1c8me9@smtp.pt.lu> <89dhun$1c9hkv@smtp.pt.lu> Message-ID: <22F80B93-FBE3-4BE5-B2B1-6E5941AF0B20@hartl.name> On 08.04.2010, at 11:17, Reza RAZAVI wrote: > At 10:16 08/04/2010, you wrote: >> In PRWidget the #context is cached. > > Yes, but the cache is updated upon a context change by: > PRWidget >> onChangeContext: > It doesn't make any difference. I already exchanged the usage of "self context" with "PRCurrentContext value" but without effect. >> But I would have expected that the old context message is set on the old context, the old context is copied to a new one and the setting of the property with the new context text should have overriden the old one. > > I unfortunately don't have time to double check this right now, but am pretty sure that this is how Pier works. > >> I don't need the old context it is just a test measure to see that setting a property has an effect. > > I'm not sure about your test setup, since your 'old' context is cached by PRWidget, and 'lost' upon the context change (that replaces the 'old' context, with the 'new' one). > It is not lost, it is the active one. >> This new context is attached to an html anchor. When this anchor is pressed I would expect that the context provided via goto: is active. Exactly this does not happen > > In your first post on this thread, you also said "What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so?" > > These two observations put together, would they mean that when the anchor is pressed, the current context is neither the 'old' one, nor the 'new' one? What do you get exactly as context then? (My understanding is that in any case it can't be the old one, since it is 'lost', as explained above.) > It is the old one. Well, I get the text from the property "set on old context" which I applied on the old one. Even if I do PRCurrentContext value. The only reason I can imagine is that the context has not been exchanged and the old is still active. But then pressing the anchor brings me to the new page which was defined by creating the new context. Those two facts together make me wonder. I can't change the page without having a new context but on the new page the old context seems to be active. Norbert -------------- next part -------------- An HTML attachment was scrubbed... URL: From norbert at hartl.name Thu Apr 8 12:28:05 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 8 Apr 2010 12:28:05 +0200 Subject: strange context behaviour In-Reply-To: References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> Message-ID: <74D1C571-C9E8-437B-8D34-C60C910A6683@hartl.name> It seems the setting in the application "Use Session Cookie" is useless in pier. PRRestfulSession>>returnResponse: aResponse self hasSessionCookie ifFalse: [ aResponse addCookie: self sessionCookie ]. ^ super returnResponse: aResponse If I force the hasSessionCookie to return false than the behaviour I expect happens. Now I'm asking myself is this something that is wrong in my installation? This things are so severe that they must have been recognized if it is an error in pier. Norbert On 08.04.2010, at 10:12, Norbert Hartl wrote: > In > > PRContext>>urlOn > > there is > > (self command isRestful and: [ html context session hasSessionCookie ]) > ifTrue: [ url purgeSeasideFields ] > ifFalse: [ > url > addParameter: '_n'; > addParameter: (html callbacks > registerActionCallback: [ PRCurrentContext value: self.]) ]. > > At a first glance it looks like the new context is only set in the ifFalse: block. In my installation hasSessionCookie is true even if I switch off session cookie in the app configuration. > > I loaded per with ConfigurationOfSeaside and version string '1.2.1.3' > > Norbert > > On 08.04.2010, at 09:10, Lukas Renggli wrote: > >>> The other component is simply: >>> >>> renderContentOn: html >>> html text: (self context propertyAt: #forwardText ifAbsent: ['kein Text vorhanden']) >> >> Yeah, but maybe #context uses an old cached context? Can you check >> which is returned from that method, "self context" or "ctx"? To me it >> looks like "self context" is returned, because there are several tests >> that set properties and copy contexts, and they pass. >> >> Lukas >> >> >> >> >>> >>> Norbert >>> >>>> On 8 April 2010 08:21, Norbert Hartl wrote: >>>>> I tried to do some tests about transferring data via context from one page to another in pier. I did >>>>> >>>>> renderContentOn: html >>>>> | ctx | >>>>> self context propertyAt: #forwardText put: 'set on old context'. >>>>> ctx := self context structure: (PRPathLookup start: self context structure path: '/targetpage'). >>>>> ctx propertyAt: #forwardText put: 'set on new context'. >>>>> html anchor >>>>> goto: ctx; >>>>> with: 'go' >>>>> >>>>> On the targetpage there is a component that reads the property from the context and displays it. What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so? >>>>> >>>>> Norbert >>>>> _______________________________________________ >>>>> Magritte, Pier and Related Tools ... >>>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>>>> >>>> >>>> >>>> >>>> -- >>>> Lukas Renggli >>>> www.lukas-renggli.ch >>>> >>>> _______________________________________________ >>>> Magritte, Pier and Related Tools ... >>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>> >>> >>> _______________________________________________ >>> Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>> >> >> >> >> -- >> Lukas Renggli >> www.lukas-renggli.ch >> >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From razavi at acm.org Thu Apr 8 12:33:41 2010 From: razavi at acm.org (Reza RAZAVI) Date: Thu, 08 Apr 2010 12:33:41 +0200 Subject: strange context behaviour In-Reply-To: <74D1C571-C9E8-437B-8D34-C60C910A6683@hartl.name> References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> <74D1C571-C9E8-437B-8D34-C60C910A6683@hartl.name> Message-ID: <89dhun$1calji@smtp.pt.lu> At 12:28 08/04/2010, you wrote: >PRRestfulSession>>returnResponse: aResponse > self hasSessionCookie > ifFalse: [ aResponse addCookie: self sessionCookie ]. > ^ super returnResponse: aResponse I had PRRestfulSession only in Pier 1. AFAK, it's not part of Pier2. Reza From norbert at hartl.name Thu Apr 8 12:50:58 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 8 Apr 2010 12:50:58 +0200 Subject: strange context behaviour In-Reply-To: <89dhun$1calji@smtp.pt.lu> References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> <74D1C571-C9E8-437B-8D34-C60C910A6683@hartl.name> <89dhun$1calji@smtp.pt.lu> Message-ID: On 08.04.2010, at 12:33, Reza RAZAVI wrote: > At 12:28 08/04/2010, you wrote: >> PRRestfulSession>>returnResponse: aResponse >> self hasSessionCookie >> ifFalse: [ aResponse addCookie: self sessionCookie ]. >> ^ super returnResponse: aResponse > > I had PRRestfulSession only in Pier 1. > AFAK, it's not part of Pier2. > I am on Pier 1 Norbert From jfitzell at gmail.com Fri Apr 9 09:10:35 2010 From: jfitzell at gmail.com (Julian Fitzell) Date: Fri, 9 Apr 2010 08:10:35 +0100 Subject: strange context behaviour In-Reply-To: <74D1C571-C9E8-437B-8D34-C60C910A6683@hartl.name> References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> <74D1C571-C9E8-437B-8D34-C60C910A6683@hartl.name> Message-ID: I suspect that #hasSessionCookie is just checking whether the browser *submitted* a cookie. If you previously had cookies turned on, your browser might already have the cookie (though of course it would eventually be for an expired session). I'm really not sure off the top of my head what the code path looks like in that case in 2.8 - can you try deleting the cookie in your browser and see if that helps? Julian On Thu, Apr 8, 2010 at 11:28 AM, Norbert Hartl wrote: > It seems the setting in the application "Use Session Cookie" is useless in > pier. > > PRRestfulSession>>returnResponse: aResponse > self hasSessionCookie > ifFalse: [ aResponse addCookie: self sessionCookie ]. > ^ super returnResponse: aResponse > > If I force the hasSessionCookie to return false than the behaviour I expect > happens. Now I'm asking myself is this something that is wrong in my > installation? This things are so severe that they must have been recognized > if it is an error in pier. > > Norbert > > On 08.04.2010, at 10:12, Norbert Hartl wrote: > > > In > > > > PRContext>>urlOn > > > > there is > > > > (self command isRestful and: [ html context session > hasSessionCookie ]) > > ifTrue: [ url purgeSeasideFields ] > > ifFalse: [ > > url > > addParameter: '_n'; > > addParameter: (html callbacks > > registerActionCallback: [ > PRCurrentContext value: self.]) ]. > > > > At a first glance it looks like the new context is only set in the > ifFalse: block. In my installation hasSessionCookie is true even if I switch > off session cookie in the app configuration. > > > > I loaded per with ConfigurationOfSeaside and version string '1.2.1.3' > > > > Norbert > > > > On 08.04.2010, at 09:10, Lukas Renggli wrote: > > > >>> The other component is simply: > >>> > >>> renderContentOn: html > >>> html text: (self context propertyAt: #forwardText ifAbsent: > ['kein Text vorhanden']) > >> > >> Yeah, but maybe #context uses an old cached context? Can you check > >> which is returned from that method, "self context" or "ctx"? To me it > >> looks like "self context" is returned, because there are several tests > >> that set properties and copy contexts, and they pass. > >> > >> Lukas > >> > >> > >> > >> > >>> > >>> Norbert > >>> > >>>> On 8 April 2010 08:21, Norbert Hartl wrote: > >>>>> I tried to do some tests about transferring data via context from one > page to another in pier. I did > >>>>> > >>>>> renderContentOn: html > >>>>> | ctx | > >>>>> self context propertyAt: #forwardText put: 'set on old > context'. > >>>>> ctx := self context structure: (PRPathLookup start: self > context structure path: '/targetpage'). > >>>>> ctx propertyAt: #forwardText put: 'set on new context'. > >>>>> html anchor > >>>>> goto: ctx; > >>>>> with: 'go' > >>>>> > >>>>> On the targetpage there is a component that reads the property from > the context and displays it. What makes me wonder is that under any > circumstances the text being display is "set on old context". Even if I > press the link "go". Why is that so? > >>>>> > >>>>> Norbert > >>>>> _______________________________________________ > >>>>> Magritte, Pier and Related Tools ... > >>>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > >>>>> > >>>> > >>>> > >>>> > >>>> -- > >>>> Lukas Renggli > >>>> www.lukas-renggli.ch > >>>> > >>>> _______________________________________________ > >>>> Magritte, Pier and Related Tools ... > >>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > >>> > >>> > >>> _______________________________________________ > >>> Magritte, Pier and Related Tools ... > >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > >>> > >> > >> > >> > >> -- > >> Lukas Renggli > >> www.lukas-renggli.ch > >> > >> _______________________________________________ > >> Magritte, Pier and Related Tools ... > >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > > > > _______________________________________________ > > Magritte, Pier and Related Tools ... > > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -------------- next part -------------- An HTML attachment was scrubbed... URL: From norbert at hartl.name Fri Apr 9 09:24:16 2010 From: norbert at hartl.name (Norbert Hartl) Date: Fri, 9 Apr 2010 09:24:16 +0200 Subject: strange context behaviour In-Reply-To: References: <947AA2F2-B394-4226-A47E-A4AB54F1C0B7@hartl.name> <74D1C571-C9E8-437B-8D34-C60C910A6683@hartl.name> Message-ID: <23B0E4FF-CC34-4D55-9F9F-97ABAAA1A99D@hartl.name> On 09.04.2010, at 09:10, Julian Fitzell wrote: > I suspect that #hasSessionCookie is just checking whether the browser *submitted* a cookie. If you previously had cookies turned on, your browser might already have the cookie (though of course it would eventually be for an expired session). I'm really not sure off the top of my head what the code path looks like in that case in 2.8 - can you try deleting the cookie in your browser and see if that helps? > I did this multiple times. The cookie is assigned again and the seaside parameters vanish from the url. I think the code shown below is pretty obvious. Regardless if there is a cookie or not after that method there is a cookie. Well, and the newly created context is not used. But all of this is code of pier not of seaside. So the problem lays there. Norbert > Julian > > On Thu, Apr 8, 2010 at 11:28 AM, Norbert Hartl wrote: > It seems the setting in the application "Use Session Cookie" is useless in pier. > > PRRestfulSession>>returnResponse: aResponse > self hasSessionCookie > ifFalse: [ aResponse addCookie: self sessionCookie ]. > ^ super returnResponse: aResponse > > If I force the hasSessionCookie to return false than the behaviour I expect happens. Now I'm asking myself is this something that is wrong in my installation? This things are so severe that they must have been recognized if it is an error in pier. > > Norbert > > On 08.04.2010, at 10:12, Norbert Hartl wrote: > > > In > > > > PRContext>>urlOn > > > > there is > > > > (self command isRestful and: [ html context session hasSessionCookie ]) > > ifTrue: [ url purgeSeasideFields ] > > ifFalse: [ > > url > > addParameter: '_n'; > > addParameter: (html callbacks > > registerActionCallback: [ PRCurrentContext value: self.]) ]. > > > > At a first glance it looks like the new context is only set in the ifFalse: block. In my installation hasSessionCookie is true even if I switch off session cookie in the app configuration. > > > > I loaded per with ConfigurationOfSeaside and version string '1.2.1.3' > > > > Norbert > > > > On 08.04.2010, at 09:10, Lukas Renggli wrote: > > > >>> The other component is simply: > >>> > >>> renderContentOn: html > >>> html text: (self context propertyAt: #forwardText ifAbsent: ['kein Text vorhanden']) > >> > >> Yeah, but maybe #context uses an old cached context? Can you check > >> which is returned from that method, "self context" or "ctx"? To me it > >> looks like "self context" is returned, because there are several tests > >> that set properties and copy contexts, and they pass. > >> > >> Lukas > >> > >> > >> > >> > >>> > >>> Norbert > >>> > >>>> On 8 April 2010 08:21, Norbert Hartl wrote: > >>>>> I tried to do some tests about transferring data via context from one page to another in pier. I did > >>>>> > >>>>> renderContentOn: html > >>>>> | ctx | > >>>>> self context propertyAt: #forwardText put: 'set on old context'. > >>>>> ctx := self context structure: (PRPathLookup start: self context structure path: '/targetpage'). > >>>>> ctx propertyAt: #forwardText put: 'set on new context'. > >>>>> html anchor > >>>>> goto: ctx; > >>>>> with: 'go' > >>>>> > >>>>> On the targetpage there is a component that reads the property from the context and displays it. What makes me wonder is that under any circumstances the text being display is "set on old context". Even if I press the link "go". Why is that so? > >>>>> > >>>>> Norbert > >>>>> _______________________________________________ > >>>>> Magritte, Pier and Related Tools ... > >>>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > >>>>> > >>>> > >>>> > >>>> > >>>> -- > >>>> Lukas Renggli > >>>> www.lukas-renggli.ch > >>>> > >>>> _______________________________________________ > >>>> Magritte, Pier and Related Tools ... > >>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > >>> > >>> > >>> _______________________________________________ > >>> Magritte, Pier and Related Tools ... > >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > >>> > >> > >> > >> > >> -- > >> Lukas Renggli > >> www.lukas-renggli.ch > >> > >> _______________________________________________ > >> Magritte, Pier and Related Tools ... > >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > > > > _______________________________________________ > > Magritte, Pier and Related Tools ... > > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -------------- next part -------------- An HTML attachment was scrubbed... URL: From razavi at acm.org Sun Apr 11 00:50:51 2010 From: razavi at acm.org (Reza RAZAVI) Date: Sun, 11 Apr 2010 00:50:51 +0200 Subject: WAAttributeNotFound raised on #scriptGeneratorClass Message-ID: <89dhun$1d1bav@smtp.pt.lu> Hi all, Using Monticello browser, I just updated a standard 1.2 Pier image to the latest versions of Pharo (PharoCore1.0-#10517), Seaside 3 and Pier 2. During the update process, WAAttributeNotFound was raised upon the call to #preferenceAt: #scriptGeneratorClass put: aClass by the following methods: - JQAllFunctionalTests class >>initialize - JQUiAllFunctionalTestsclass >>initialize - SUAllComponentTestsclass >>initialize - SUAllFunctionalTestsclass >>initialize I had to bypass the issue by temporarily the code of those methods. Now, the same exception is raised again, when trying to connect to Pier via the local host (http://localhost:8080/pier), upon the call to *self handler configuration at: #scriptGeneratorClass*, in WARequestContext >> newDocument. #newDocument has been changed on Feb, 22, 2010. Does anybody see how this issue could be better fixed; just reverting to the previous code doesn't seem a good idea. Thanks in advance, Reza -------------- next part -------------- An HTML attachment was scrubbed... URL: From renggli at gmail.com Sun Apr 11 10:00:54 2010 From: renggli at gmail.com (Lukas Renggli) Date: Sun, 11 Apr 2010 10:00:54 +0200 Subject: WAAttributeNotFound raised on #scriptGeneratorClass In-Reply-To: <89dhun$1d1bav@smtp.pt.lu> References: <89dhun$1d1bav@smtp.pt.lu> Message-ID: > Using Monticello browser, I just updated a standard 1.2 Pier image to the > latest versions of Pharo (PharoCore1.0-#10517), Seaside 3 and Pier 2. Generally updating from Seaside 2.8 to Seaside 3.0 does not work, due to the lack of atomic loading of Monticello. Take a fresh image. Lukas -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Sun Apr 11 10:39:54 2010 From: razavi at acm.org (Reza RAZAVI) Date: Sun, 11 Apr 2010 10:39:54 +0200 Subject: WAAttributeNotFound raised on #scriptGeneratorClass In-Reply-To: References: <89dhun$1d1bav@smtp.pt.lu> Message-ID: <89dhun$1d34n9@smtp.pt.lu> At 10:00 11/04/2010, Lukas Renggli wrote: > > Using Monticello browser, I just updated a standard 1.2 Pier image to the > > latest versions of Pharo (PharoCore1.0-#10517), Seaside 3 and Pier 2. > >Generally updating from Seaside 2.8 to Seaside 3.0 does not work, due >to the lack of atomic loading of Monticello. Take a fresh image. Hi Lukas, Actually, I just loaded the latest packages into Seaside 3.0 + Pier 2 image. I don't use Seaside 2.8 and Pier 1 since a few months. I just discovered that it was related to the cached WARequestHandlingConfiguration. Just executed *WAEnvironment reloadApplications*, and everything is in order now ;-) Thanks for your support, Regards, Reza From renggli at gmail.com Sun Apr 11 10:44:18 2010 From: renggli at gmail.com (Lukas Renggli) Date: Sun, 11 Apr 2010 10:44:18 +0200 Subject: WAAttributeNotFound raised on #scriptGeneratorClass In-Reply-To: <89dhun$1d34n9@smtp.pt.lu> References: <89dhun$1d1bav@smtp.pt.lu> <89dhun$1d34n9@smtp.pt.lu> Message-ID: >> > Using Monticello browser, I just updated a standard 1.2 Pier image to >> > the >> > latest versions of Pharo (PharoCore1.0-#10517), Seaside 3 and Pier 2. >> >> Generally updating from Seaside 2.8 to Seaside 3.0 does not work, due >> to the lack of atomic loading of Monticello. Take a fresh image. > > Hi Lukas, > > Actually, I just loaded the latest packages into Seaside 3.0 + Pier 2 image. > I don't use Seaside 2.8 and Pier 1 since a few months. > > I just discovered that it was related to the cached > WARequestHandlingConfiguration. Just executed *WAEnvironment > reloadApplications*, and everything is in order now ;-) Aha, ok. I had the impression you had an old Seaside and Pier in the same image. How did you load the Seaside 3 code? Lukas -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Sun Apr 11 11:09:31 2010 From: razavi at acm.org (Reza RAZAVI) Date: Sun, 11 Apr 2010 11:09:31 +0200 Subject: WAAttributeNotFound raised on #scriptGeneratorClass In-Reply-To: References: <89dhun$1d1bav@smtp.pt.lu> <89dhun$1d34n9@smtp.pt.lu> Message-ID: <8bbtuf$1hgih4@smtp.pt.lu> At 10:44 11/04/2010, Lukas Renggli wrote: >How did you load the Seaside 3 code? Just picked this one: http://www.piercms.com/download Then upgraded to *PharoCore1.0-#10517*, and the latest Seaside 3.0, and Pier 2 packages, including FFI, RFB, OS-Process, File-Kernel, etc. It took me several hours :-( If the result could help somebody saving that time, please let me know to put the image+changes (~50 M?, unzipped) on a public server for download. Cheers, Reza -------------- next part -------------- An HTML attachment was scrubbed... URL: From renggli at gmail.com Sun Apr 11 11:14:32 2010 From: renggli at gmail.com (Lukas Renggli) Date: Sun, 11 Apr 2010 11:14:32 +0200 Subject: WAAttributeNotFound raised on #scriptGeneratorClass In-Reply-To: <8bbtuf$1hgih4@smtp.pt.lu> References: <89dhun$1d1bav@smtp.pt.lu> <89dhun$1d34n9@smtp.pt.lu> <8bbtuf$1hgih4@smtp.pt.lu> Message-ID: > Just picked this one: > http://www.piercms.com/download > > Then upgraded to *PharoCore1.0-#10517*, and the latest Seaside 3.0, and Pier > 2 packages, including FFI, RFB, OS-Process, File-Kernel, etc. It took me > several hours :-( Glad it worked, normally Pharo cannot be updated in an image that has something else loaded but the core packages. > If the result could help somebody saving that time, please > let me know to put the image+changes (~50 M?, unzipped) on a public server > for download. There are always daily builds at with the latest Pharo, Seaside, Magritte and Pier code. We will soon update the one-click image too (based on these builds). Lukas -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Sun Apr 11 11:30:11 2010 From: razavi at acm.org (Reza RAZAVI) Date: Sun, 11 Apr 2010 11:30:11 +0200 Subject: WAAttributeNotFound raised on #scriptGeneratorClass In-Reply-To: References: <89dhun$1d1bav@smtp.pt.lu> <89dhun$1d34n9@smtp.pt.lu> <8bbtuf$1hgih4@smtp.pt.lu> Message-ID: <8bbtuf$1hgmm0@smtp.pt.lu> At 11:14 11/04/2010, Lukas Renggli wrote: >normally Pharo cannot be updated in an image that has >something else loaded but the core packages. Good to know. It took time, but at the end I was happy with the result 8-) (although, have not yet tested it thoroughly) thanks! >There are always daily builds at >with the latest Pharo, Seaside, Magritte and Pier code. We will soon >update the one-click image too (based on these builds). That would be great, although, in general, I do prefer updating my image manually, to get a chance to have a look at the new code during the merge process. Take care, Reza From norbert at hartl.name Tue Apr 13 12:37:53 2010 From: norbert at hartl.name (Norbert Hartl) Date: Tue, 13 Apr 2010 12:37:53 +0200 Subject: Migration of pier tree Message-ID: <342F12E3-F226-42A1-AD9A-44515EA50044@hartl.name> It seems I used quite some old pier instances. Back then there were environement and stuff in the root etc. In the meantime everything moved under the System node which I like. Is there any document/help that describes what needs to be changed in order to get an old instance confirming to this new layout? Norbert From nickbrown at fastmail.fm Tue Apr 13 15:19:38 2010 From: nickbrown at fastmail.fm (Nick Brown) Date: Tue, 13 Apr 2010 14:19:38 +0100 Subject: Using "anchor goto:" to apply a command and switch to a different view Message-ID: <4BC46F6A.4010508@fastmail.fm> Folks, I'm running Pier from the piercms.com one click image, and writing my own structure and view subclasses, etc. I'm wanting to produce an anchor which when clicked, will perform a command and then switch to a different view. I can do either one of those things, but seemingly not both. My assumption was that I'd need to write something like the following, where #view: is sent to the result of #command: ... html anchor goto: ( (self context command: MyCommandClass new) view: MyViewClass ); with: 'click me'. But I find that while this code takes me to the new view, the command is never executed. Is there an established way to do this? If not, I'd appreciate any ideas on the best approach. It occurs to me that I could subclass the view command and put my desired command behaviour in that. Cheers, Nick Brown From renggli at gmail.com Tue Apr 13 17:29:03 2010 From: renggli at gmail.com (Lukas Renggli) Date: Tue, 13 Apr 2010 17:29:03 +0200 Subject: Migration of pier tree In-Reply-To: <342F12E3-F226-42A1-AD9A-44515EA50044@hartl.name> References: <342F12E3-F226-42A1-AD9A-44515EA50044@hartl.name> Message-ID: There is migration code on the class side of PRMigrations that is automatically called when you load new code. This code should fix most problems with the model and I used it successfully to bring forward some really old images like my website and seaside.st over the past 4 years. Now for the environment there are no such migrations defined. I don't remember exactly, but I guess an automatic conversion is not really possible. Also this shouldn't be a problem, you will simply end up with a new default environment. If you store the contents of your old environment somewhere external beforehand, you should be able to paste it into the update Pier instance with the new environments. Lukas On 13 April 2010 12:37, Norbert Hartl wrote: > It seems I used quite some old pier instances. Back then there were environement and stuff in the root etc. In the meantime everything moved under the System node which I like. Is there any document/help that describes what needs to be changed in order to get an old instance confirming to this new layout? > > Norbert > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From renggli at gmail.com Tue Apr 13 17:31:52 2010 From: renggli at gmail.com (Lukas Renggli) Date: Tue, 13 Apr 2010 17:31:52 +0200 Subject: Using "anchor goto:" to apply a command and switch to a different view In-Reply-To: <4BC46F6A.4010508@fastmail.fm> References: <4BC46F6A.4010508@fastmail.fm> Message-ID: On 13 April 2010 15:19, Nick Brown wrote: > Folks, > > I'm running Pier from the piercms.com one click image, and writing my own > structure and view subclasses, etc. > > I'm wanting to produce an anchor which when clicked, will perform a command > and then switch to a different view. > > I can do either one of those things, but seemingly not both. My assumption > was that I'd need to write something like the following, where #view: is > sent to the result of #command: ... > > html anchor > ? ?goto: ( > ? ? ? ?(self context command: MyCommandClass new) view: MyViewClass > ? ?); > ? ?with: 'click me'. > > But I find that while this code takes me to the new view, the command is > never executed. A view has its own nop-command, namely PRViewCommand. So just goto MyCommandClass and make sure that MyCommandClass answers to your view after performing the command. To do this override #doAnswer in your command and set the context to your custom view. MyCommandClass>>doAnswer self answer: (self context view: MyViewClass) Lukas > > Is there an established way to do this? If not, I'd appreciate any ideas on > the best approach. It occurs to me that I could subclass the view command > and put my desired command behaviour in that. > > Cheers, > Nick Brown > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From nickbrown at fastmail.fm Tue Apr 13 18:58:56 2010 From: nickbrown at fastmail.fm (Nick Brown) Date: Tue, 13 Apr 2010 17:58:56 +0100 Subject: Using "anchor goto:" to apply a command and switch to a different view In-Reply-To: References: <4BC46F6A.4010508@fastmail.fm> Message-ID: <4BC4A2D0.8080703@fastmail.fm> Lukas Renggli wrote: > > A view has its own nop-command, namely PRViewCommand. So just goto > MyCommandClass and make sure that MyCommandClass answers to your view > after performing the command. To do this override #doAnswer in your > command and set the context to your custom view. > > MyCommandClass>>doAnswer > self answer: (self context view: MyViewClass) > > Lukas > > Ahh. Thanks Lukas. -Nick From nick.ager at gmail.com Tue Apr 13 19:06:23 2010 From: nick.ager at gmail.com (Nick Ager) Date: Tue, 13 Apr 2010 18:06:23 +0100 Subject: manually embedding a pier component Message-ID: Hi, I have a PRViewComponent derived component in which, as part of the render method, I'd like to render another component defined elsewhere in my Pier structure. The code I've come up with so far is (simplified): renderComponentOn: html | context component renderComponent | context := self context. component := context structure lookupPath: '/system/components/cloud'. renderComponent := (context structure: component) command asComponent. html render: renderComponent Using PRContentsWidget as a template, I guess I also need to return the component in the #children method, which probably also means overriding the #onChangeContext: method to capture the context. I would then refactor the above code to cache the renderComponent in #onChangeContext: Some questions: 1) Is there a simpler way of rendering another component defined elsewhere? 2) Do I need to create a new component each time onChangeContext: is called? Thanks Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: From renggli at gmail.com Tue Apr 13 20:31:09 2010 From: renggli at gmail.com (Lukas Renggli) Date: Tue, 13 Apr 2010 20:31:09 +0200 Subject: manually embedding a pier component In-Reply-To: References: Message-ID: Normally you should be able just to visit the other structure: renderComponentOn: html html rendererInstance continue: (context structure lookupPath: '/system/components/cloud') in: self on: html Lukas On 13 April 2010 19:06, Nick Ager wrote: > Hi, > I have a?PRViewComponent?derived component in which, as part of the render > method, I'd like to render another component defined elsewhere in my Pier > structure. > The code I've come up with so far is (simplified): > renderComponentOn: html > ?? ?| context component?renderComponent?| > ?? ?context := self context. > ?? ?component?:= context structure lookupPath:?'/system/components/cloud'. > ?? ?renderComponent := (context structure:?component) command asComponent. > ?? ?html render: renderComponent > Using PRContentsWidget as a template, I guess I also need to return the > component in the #children method, which probably also means overriding the > #onChangeContext: method to capture the context. I would then refactor the > above code to cache the renderComponent in #onChangeContext: > Some questions: > 1) Is there a simpler way of rendering another component defined elsewhere? > 2) Do I need to create a new component each time onChangeContext: is called? > Thanks > Nick > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From Mikey.Sanchez at gmail.com Wed Apr 14 10:19:12 2010 From: Mikey.Sanchez at gmail.com (Mikey.Sanchez at gmail.com) Date: Wed, 14 Apr 2010 08:19:12 +0000 Subject: Magritte from Cincom public repository Message-ID: <0014852e195c7d33f804842e08a3@google.com> Hi, I'm wrestling with ideas for a prototyping platform (ultimately possibly production platform) using Seaside and possibly Gemstone as an object store. I'm new to Smalltalk so I'm wrestling with great number of concepts to start with. I've recently been working through the Seaside book and the section on Magritte look very interesting. I'm working with VisualWorks 7.7 and when I try to load the package of the Public store I get a number of errors and it seems to do a partial load of the Magritte classes (I have packages created and some methods injected in existing classes.) My questions are the following. 1. Is Magritte actively maintained to a point where it's usable ? 2. Does anyone have experience with loading MagritteForVisualWorks from the cincom public repository (I have turned off atomic loads)? Best Regards, Miguel -------------- next part -------------- An HTML attachment was scrubbed... URL: From nick.ager at gmail.com Wed Apr 14 10:50:11 2010 From: nick.ager at gmail.com (Nick Ager) Date: Wed, 14 Apr 2010 09:50:11 +0100 Subject: manually embedding a pier component In-Reply-To: References: Message-ID: Hi Lukas, Normally you should be able just to visit the other structure: > > renderComponentOn: html > html rendererInstance > continue: (context structure lookupPath: > '/system/components/cloud') > in: self on: html > > Thanks works perfectly - I was sure there'd be a much neater method. Presumably though I still need to handle #children. Here's my first attempt: onChangeContext: aContext aContext command isView ifTrue: [ | componentContext | componentContext := aContext structure: (aContext structure lookupPath: '/system/components/cloud'). component := componentContext command asComponent ] children ^ Array with: component Is there a neater way of implementing #children ? Cheers Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: From renggli at gmail.com Wed Apr 14 13:17:56 2010 From: renggli at gmail.com (Lukas Renggli) Date: Wed, 14 Apr 2010 13:17:56 +0200 Subject: Magritte from Cincom public repository In-Reply-To: <0014852e195c7d33f804842e08a3@google.com> References: <0014852e195c7d33f804842e08a3@google.com> Message-ID: > 1. Is Magritte actively maintained to a point where it's usable ? Sure, Magritte is actively maintained in Pharo Smalltalk, and regularly ported to GemStone, VisualWorks, and GST. I and many other people have used it in dozens of commercial application. > 2. Does anyone have experience with loading MagritteForVisualWorks from the > cincom public repository (I have turned off atomic loads)? I don't know the status on VisualWorks. It should work, I know a couple of projects that use it. Also check out the work of Gerhard on Scaffolding . This builds on top of Magritte and runs on GemStone and Pharo. It sounds somehow similar to what intend to do. Lukas -- Lukas Renggli www.lukas-renggli.ch From renggli at gmail.com Wed Apr 14 13:21:18 2010 From: renggli at gmail.com (Lukas Renggli) Date: Wed, 14 Apr 2010 13:21:18 +0200 Subject: manually embedding a pier component In-Reply-To: References: Message-ID: > Thanks works perfectly - I was sure there'd be a much neater method. > Presumably though I still need to handle #children. Here's my first attempt: > onChangeContext: aContext > ?? aContext command isView ifTrue: [ > ?? ? ? | componentContext | > ?? ? ??componentContext :=?aContext structure: (aContext structure > lookupPath:?'/system/components/cloud'). > ?? ? ? component :=?componentContext?command asComponent > ] > children > ?? ?^ Array with: component > > Is there a neater way of implementing #children ? That doesn't quite work correctly, because #asComponent returns a new component each time. Better use #componentsIn: on the structure you are going to render. This answers the list of child components in a given context. Lukas -- Lukas Renggli www.lukas-renggli.ch From renggli at gmail.com Wed Apr 14 13:21:52 2010 From: renggli at gmail.com (Lukas Renggli) Date: Wed, 14 Apr 2010 13:21:52 +0200 Subject: manually embedding a pier component In-Reply-To: References: Message-ID: Btw, all these tricks can be found in action in PRPierFrame, the root component of Pier. Lukas On 14 April 2010 13:21, Lukas Renggli wrote: >> Thanks works perfectly - I was sure there'd be a much neater method. >> Presumably though I still need to handle #children. Here's my first attempt: >> onChangeContext: aContext >> ?? aContext command isView ifTrue: [ >> ?? ? ? | componentContext | >> ?? ? ??componentContext :=?aContext structure: (aContext structure >> lookupPath:?'/system/components/cloud'). >> ?? ? ? component :=?componentContext?command asComponent >> ] >> children >> ?? ?^ Array with: component >> >> Is there a neater way of implementing #children ? > > That doesn't quite work correctly, because #asComponent returns a new > component each time. > > Better use #componentsIn: on the structure you are going to render. > This answers the list of child components in a given context. > > Lukas > > -- > Lukas Renggli > www.lukas-renggli.ch > -- Lukas Renggli www.lukas-renggli.ch From nick.ager at gmail.com Wed Apr 14 13:40:56 2010 From: nick.ager at gmail.com (Nick Ager) Date: Wed, 14 Apr 2010 12:40:56 +0100 Subject: manually embedding a pier component In-Reply-To: References: Message-ID: On 14 April 2010 12:21, Lukas Renggli wrote: > Btw, all these tricks can be found in action in PRPierFrame, the root > component of Pier. > > Lukas Thanks Lukas, studying PRPierFrame makes much more sense. I was basing my code on PRContentsWidget Cheers Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: From maarten.mostert at wanadoo.fr Thu Apr 15 00:15:12 2010 From: maarten.mostert at wanadoo.fr (Maarten Mostert) Date: Thu, 15 Apr 2010 00:15:12 +0200 Subject: Google analytics download controls Message-ID: <4BC63E70.9010603@wanadoo.fr> Hi, I would like to track a sepcific file with google analytics In my pier page I have a link like: *StakePoint_0.42_Setup.exe>http://stakepoint.com/files/support/StakePoint_0.42_Setup.exe* According to google: http://www.google.com/support/analytics/bin/answer.py?hl=fr&answer=55529 My link should look something like: Is there a way to do this. Regards, @+Maarten, From p3anoman at gmail.com Thu Apr 15 04:23:59 2010 From: p3anoman at gmail.com (John McKeon) Date: Wed, 14 Apr 2010 22:23:59 -0400 Subject: Google analytics download controls In-Reply-To: <4BC63E70.9010603@wanadoo.fr> References: <4BC63E70.9010603@wanadoo.fr> Message-ID: Hello Maarten, There is a Pier-Googlepackage in the Pier Add-ons repository. Add the widget to your site and add a +reference+ in your environment and every page on your site gets tracked. On Wed, Apr 14, 2010 at 6:15 PM, Maarten Mostert wrote: > Hi, > > I would like to track a sepcific file with google analytics > > In my pier page I have a link like: > > *StakePoint_0.42_Setup.exe> > http://stakepoint.com/files/support/StakePoint_0.42_Setup.exe* > > According to google: > > http://www.google.com/support/analytics/bin/answer.py?hl=fr&answer=55529 > > My link should look something like: > > > > Is there a way to do this. > > Regards, > > @+Maarten, > > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- http://jmck.seasidehosting.st -------------- next part -------------- An HTML attachment was scrubbed... URL: From maarten.mostert at wanadoo.fr Thu Apr 15 09:29:31 2010 From: maarten.mostert at wanadoo.fr (Maarten MOSTERT) Date: Thu, 15 Apr 2010 09:29:31 +0200 (CEST) Subject: Google analytics download controls In-Reply-To: References: <4BC63E70.9010603@wanadoo.fr> Message-ID: <26497611.284460.1271316571042.JavaMail.www@wwinf1d08> Dear John, Well this is what I did in the first place and works nicely. However it is also possible to track individual downloads of files as mentioned in the article (in english this time): http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55529 It states: <<< tag: Important: if your pages include a call to _trackPageview, _setAllowLinker _trackTrans(), your Analytics tracking code must be placed in your HTML code above any of these calls. In these cases the tracking code can be placed anywhere between the opening tag and the JavaScript call. To verify that _trackPageviewis being called correctly, you can check your Top Content report 24-48 hours after the updated tracking code has been executed. You should be able to see the assigned pagename in your report.>>>> _______________________________________________________ My question is how to combine the Pier Syntax with the extra Javascript required by Google analythics on the download link of my file. Regards, @+Maarten, > Message du 15/04/10 04:24 > De : "John McKeon" > A : maarten.mostert at wanadoo.fr, "Magritte, Pier and Related Tools ..." > Copie ? : > Objet : Re: Google analytics download controls > > Hello Maarten, > There is a Pier-Googlepackage > in the Pier Add-ons repository. > Add the widget to your site and add a +reference+ in your environment and > every page on your site gets tracked. > > On Wed, Apr 14, 2010 at 6:15 PM, Maarten Mostert > wrote: > > > Hi, > > > > I would like to track a sepcific file with google analytics > > > > In my pier page I have a link like: > > > > *StakePoint_0.42_Setup.exe> > > http://stakepoint.com/files/support/StakePoint_0.42_Setup.exe* > > > > According to google: > > > > http://www.google.com/support/analytics/bin/answer.py?hl=fr&answer=55529 > > > > My link should look something like: > > > > > pageTracker._trackPageview('/downloads/map'); "> > > > > Is there a way to do this. > > > > Regards, > > > > @+Maarten, > > > > > > > > _______________________________________________ > > Magritte, Pier and Related Tools ... > > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > > > > -- > http://jmck.seasidehosting.st > From norbert at hartl.name Thu Apr 15 12:39:27 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 15 Apr 2010 12:39:27 +0200 Subject: Pier: How to update rendered/cached instance? Message-ID: I have a pier page that contains two embedded components. The first displays the content of an object and the second displays a link that when pressed does a call: with an editor to that object. If I alter the object in the editor and press save the page below displays the old content of the object. I think the problem is two fold. The component that displays the object uses a magritte component for that. As the memento is snapshotting the object it has still the old values. But pier seems to cache the embedded component (that holds the magritte component) as well and I didn't figure out so far how it does that. What would be the best way to invalidate any of the cached things? thanks, Norbert From norbert at hartl.name Thu Apr 15 12:56:37 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 15 Apr 2010 12:56:37 +0200 Subject: Pier: How to update rendered/cached instance? In-Reply-To: References: Message-ID: Ok, don't know why I didn't find the right place before. I discovered the context->componentDictionary. Now I solved it with doing self context structure embeddedComponents do:[:each| (each target = self owner) ifFalse: [ self context componentDictionary removeKey: each]]. at save time. Is there a better way to do? thanks, Norbert On 15.04.2010, at 12:39, Norbert Hartl wrote: > I have a pier page that contains two embedded components. The first displays the content of an object and the second displays a link that when pressed does a call: with an editor to that object. > > If I alter the object in the editor and press save the page below displays the old content of the object. I think the problem is two fold. The component that displays the object uses a magritte component for that. As the memento is snapshotting the object it has still the old values. But pier seems to cache the embedded component (that holds the magritte component) as well and I didn't figure out so far how it does that. > > What would be the best way to invalidate any of the cached things? > > thanks, > > Norbert > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From renggli at gmail.com Thu Apr 15 13:00:18 2010 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 15 Apr 2010 13:00:18 +0200 Subject: Pier: How to update rendered/cached instance? In-Reply-To: References: Message-ID: > at save time. Is there a better way to do? There is a method PRContext>>#flushComponent: that does already that, no? Lukas -- Lukas Renggli www.lukas-renggli.ch From norbert at hartl.name Thu Apr 15 14:33:57 2010 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 15 Apr 2010 14:33:57 +0200 Subject: Pier: How to update rendered/cached instance? In-Reply-To: References: Message-ID: <0087E39C-607F-4A78-ABAC-A305071D5637@hartl.name> On 15.04.2010, at 13:00, Lukas Renggli wrote: >> at save time. Is there a better way to do? > > There is a method PRContext>>#flushComponent: that does already that, no? > Yes, it is there. thanks, Norbert From razavi at acm.org Thu Apr 15 17:54:44 2010 From: razavi at acm.org (Reza RAZAVI) Date: Thu, 15 Apr 2010 17:54:44 +0200 Subject: Issue with PRFullTextSearch - WideString Message-ID: <89dhun$1ej9kp@smtp.pt.lu> Hi, Congratulations for the release of Pharo 1.0! I'd also like to report a confusing issue encountered in following setting: - VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179] - Image: PharoCore1.0rc1 [Latest update: #10505] In the stack traces, I can see the following string 'Ambient Activity Systems ???????????????? However, that string is in reality 'Ambient Activity Systems ? Key Features', which I can re-obtain by copying & pasting the string above to any other text processor, like Word. But, if I copy & past it into another editor in Pharo, it shows 'Ambient Activity Systems ? Key Features'. Now again, if I copy & past this latter string to another editor, it shows the original one, that is 'Ambient Activity Systems ? Key Features'. The full stack is copied below. I tried to report this issue via "Mister Postman" so as you get the full details of the stack, but got a *ConnectionTimeOut*, raised via SMTPClient >> fetchNextResponse, then SocketStream nextLine. If more details are needed, please tell me. How the above differences could be explained, and could they explain the "subscript is out of bounds: 8212" error? Regards, Reza Razavi --- The full stack --- ByteArray(Object)>>error: ByteArray(Object)>>errorSubscriptBounds: ByteArray(Object)>>at: WideString(String)>>findSubstring:in:startingAt:matchTable: WideString(String)>>findString:startingAt:caseSensitive: WideString(String)>>includesSubstring:caseSensitive: [] in [] in PRFullTextSearch>>visitStructure: [] in Set(Collection)>>anySatisfy: Set>>do: Set(Collection)>>anySatisfy: [] in PRFullTextSearch>>visitStructure: SortedCollection(OrderedCollection)>>do: MAPriorityContainer(MAContainer)>>do: PRFullTextSearch>>visitStructure: PRFullTextSearch(PRVisitor)>>visitCase: PRFullTextSearch(PRVisitor)>>visitPage: PRPage>>accept: PRPage(Object)>>acceptDecorated: [] in PRPage(PRDecorated)>>acceptDecorated: PRPage(PRDecorated)>>decorationsDo:ownerDo: PRPage(PRDecorated)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PRFullTextSearch(PRVisitor)>>visitAll: Array(SequenceableCollection)>>do: PRFullTextSearch(PRVisitor)>>visitAll: PRFullTextSearch>>visitChildren: PRChildren>>accept: PRChildren(Object)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PRPage(PRDecorated)>>acceptDecorated: [] in PRPage(PRDecorated)>>decorationsDo:ownerDo: Array(SequenceableCollection)>>do: PRPage(PRDecorated)>>decorationsDo:ownerDo: PRPage(PRDecorated)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PRFullTextSearch(PRVisitor)>>visitAll: Array(SequenceableCollection)>>do: PRFullTextSearch(PRVisitor)>>visitAll: PRFullTextSearch>>visitChildren: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PRChildren>>accept: PRChildren(Object)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PRPage(PRDecorated)>>acceptDecorated: [] in PRPage(PRDecorated)>>decorationsDo:ownerDo: Array(SequenceableCollection)>>do: PRPage(PRDecorated)>>decorationsDo:ownerDo: PRPage(PRDecorated)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: PRFullTextSearch(PRVisitor)>>start: PRFullTextSearch>>start: PRFullTextSearch(PREnumerableVisitor)>>do: [] in PRFullTextSearch(PREnumerableVisitor)>>collect: Array class(SequenceableCollection class)>>streamContents: PRFullTextSearch(PREnumerableVisitor)>>collect: PRFullTextSearch(PREnumerableVisitor)>>contents PRAjaxSearchWidget>>findItems PRAjaxSearchWidget>>unfilteredItems PRAjaxSearchWidget(PRStructuresWidget)>>items [] in PRAjaxSearchWidget>>renderItemsOn:for: BlockClosure>>renderOn: WARenderCanvas(WARenderer)>>render: WARenderCanvas(WACanvas)>>render: [] in WAUnorderedListTag(WATagBrush)>>with: BlockClosure>>renderOn: WARenderCanvas(WARenderer)>>render: WARenderCanvas(WACanvas)>>render: WARenderCanvas(WACanvas)>>nest: WAUnorderedListTag(WABrush)>>with: WAUnorderedListTag(WATagBrush)>>with: WARenderCanvas(WAHtmlCanvas)>>unorderedList: PRAjaxSearchWidget>>renderItemsOn:for: GRUnboundDelayedSend>>valueWithArguments: [] in SUAutocompleter(PTUpdater)>>processOn:with: BlockClosure>>renderOn: WARenderCanvas(WARenderer)>>render: WARenderCanvas(WACanvas)>>render: [] in SUAutocompleter(JSObject)>>render:on: [] in WARenderContext>>document:during: BlockClosure>>ensure: WARenderContext>>document:during: SUAutocompleter(JSObject)>>render:on: SUAutocompleter(PTUpdater)>>processOn:with: [] in SUAutocompleter(PTAjax)>>processWith: WARequestContext>>respond: SUAutocompleter(PTAjax)>>processWith: [] in SUAutocompleter>>registerCallbackIn: BlockClosure>>valueWithPossibleArguments: JSAjaxCallback>>evaluateWithArgument: JSAjaxCallback(WACallback)>>evaluateWithFieldValues: [] in WACallbackRegistry>>handle: Array(SequenceableCollection)>>do: WACallbackRegistry>>handle: [] in [] in WAActionPhaseContinuation>>runCallbacks BlockClosure>>on:do: WAActionPhaseContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo: [] in WAActionPhaseContinuation>>runCallbacks BlockClosure>>ensure: WAActionPhaseContinuation>>runCallbacks WAActionPhaseContinuation>>handleRequest [] in WAActionPhaseContinuation(WASessionContinuation)>>basicValue BlockClosure>>on:do: WAActionPhaseContinuation(WASessionContinuation)>>withUnregisteredHandlerDo: WAActionPhaseContinuation(WASessionContinuation)>>basicValue WAActionPhaseContinuation(WASessionContinuation)>>value WASession>>handleFiltered: PRContextFilter(WARequestFilter)>>handleFiltered: [] in PRContextFilter>>handleFiltered: BlockClosure>>on:do: PRCurrentContext class>>use:during: PRContextFilter>>handleFiltered: WAMutualExclusionFilter(WARequestFilter)>>handleFiltered: [] in WAMutualExclusionFilter>>handleFiltered: BlockClosure>>ensure: [] in WAMutex>>critical: [] in Semaphore>>critical: BlockClosure>>ensure: Semaphore>>critical: WAMutex>>critical: WAMutualExclusionFilter>>handleFiltered: [] in WASession(WARequestHandler)>>handle: BlockClosure>>on:do: WACurrentRequestContext class(WADynamicVariable class)>>use:during: [] in WARequestContext>>push:while: BlockClosure>>ensure: WARequestContext>>push:while: WASession(WARequestHandler)>>handle: WAApplication(WARegistry)>>dispatch:to: WAApplication(WARegistry)>>handleKeyed:with: WAApplication(WARegistry)>>handleFiltered: WAApplication>>handleFiltered: WAAuthenticationFilter(WARequestFilter)>>handleFiltered: WAAuthenticationFilter>>handleFiltered: WAExceptionFilter(WARequestFilter)>>handleFiltered: [] in WAExceptionFilter>>handleFiltered: BlockClosure>>on:do: WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring: WAWalkbackErrorHandler class(WAExceptionHandler class)>>handleExceptionsDuring:context: WAExceptionFilter>>handleFiltered: [] in WAApplication(WARequestHandler)>>handle: BlockClosure>>on:do: WACurrentRequestContext class(WADynamicVariable class)>>use:during: [] in WARequestContext>>push:while: BlockClosure>>ensure: WARequestContext>>push:while: WAApplication(WARequestHandler)>>handle: WADispatcher>>handleFiltered:named: WADispatcher>>handleFiltered: [] in WADispatcher(WARequestHandler)>>handle: BlockClosure>>on:do: WACurrentRequestContext class(WADynamicVariable class)>>use:during: [] in WARequestContext>>push:while: BlockClosure>>ensure: WARequestContext>>push:while: WADispatcher(WARequestHandler)>>handle: WADispatcher>>handleFiltered:named: WADispatcher>>handleFiltered: [] in WADispatcher(WARequestHandler)>>handle: BlockClosure>>on:do: WACurrentRequestContext class(WADynamicVariable class)>>use:during: [] in WARequestContext>>push:while: BlockClosure>>ensure: WARequestContext>>push:while: WADispatcher(WARequestHandler)>>handle: [] in WAComancheAdaptor(WAServerAdaptor)>>handleRequest: BlockClosure>>on:do: WAComancheAdaptor(WAServerAdaptor)>>handleRequest: WAComancheAdaptor(WAServerAdaptor)>>handle: [] in WAComancheAdaptor(WAServerAdaptor)>>process: BlockClosure>>ensure: WAComancheAdaptor(WAServerAdaptor)>>process: WAComancheAdaptor>>processHttpRequest: HttpService>>processHttpRequest: [] in HttpAdaptor>>dispatchRequest: BlockClosure>>on:do: HttpService>>handleDispatchErrorsIn: HttpAdaptor>>dispatchRequest: [] in [] in HttpAdaptor>>beginConversation BlockClosure>>on:do: BlockClosure>>valueWithBindingsContext: BlockClosure>>valueWithBindings: BindingsAccessor>>clamp: [] in HttpAdaptor>>beginConversation BlockClosure>>ensure: HttpAdaptor>>beginConversation HttpAdaptor class>>readAndWriteTo:service: HttpAdaptor class>>readAndWriteToSocket:service: HttpService>>serve: [] in HttpService(TcpService)>>value: BlockClosure>>on:do: BlockClosure>>valueWithBindingsContext: BlockClosure>>valueWithBindings: BindingsAccessor>>clamp: [] in BlockClosure>>newProcessWithClampedBindings: BlockClosure>>on:do: BlockClosure>>valueWithBindingsContext: BlockClosure>>valueWithBindings: [] in BlockClosure>>newProcessWithBindings: [] in BlockClosure>>newProcess From renggli at gmail.com Thu Apr 15 18:56:03 2010 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 15 Apr 2010 18:56:03 +0200 Subject: Issue with PRFullTextSearch - WideString In-Reply-To: <89dhun$1ej9kp@smtp.pt.lu> References: <89dhun$1ej9kp@smtp.pt.lu> Message-ID: This is likely a problem of the server adaptor you selected in your seaside setup. Do you use WAKomEncoded in Seaside 2.8 or the UTF-8 codex in Seaside 3? Lukas On 15 April 2010 17:54, Reza RAZAVI wrote: > Hi, > > Congratulations for the release of Pharo 1.0! > > I'd also like to report a confusing issue encountered in following setting: > - VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: > #7179] > - Image: PharoCore1.0rc1 [Latest update: #10505] > > In the stack traces, I can see the following string 'Ambient Activity > Systems ???????????????? > > However, that string is in reality 'Ambient Activity Systems ? Key > Features', which I can re-obtain by copying & pasting the string above to > any other text processor, like Word. But, if I copy & past it into another > editor in Pharo, it shows 'Ambient Activity Systems ? Key Features'. Now > again, if I copy & past this latter string to another editor, it shows the > original one, that is 'Ambient Activity Systems ? Key Features'. > > The full stack is copied below. I tried to report this issue via "Mister > Postman" so as you get the full details of the stack, but got a > *ConnectionTimeOut*, raised via SMTPClient >> fetchNextResponse, then > SocketStream nextLine. If more details are needed, please tell me. > > How the above differences could be explained, and could they explain the > "subscript is out of bounds: 8212" error? > Regards, > Reza Razavi > > > --- The full stack --- > ByteArray(Object)>>error: > ByteArray(Object)>>errorSubscriptBounds: > ByteArray(Object)>>at: > WideString(String)>>findSubstring:in:startingAt:matchTable: > WideString(String)>>findString:startingAt:caseSensitive: > WideString(String)>>includesSubstring:caseSensitive: > [] in [] in PRFullTextSearch>>visitStructure: > [] in Set(Collection)>>anySatisfy: > Set>>do: > Set(Collection)>>anySatisfy: > [] in PRFullTextSearch>>visitStructure: > SortedCollection(OrderedCollection)>>do: > MAPriorityContainer(MAContainer)>>do: > PRFullTextSearch>>visitStructure: > PRFullTextSearch(PRVisitor)>>visitCase: > PRFullTextSearch(PRVisitor)>>visitPage: > PRPage>>accept: > PRPage(Object)>>acceptDecorated: > [] in PRPage(PRDecorated)>>acceptDecorated: > PRPage(PRDecorated)>>decorationsDo:ownerDo: > PRPage(PRDecorated)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PRFullTextSearch(PRVisitor)>>visitAll: > Array(SequenceableCollection)>>do: > PRFullTextSearch(PRVisitor)>>visitAll: > PRFullTextSearch>>visitChildren: > PRChildren>>accept: > PRChildren(Object)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PRPage(PRDecorated)>>acceptDecorated: > [] in PRPage(PRDecorated)>>decorationsDo:ownerDo: > Array(SequenceableCollection)>>do: > PRPage(PRDecorated)>>decorationsDo:ownerDo: > PRPage(PRDecorated)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PRFullTextSearch(PRVisitor)>>visitAll: > Array(SequenceableCollection)>>do: > PRFullTextSearch(PRVisitor)>>visitAll: > PRFullTextSearch>>visitChildren: > - - - - - - - - - - - - - - - > - - - - - - - - - - - - - - - - - - > PRChildren>>accept: > PRChildren(Object)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PRPage(PRDecorated)>>acceptDecorated: > [] in PRPage(PRDecorated)>>decorationsDo:ownerDo: > Array(SequenceableCollection)>>do: > PRPage(PRDecorated)>>decorationsDo:ownerDo: > PRPage(PRDecorated)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > PRFullTextSearch(PRVisitor)>>start: > PRFullTextSearch>>start: > PRFullTextSearch(PREnumerableVisitor)>>do: > [] in PRFullTextSearch(PREnumerableVisitor)>>collect: > Array class(SequenceableCollection class)>>streamContents: > PRFullTextSearch(PREnumerableVisitor)>>collect: > PRFullTextSearch(PREnumerableVisitor)>>contents > PRAjaxSearchWidget>>findItems > PRAjaxSearchWidget>>unfilteredItems > PRAjaxSearchWidget(PRStructuresWidget)>>items > [] in PRAjaxSearchWidget>>renderItemsOn:for: > BlockClosure>>renderOn: > WARenderCanvas(WARenderer)>>render: > WARenderCanvas(WACanvas)>>render: > [] in WAUnorderedListTag(WATagBrush)>>with: > BlockClosure>>renderOn: > WARenderCanvas(WARenderer)>>render: > WARenderCanvas(WACanvas)>>render: > WARenderCanvas(WACanvas)>>nest: > WAUnorderedListTag(WABrush)>>with: > WAUnorderedListTag(WATagBrush)>>with: > WARenderCanvas(WAHtmlCanvas)>>unorderedList: > PRAjaxSearchWidget>>renderItemsOn:for: > GRUnboundDelayedSend>>valueWithArguments: > [] in SUAutocompleter(PTUpdater)>>processOn:with: > BlockClosure>>renderOn: > WARenderCanvas(WARenderer)>>render: > WARenderCanvas(WACanvas)>>render: > [] in SUAutocompleter(JSObject)>>render:on: > [] in WARenderContext>>document:during: > BlockClosure>>ensure: > WARenderContext>>document:during: > SUAutocompleter(JSObject)>>render:on: > SUAutocompleter(PTUpdater)>>processOn:with: > [] in SUAutocompleter(PTAjax)>>processWith: > WARequestContext>>respond: > SUAutocompleter(PTAjax)>>processWith: > [] in SUAutocompleter>>registerCallbackIn: > BlockClosure>>valueWithPossibleArguments: > JSAjaxCallback>>evaluateWithArgument: > JSAjaxCallback(WACallback)>>evaluateWithFieldValues: > [] in WACallbackRegistry>>handle: > Array(SequenceableCollection)>>do: > WACallbackRegistry>>handle: > [] in [] in WAActionPhaseContinuation>>runCallbacks > BlockClosure>>on:do: > WAActionPhaseContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo: > [] in WAActionPhaseContinuation>>runCallbacks > BlockClosure>>ensure: > WAActionPhaseContinuation>>runCallbacks > WAActionPhaseContinuation>>handleRequest > [] in WAActionPhaseContinuation(WASessionContinuation)>>basicValue > BlockClosure>>on:do: > WAActionPhaseContinuation(WASessionContinuation)>>withUnregisteredHandlerDo: > WAActionPhaseContinuation(WASessionContinuation)>>basicValue > WAActionPhaseContinuation(WASessionContinuation)>>value > WASession>>handleFiltered: > PRContextFilter(WARequestFilter)>>handleFiltered: > [] in PRContextFilter>>handleFiltered: > BlockClosure>>on:do: > PRCurrentContext class>>use:during: > PRContextFilter>>handleFiltered: > WAMutualExclusionFilter(WARequestFilter)>>handleFiltered: > [] in WAMutualExclusionFilter>>handleFiltered: > BlockClosure>>ensure: > [] in WAMutex>>critical: > [] in Semaphore>>critical: > BlockClosure>>ensure: > Semaphore>>critical: > WAMutex>>critical: > WAMutualExclusionFilter>>handleFiltered: > [] in WASession(WARequestHandler)>>handle: > BlockClosure>>on:do: > WACurrentRequestContext class(WADynamicVariable class)>>use:during: > [] in WARequestContext>>push:while: > BlockClosure>>ensure: > WARequestContext>>push:while: > WASession(WARequestHandler)>>handle: > WAApplication(WARegistry)>>dispatch:to: > WAApplication(WARegistry)>>handleKeyed:with: > WAApplication(WARegistry)>>handleFiltered: > WAApplication>>handleFiltered: > WAAuthenticationFilter(WARequestFilter)>>handleFiltered: > WAAuthenticationFilter>>handleFiltered: > WAExceptionFilter(WARequestFilter)>>handleFiltered: > [] in WAExceptionFilter>>handleFiltered: > BlockClosure>>on:do: > WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring: > WAWalkbackErrorHandler class(WAExceptionHandler > class)>>handleExceptionsDuring:context: > WAExceptionFilter>>handleFiltered: > [] in WAApplication(WARequestHandler)>>handle: > BlockClosure>>on:do: > WACurrentRequestContext class(WADynamicVariable class)>>use:during: > [] in WARequestContext>>push:while: > BlockClosure>>ensure: > WARequestContext>>push:while: > WAApplication(WARequestHandler)>>handle: > WADispatcher>>handleFiltered:named: > WADispatcher>>handleFiltered: > [] in WADispatcher(WARequestHandler)>>handle: > BlockClosure>>on:do: > WACurrentRequestContext class(WADynamicVariable class)>>use:during: > [] in WARequestContext>>push:while: > BlockClosure>>ensure: > WARequestContext>>push:while: > WADispatcher(WARequestHandler)>>handle: > WADispatcher>>handleFiltered:named: > WADispatcher>>handleFiltered: > [] in WADispatcher(WARequestHandler)>>handle: > BlockClosure>>on:do: > WACurrentRequestContext class(WADynamicVariable class)>>use:during: > [] in WARequestContext>>push:while: > BlockClosure>>ensure: > WARequestContext>>push:while: > WADispatcher(WARequestHandler)>>handle: > [] in WAComancheAdaptor(WAServerAdaptor)>>handleRequest: > BlockClosure>>on:do: > WAComancheAdaptor(WAServerAdaptor)>>handleRequest: > WAComancheAdaptor(WAServerAdaptor)>>handle: > [] in WAComancheAdaptor(WAServerAdaptor)>>process: > BlockClosure>>ensure: > WAComancheAdaptor(WAServerAdaptor)>>process: > WAComancheAdaptor>>processHttpRequest: > HttpService>>processHttpRequest: > [] in HttpAdaptor>>dispatchRequest: > BlockClosure>>on:do: > HttpService>>handleDispatchErrorsIn: > HttpAdaptor>>dispatchRequest: > [] in [] in HttpAdaptor>>beginConversation > BlockClosure>>on:do: > BlockClosure>>valueWithBindingsContext: > BlockClosure>>valueWithBindings: > BindingsAccessor>>clamp: > [] in HttpAdaptor>>beginConversation > BlockClosure>>ensure: > HttpAdaptor>>beginConversation > HttpAdaptor class>>readAndWriteTo:service: > HttpAdaptor class>>readAndWriteToSocket:service: > HttpService>>serve: > [] in HttpService(TcpService)>>value: > BlockClosure>>on:do: > BlockClosure>>valueWithBindingsContext: > BlockClosure>>valueWithBindings: > BindingsAccessor>>clamp: > [] in BlockClosure>>newProcessWithClampedBindings: > BlockClosure>>on:do: > BlockClosure>>valueWithBindingsContext: > BlockClosure>>valueWithBindings: > [] in BlockClosure>>newProcessWithBindings: > [] in BlockClosure>>newProcess > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Thu Apr 15 19:16:45 2010 From: razavi at acm.org (Reza RAZAVI) Date: Thu, 15 Apr 2010 19:16:45 +0200 Subject: Issue with PRFullTextSearch - WideString In-Reply-To: References: <89dhun$1ej9kp@smtp.pt.lu> Message-ID: <89dhun$1ek6g5@smtp.pt.lu> At 18:56 15/04/2010, you wrote: >Do you use WAKomEncoded in Seaside 2.8 I use WAKomEncoded in Seaside 3.0. >or the UTF-8 >codex in Seaside 3? Good point! Actually, I forgot (sorry for that) to mention that the bug has happened on a Debian server, where the VM has been launched with the following parm: "-encoding latin1". However, I've saved the image on Debian, with the debugger already triggered. Then, I moved the image to Win/Vista, where I had the observations reported previously. Otherwise I'm basically using default Pharo/Seaside/Pier configs. Thanks again for your insight, Regards, Reza From cappadonza at hotmail.com Thu Apr 15 19:34:05 2010 From: cappadonza at hotmail.com (isaiah perumalla) Date: Thu, 15 Apr 2010 17:34:05 +0000 Subject: Message-ID: my happiness! I found a large-scale sales compan-- Kimsell.There are favourable price and fine quality goods very much.When I ordered the Samsung LCD,in one week,I received it and found it very well in the quality.I am very happy for the purching.I hope that you can share my happiness. www.happyhu.com You can find what you want to. Greetings! _________________________________________________________________ Need a new place to live? Find it on Domain.com.au http://clk.atdmt.com/NMN/go/157631292/direct/01/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From maarten.mostert at wanadoo.fr Fri Apr 16 13:35:27 2010 From: maarten.mostert at wanadoo.fr (Maarten MOSTERT) Date: Fri, 16 Apr 2010 13:35:27 +0200 (CEST) Subject: tr: Re: [vwnc] Store Magritte download Message-ID: <9247970.10767.1271417727636.JavaMail.www@wwinf1k07> For info ! > Message du 15/04/10 20:11 > De : "Alan Knight" > A : "Miguel Sanchez" , vwnc at cs.uiuc.edu > Copie ? : > Objet : Re: [vwnc] Store Magritte download > > There seems to be an issue there with Magritte attempting to extend namespace semantics, and defining a namespace with defineFirstFindNamespace: ... which the atomic loader does not like. It looks like someone published a version which claims it deals with this problem, but it doesn't seem to. You can try going to the Store settings, and under Loading policies turn off "Use the Atomic Loader". There are other things you can do, and someone should really fix that, but that's probably the easiest thing for a beginner. > > You probably also want to load MagritteForVisualWorks rather than Magritte-All. Other than the namespace issue, and a walkback in trying to initialize, that was fairly easily bypassed, it seemed to load OK. But I didn't try to run it. > > At 09:08 AM 2010-04-15, Miguel Sanchez wrote: > >Hi all, > > > > > >I would like some assistance in getting Magritte installed from the public repositroy. > > > >I'm trying, unsuccessfully so far, to load the Magritte package into VW7.7nc image. After some initial problems with connecting to the store with James Robertson kindly helped me with I'm connecting successfully to the store. > > > >As instructed in the package comments I have turned off atomic loads. > > > >I'm first getting Magritte-all (trs,295,trs) and I'm getting loads of messages with unloadable definitions and the end of which I have Magritte package definitions and some methods created in existing classes. I have no (as far as I can tell) Magritte classes created. > > > >As I'm new to VW, the public repository I would appreciate if someone could give me a pointer to get up and running. Perhaps I'm trying to load an unstable version, or there is some implicit dependency on another package. > > > >Best Regards, > > > > > >Miguel Sanchez > >_______________________________________________ > >vwnc mailing list > >vwnc at cs.uiuc.edu > >http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > -- > Alan Knight [|], Engineering Manager, Cincom Smalltalk > knight at acm.org > aknight at cincom.com > http://www.cincom.com/smalltalk > -------------- next part -------------- _______________________________________________ vwnc mailing list vwnc at cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/vwnc From Mikey.Sanchez at gmail.com Fri Apr 16 16:36:51 2010 From: Mikey.Sanchez at gmail.com (Miguel Sanchez) Date: Fri, 16 Apr 2010 06:36:51 -0800 (PST) Subject: tr: Re: [vwnc] Store Magritte download In-Reply-To: <9247970.10767.1271417727636.JavaMail.www@wwinf1k07> References: <9247970.10767.1271417727636.JavaMail.www@wwinf1k07> Message-ID: <1271428611667-2007361.post@n4.nabble.com> second attempt. no success. 1. I turned off Atomic loading in the settings. 2. Tried loading MagritteForVisualWorks (trs.295,trs) 3. Selected latest packages when prompted 4. Got loads of errors on the Magritte.* packages (see below). From what I can see methods were added to Object and various core classes but hardly any new classes created. Squeak.* packages loaded fine Error dump follows All packages gave similar errors.: Warning: Package "Magritte-Model" cannot be loaded. The following classes cannot be loaded because their environment is not in the image nor in the package being loaded: MAPriorityContainer (environment path: Root.Smalltalk.Magritte) MAPluggableAccessor (environment path: Root.Smalltalk.Magritte) .... edited for brevity. -- View this message in context: http://n4.nabble.com/tr-Re-vwnc-Store-Magritte-download-tp1986923p2007361.html Sent from the Magritte, Pier and Related Tools mailing list archive at Nabble.com. From maarten.mostert at wanadoo.fr Fri Apr 16 20:42:40 2010 From: maarten.mostert at wanadoo.fr (Maarten MOSTERT) Date: Fri, 16 Apr 2010 20:42:40 +0200 Subject: [vwnc] Store Magritte download In-Reply-To: <4BC8A0A1.3070601@btinternet.com> References: <267601.4644.qm@smtp103.rog.mail.re2.yahoo.com> <4BC8A0A1.3070601@btinternet.com> Message-ID: <6631EB873A2D438FB80F7F2EC9B72AC9@MacBookWindows> Dear Nial, Well if you actually manage to port Margritte and Pier 1.2 to VisualWorks that would be really Cool (don't hesistate) ! Pier is a cool thing, it doesn't have a lot in common with SeaBreaze and WebVelocity but simply works to make good web sites. I am awaiting the day that glorp.org get's on to it. Sincerely yours, @+Maarten, ----- Original Message ----- From: "Niall Ross" To: "Miguel Sanchez" Cc: Sent: Friday, April 16, 2010 7:38 PM Subject: Re: [vwnc] Store Magritte download > > Dear Miguel, > proceed as follows > > 1) Load Porting-NameSpaces CS14.NFR.15. The atomic loader works with > the latest Porting-NameSpaces but it cannot load both the > Porting-NameSpaces system _and_ a FirstFindNameSpace (e.g. Magritte) in > the same atomic operation. > > 2) Load Magritte-All nfr.295-1 and take latest in repository for all > prompted prereqs. > > 3) Load MagritteForVisualWorks nfr.295. Instead of (2), you can load > just this, taking Magritte-All version nfr.295-1 as prereq when > prompted. The only reason to load them separately is to observe the > references to a few Undeclared that will appear after Magritte-All is > loaded. After MagritteForVisualWorks is loaded, most of these > Undeclared will say they have no references, since the locations are now > overridden. > > Thorsten and I ported the 295 version at ESUG in September last year. > > I have also published a version of Pier (lr.183-222-81-99 CS14.NFR.11) > to the repository that prereqs MagritteForVisualWorks and also has a > viable Pier FirstFindNameSpace, so loads OK. The Squeak Pier version > from which this was ported was the current version in late 2007; I will > port a newer version sometime (or will be pleased to discover that > someone else did so ahead of me. :-) > > Yours faithfully > Niall Ross > >> Thanks Alan >> >> Second attempt. No success. >> >> 1. I turned off Atomic loading in the settings. >> 2. Tried loading MagritteForVisualWorks (trs.295,trs) >> 3. Selected latest package when prompted >> 4. Got loads of errors on the Magritte.* packages (see below). From >> what I can see methods were added to Object and various core classes >> but hardly any new classes created. Squeak.* packages loaded fine >> >> I'm not sure if I'm mis-posting this here. I've noticed on this thread >> someone forwarding to the seaside mailing list. Perhaps I should post >> there instead? >> >> Regards Miguel >> >> >> Error dump follows All packages gave similar errors.: >> >> Warning: Package "Magritte-Model" cannot be loaded. >> >> The following classes cannot be loaded because their environment is >> not in the image nor in the package being loaded: >> MAPriorityContainer (environment path: Root.Smalltalk.Magritte) >> MAPluggableAccessor (environment path: Root.Smalltalk.Magritte) >> ...... >> edited for brevity. >> >> >> >> >> >> >> >> >> >> On 15/04/2010, at 19:51, Alan Knight > > wrote: >> >>> There seems to be an issue there with Magritte attempting to extend >>> namespace semantics, and defining a namespace with >>> defineFirstFindNamespace: ... which the atomic loader does not like. >>> It looks like someone published a version which claims it deals with >>> this problem, but it doesn't seem to. You can try going to the Store >>> settings, and under Loading policies turn off "Use the Atomic >>> Loader". There are other things you can do, and someone should really >>> fix that, but that's probably the easiest thing for a beginner. >>> >>> You probably also want to load MagritteForVisualWorks rather than >>> Magritte-All. Other than the namespace issue, and a walkback in >>> trying to initialize, that was fairly easily bypassed, it seemed to >>> load OK. But I didn't try to run it. >>> >>> At 09:08 AM 2010-04-15, Miguel Sanchez wrote: >>> >>>> Hi all, >>>> >>>> >>>> I would like some assistance in getting Magritte installed from the >>>> public repositroy. >>>> >>>> I'm trying, unsuccessfully so far, to load the Magritte package into >>>> VW7.7nc image. After some initial problems with connecting to the >>>> store with James Robertson kindly helped me with I'm connecting >>>> successfully to the store. >>>> >>>> As instructed in the package comments I have turned off atomic loads. >>>> >>>> I'm first getting Magritte-all (trs,295,trs) and I'm getting loads >>>> of messages with unloadable definitions and the end of which I have >>>> Magritte package definitions and some methods created in existing >>>> classes. I have no (as far as I can tell) Magritte classes created. >>>> >>>> As I'm new to VW, the public repository I would appreciate if >>>> someone could give me a pointer to get up and running. Perhaps I'm >>>> trying to load an unstable version, or there is some implicit >>>> dependency on another package. >>>> >>>> Best Regards, >>>> >>>> >>>> Miguel Sanchez >>>> _______________________________________________ >>>> vwnc mailing list >>>> vwnc at cs.uiuc.edu >>>> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc >>> >>> >>> -- >>> Alan Knight [|], Engineering Manager, Cincom Smalltalk >>> knight at acm.org >>> aknight at cincom.com >>> http://www.cincom.com/smalltalk >> >>------------------------------------------------------------------------ >> >>_______________________________________________ >>vwnc mailing list >>vwnc at cs.uiuc.edu >>http://lists.cs.uiuc.edu/mailman/listinfo/vwnc >> >> > > > _______________________________________________ > vwnc mailing list > vwnc at cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From frank.shearar at angband.za.org Fri Apr 16 22:01:55 2010 From: frank.shearar at angband.za.org (Frank Shearar) Date: Fri, 16 Apr 2010 22:01:55 +0200 Subject: Automatic readonly descriptions Message-ID: <4BC8C233.4050100@angband.za.org> Hi everyone, I sometimes want to render domain objects as read only, and sometimes as editable entities. I wrote description methods that allow editing, as per normal. Then I wrote this class method: readOnlyDescription ^ self description collect: [:description | description beReadonly]. which seems to work just dandy. I then render this in Seaside like so: renderContentOn: html html render: (recipe class readOnlyDescription asComponentOn: recipe) So: first, Magritte rocks me. Second, is the above "idiomatic" Magritte? Are there better ways of doing this? frank From frank.shearar at angband.za.org Fri Apr 16 22:15:10 2010 From: frank.shearar at angband.za.org (Frank Shearar) Date: Fri, 16 Apr 2010 22:15:10 +0200 Subject: Automatic readonly descriptions In-Reply-To: <4BC8C233.4050100@angband.za.org> References: <4BC8C233.4050100@angband.za.org> Message-ID: <4BC8C54E.3060209@angband.za.org> Frank Shearar wrote: > Hi everyone, > > I sometimes want to render domain objects as read only, and sometimes as > editable entities. > > I wrote description methods that allow editing, as per normal. > > Then I wrote this class method: > > readOnlyDescription > ^ self description collect: [:description | description beReadonly]. > > which seems to work just dandy. I then render this in Seaside like so: > > renderContentOn: html > html render: (recipe class readOnlyDescription asComponentOn: recipe) > > So: first, Magritte rocks me. > > Second, is the above "idiomatic" Magritte? Are there better ways of > doing this? Ah. Yes. "self description beReadonly" does the same thing! frank From renggli at gmail.com Fri Apr 16 22:21:16 2010 From: renggli at gmail.com (Lukas Renggli) Date: Fri, 16 Apr 2010 22:21:16 +0200 Subject: Automatic readonly descriptions In-Reply-To: <4BC8C54E.3060209@angband.za.org> References: <4BC8C233.4050100@angband.za.org> <4BC8C54E.3060209@angband.za.org> Message-ID: >> Second, is the above "idiomatic" Magritte? Are there better ways of doing >> this? > > Ah. Yes. "self description beReadonly" does the same thing! That's correct, but you should copy the description beforehand: . Lukas -- Lukas Renggli www.lukas-renggli.ch From jfitzell at gmail.com Sat Apr 17 02:13:43 2010 From: jfitzell at gmail.com (Julian Fitzell) Date: Sat, 17 Apr 2010 01:13:43 +0100 Subject: [vwnc] Store Magritte download In-Reply-To: <9247970.10767.1271417727636.JavaMail.www@wwinf1k07> References: <9247970.10767.1271417727636.JavaMail.www@wwinf1k07> Message-ID: The newer Pier and Magritte versions that I ported to VA Smalltalk using Grease last fall will presumably be easier to get running on VW as well (if nobody has done that yet)... Julian On Fri, Apr 16, 2010 at 12:35 PM, Maarten MOSTERT < maarten.mostert at wanadoo.fr> wrote: > For info ! > > > > Message du 15/04/10 20:11 > > De : "Alan Knight" > > A : "Miguel Sanchez" , vwnc at cs.uiuc.edu > > Copie ? : > > Objet : Re: [vwnc] Store Magritte download > > > > There seems to be an issue there with Magritte attempting to extend > namespace semantics, and defining a namespace > with defineFirstFindNamespace: ... which the atomic loader does not like. > It looks like someone published a version > which claims it deals with this problem, but it doesn't seem to. You can > try going to the Store settings, and under > Loading policies turn off "Use the Atomic Loader". There are other things > you can do, and someone should really fix > that, but that's probably the easiest thing for a beginner. > > > > You probably also want to load MagritteForVisualWorks rather than > Magritte-All. Other than the namespace issue, > and a walkback in trying to initialize, that was fairly easily bypassed, it > seemed to load OK. But I didn't try to > run it. > > > > At 09:08 AM 2010-04-15, Miguel Sanchez wrote: > > >Hi all, > > > > > > > > >I would like some assistance in getting Magritte installed from the > public repositroy. > > > > > >I'm trying, unsuccessfully so far, to load the Magritte package into > VW7.7nc image. After some initial problems > with connecting to the store with James Robertson kindly helped me with I'm > connecting successfully to the store. > > > > > >As instructed in the package comments I have turned off atomic loads. > > > > > >I'm first getting Magritte-all (trs,295,trs) and I'm getting loads of > messages with unloadable definitions and > the end of which I have Magritte package definitions and some methods > created in existing classes. I have no (as far > as I can tell) Magritte classes created. > > > > > >As I'm new to VW, the public repository I would appreciate if someone > could give me a pointer to get up and > running. Perhaps I'm trying to load an unstable version, or there is some > implicit dependency on another package. > > > > > >Best Regards, > > > > > > > > >Miguel Sanchez > > >_______________________________________________ > > >vwnc mailing list > > >vwnc at cs.uiuc.edu > > >http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > > > -- > > Alan Knight [|], Engineering Manager, Cincom Smalltalk > > knight at acm.org > > aknight at cincom.com > > http://www.cincom.com/smalltalk > > > _______________________________________________ > vwnc mailing list > vwnc at cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -------------- next part -------------- An HTML attachment was scrubbed... URL: From razavi at acm.org Sat Apr 17 13:05:04 2010 From: razavi at acm.org (Reza Razavi) Date: Sat, 17 Apr 2010 13:05:04 +0200 Subject: Side effect in RFBServer >>encryptPassword: Message-ID: <8bbtuf$1jmgt4@smtp.pt.lu> Hi, I just passed several hours tracking a bug, and finally figured out the its related to *RFBServer>>encryptPassword:* that *destroys* the password string passed as argument (replaces all characters with $0). Couldn't that code be now simply replaced by a call to *GRPlatform current secureHashFor: password*? (That would also require adapting #authenticateChallenge:response:) Regards, Reza From renggli at gmail.com Sat Apr 17 13:36:40 2010 From: renggli at gmail.com (Lukas Renggli) Date: Sat, 17 Apr 2010 13:36:40 +0200 Subject: Side effect in RFBServer >>encryptPassword: In-Reply-To: <8bbtuf$1jmgt4@smtp.pt.lu> References: <8bbtuf$1jmgt4@smtp.pt.lu> Message-ID: > I just passed several hours tracking a bug, and finally figured out the its > related to *RFBServer>>encryptPassword:* that *destroys* the password string > passed as argument (replaces all characters with $0). I guess that's a security measure. > Couldn't that code be now simply replaced by a call to *GRPlatform current > secureHashFor: password*? (That would also require adapting > #authenticateChallenge:response:) Yes, but RFB is highly dependent on Pharo, so it doesn't really make sense to make it also depend on Grease. Lukas -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Sat Apr 17 14:04:17 2010 From: razavi at acm.org (Reza Razavi) Date: Sat, 17 Apr 2010 14:04:17 +0200 Subject: Side effect in RFBServer >>encryptPassword: In-Reply-To: References: <8bbtuf$1jmgt4@smtp.pt.lu> Message-ID: <8bbtuf$1jmrbp@smtp.pt.lu> At 13:36 17/04/2010, Lukas Renggli wrote: >I guess that's a security measure. Sure, but really tricky and uncommon, although extra easy to fix once you know it. >Yes, but RFB is highly dependent on Pharo, so it doesn't really make >sense to make it also depend on Grease. That's true. Maybe then we could simply add a comment somewhere. Cheers, Reza From razavi at acm.org Sat Apr 17 20:10:53 2010 From: razavi at acm.org (Reza Razavi) Date: Sat, 17 Apr 2010 20:10:53 +0200 Subject: How the control flow is passed from Pier to Pontoon In-Reply-To: References: <8bbtuf$1j0bps@smtp.pt.lu> <89dhun$1f4di1@smtp.pt.lu> <8bbtuf$1jnjdc@smtp.pt.lu> Message-ID: <89dhun$1f7do2@smtp.pt.lu> Hi, This is a follow up to a current discussion within the *Seaside-dev* mailing list, with the goal of clarifying how the control flow of Seaside, caught by Pier, is passed to Pontoon. Just to situate the context, let me add that Pontoon is the name of a framework under development for implementing by reuse and extension web applications with integrated on-line flow modeling and execution functionality. It heavily draws of community work on Smalltalk, Seaside, and Pier, that I'd like to take the opportunity to thank for the quality of their work, and as a community as a whole. Pontoon uses Pier in several ways. I'll progressively communicate more on that. The one which is of interest here, is the Pier extension to Seaside's Request handling, that specifically comes with a remarkable mechanism for handling Contexts, as, roughly speaking, associations of structures and commands. To keep the design and implementation as consistent as possible with Pier, while ensuring the execution of on-line defined flow models, Pontoon parallels the #execute protocol of PRCommands, and typically catches the control as follows: - WAActionPhaseContinuation >> handleRequest - WAActionPhaseContinuation >> runCallbacks - PRPierFrame >> update - PRContentsWidget >> onChangeContext: - AAsFlowModel >> execute The *trick* consists simply in creating PRContexts that point to Pontoon flow models, instead of Pier Commands. Once a Pontoon flow model takes the control, it determines how it further flows. Given that flow models may be defined on-line, this means that end-users may determine themselves the rules that underlay that flow. In other terms, the flow of control for the behavior that users are concerned about is not necessarily *hard coded*. This is specifically useful when: - The control flow can only be known at runtime (with applications, for example, to support daily life activities), and - The control flow is subject to frequent changes in time and space whilst the web application is already deployed (for examples of application domains, please see http://adaptiveobjectmodel.com/). Pontoon flow models implement their own specific #execute logic, which includes handling concurrent execution, persistency, atomic execution, and exceptions, while remaining consistent with those of Pier, and reusing them whenever possible. As *meta-described composite commands*, flow models may #call: Seaside components. This allows end-users defining on-line their own models of interaction among a set of *primitive* software services, including Seaside components. As soon as the issue we are discussing on *Seaside-dev* is addressed, I'll set-up a demo web site, and post the url here. Regards, Reza -------------- next part -------------- An HTML attachment was scrubbed... URL: From renggli at gmail.com Sun Apr 18 12:06:12 2010 From: renggli at gmail.com (Lukas Renggli) Date: Sun, 18 Apr 2010 12:06:12 +0200 Subject: [Seaside-dev] Remaining Issues for Seaside 3.0 release In-Reply-To: <89dhun$1f75ed@smtp.pt.lu> References: <89dhun$1f75ed@smtp.pt.lu> Message-ID: Please, to the Pier list, this has nothing to do with Seaside 3.0 release! > 2. You should not #call: from anywhere within the command execution of > Pier. > > I don't call from within the command execution of Pier either (I'll send a > short email to the Pier mailing list to explain this). Yes, it is. Both #onAnswerCommand: and #onChangeContext: are in the middle of Pier specific command processing. They should not be interrupted, suspended and (multiply) resumed at a later point in time by a #call:. This is not supposed to work. Lukas > To see the exact issue that I talk about, please just change the following: > PRContentsWidget >> onChangeContext: aContext > ????????super onChangeContext: aContext. > ????????self call: WAFlowConvenienceFunctionalTest new > > No change is necessary in #onAnswerCommand:. > > Then, if you point your browser to http://localhost:8080/pier, you should > get that Seaside error. > > My goal has basically been to clarify whether that's an expected behavior in > Seaside 3.0 or a bug? > > FYI, I just double checked with the current distribution of Pier (Pharo0.1, > Latest update: #10374), which looks like still based on Seaside 2.8, and the > above change doesn't raises an error. On the contrary, the WAFlowTest > application (that replaces WAFlowConvenienceFunctionalTest, since absent > from that image) is launched and looks like working OK (although I perfectly > believe you that this may have its own *internal* issues, as you described > above). > > Regards, > Reza > > > > _______________________________________________ > seaside-dev mailing list > seaside-dev at lists.squeakfoundation.org > http://lists.squeakfoundation.org/mailman/listinfo/seaside-dev > > -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Sun Apr 18 21:51:37 2010 From: razavi at acm.org (Reza Razavi) Date: Sun, 18 Apr 2010 21:51:37 +0200 Subject: [Seaside-dev] Remaining Issues for Seaside 3.0 release In-Reply-To: References: <89dhun$1f75ed@smtp.pt.lu> Message-ID: <8bbtuf$1jvihb@smtp.pt.lu> At 12:06 18/04/2010, Lukas Renggli wrote: >This is not supposed to work. Hi Lukas, Well noted; thanks for the clarifications; I'll adapt my design and implementation, as I was expecting it when decided to move from 2.8 to 3.0. Regards, Reza From sergiolist at village-buzz.com Mon Apr 19 03:05:09 2010 From: sergiolist at village-buzz.com (sergio_101) Date: Sun, 18 Apr 2010 21:05:09 -0400 Subject: Adding multiple sytlesheets.. Message-ID: i am using a canned design to start working with, and i was wondering how i could add multiple stylesheets to my design.. i see that when you edit the design, you can choose another stylesheet. it says: 'stylesheets', so i am guessing that i can add more than one.. any ideas? thanks! -- ---- peace, sergio photographer, journalist, visionary http://www.coffee-black.com http://www.painlessfrugality.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101 From renggli at gmail.com Mon Apr 19 08:16:45 2010 From: renggli at gmail.com (Lukas Renggli) Date: Mon, 19 Apr 2010 08:16:45 +0200 Subject: Adding multiple sytlesheets.. In-Reply-To: References: Message-ID: > i am using a canned design to start working with, and i was wondering > how i could add multiple stylesheets to my design.. > > i see that when you edit the design, you can choose another > stylesheet. it says: 'stylesheets', so i am guessing that i can add > more than one.. The design command is just convenience over editing the settings and the structures with the design directly. It says "style sheets" because it allows you to also edit the designs of the parent structures, if any. Lukas -- Lukas Renggli www.lukas-renggli.ch From norbert at hartl.name Mon Apr 19 09:34:35 2010 From: norbert at hartl.name (Norbert Hartl) Date: Mon, 19 Apr 2010 09:34:35 +0200 Subject: Migration of pier tree In-Reply-To: References: <342F12E3-F226-42A1-AD9A-44515EA50044@hartl.name> Message-ID: On 13.04.2010, at 17:29, Lukas Renggli wrote: > There is migration code on the class side of PRMigrations that is > automatically called when you load new code. This code should fix most > problems with the model and I used it successfully to bring forward > some really old images like my website and seaside.st over the past 4 > years. > > Now for the environment there are no such migrations defined. I don't > remember exactly, but I guess an automatic conversion is not really > possible. Also this shouldn't be a problem, you will simply end up > with a new default environment. If you store the contents of your old > environment somewhere external beforehand, you should be able to paste > it into the update Pier instance with the new environments. > Thanks. When do I know if I need to convert the environments? I exported my pier kernel from an old gemstone image and imported it in a more recent image. I just discovered that now everything is under /System and assume there happened some changes along with changing the hierarchy. I was also interested if there is a description somewhere about how to create the new hierarchy manually. Norbert > On 13 April 2010 12:37, Norbert Hartl wrote: >> It seems I used quite some old pier instances. Back then there were environement and stuff in the root etc. In the meantime everything moved under the System node which I like. Is there any document/help that describes what needs to be changed in order to get an old instance confirming to this new layout? >> >> Norbert >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> > > > > -- > Lukas Renggli > www.lukas-renggli.ch > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From norbert at hartl.name Mon Apr 19 09:51:19 2010 From: norbert at hartl.name (Norbert Hartl) Date: Mon, 19 Apr 2010 09:51:19 +0200 Subject: Migration of pier tree In-Reply-To: References: <342F12E3-F226-42A1-AD9A-44515EA50044@hartl.name> Message-ID: <2E503D48-DC0D-4BA8-B981-081CCDAF26D1@hartl.name> On the other hand it is just that /_Systemmanagement becomes /system/management Every environment is put into /system/templates and every component beneath _Environment is put into /system/components right? On 19.04.2010, at 09:34, Norbert Hartl wrote: > > On 13.04.2010, at 17:29, Lukas Renggli wrote: > >> There is migration code on the class side of PRMigrations that is >> automatically called when you load new code. This code should fix most >> problems with the model and I used it successfully to bring forward >> some really old images like my website and seaside.st over the past 4 >> years. >> >> Now for the environment there are no such migrations defined. I don't >> remember exactly, but I guess an automatic conversion is not really >> possible. Also this shouldn't be a problem, you will simply end up >> with a new default environment. If you store the contents of your old >> environment somewhere external beforehand, you should be able to paste >> it into the update Pier instance with the new environments. >> > Thanks. When do I know if I need to convert the environments? I exported my pier kernel from an old gemstone image and imported it in a more recent image. I just discovered that now everything is under /System and assume there happened some changes along with changing the hierarchy. I was also interested if there is a description somewhere about how to create the new hierarchy manually. > > Norbert > >> On 13 April 2010 12:37, Norbert Hartl wrote: >>> It seems I used quite some old pier instances. Back then there were environement and stuff in the root etc. In the meantime everything moved under the System node which I like. Is there any document/help that describes what needs to be changed in order to get an old instance confirming to this new layout? >>> >>> Norbert >>> _______________________________________________ >>> Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>> >> >> >> >> -- >> Lukas Renggli >> www.lukas-renggli.ch >> >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From renggli at gmail.com Mon Apr 19 09:52:53 2010 From: renggli at gmail.com (Lukas Renggli) Date: Mon, 19 Apr 2010 09:52:53 +0200 Subject: Migration of pier tree In-Reply-To: References: <342F12E3-F226-42A1-AD9A-44515EA50044@hartl.name> Message-ID: >> Now for the environment there are no such migrations defined. I don't >> remember exactly, but I guess an automatic conversion is not really >> possible. Also this shouldn't be a problem, you will simply end up >> with a new default environment. If you store the contents of your old >> environment somewhere external beforehand, you should be able to paste >> it into the update Pier instance with the new environments. > > Thanks. When do I know if I need to convert the environments? When new default environments are created. > I exported my pier kernel from an old gemstone image and imported it in a more recent image. I just discovered that now everything is under /System and assume there happened some changes along with changing the hierarchy. I was also interested if there is a description somewhere about how to create the new hierarchy manually. The hierarchy is not fixed, this is just by convention that I mostly use a setup as follows: \system \management (all the admin tools) \users \groups ... \design \components (basica widgets) \commands \views \templates (the individual templates) \root (the environment of the root) \blog (the environment of the blog) You are free to rearrange and organize it as you wish though. Lukas ... > > Norbert > >> On 13 April 2010 12:37, Norbert Hartl wrote: >>> It seems I used quite some old pier instances. Back then there were environement and stuff in the root etc. In the meantime everything moved under the System node which I like. Is there any document/help that describes what needs to be changed in order to get an old instance confirming to this new layout? >>> >>> Norbert >>> _______________________________________________ >>> Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>> >> >> >> >> -- >> Lukas Renggli >> www.lukas-renggli.ch >> >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From renggli at gmail.com Mon Apr 19 09:54:03 2010 From: renggli at gmail.com (Lukas Renggli) Date: Mon, 19 Apr 2010 09:54:03 +0200 Subject: Migration of pier tree In-Reply-To: <2E503D48-DC0D-4BA8-B981-081CCDAF26D1@hartl.name> References: <342F12E3-F226-42A1-AD9A-44515EA50044@hartl.name> <2E503D48-DC0D-4BA8-B981-081CCDAF26D1@hartl.name> Message-ID: On 19 April 2010 09:51, Norbert Hartl wrote: > On the other hand it is just that > > /_Systemmanagement becomes /system/management > > Every environment is put into > > /system/templates > > and every component beneath _Environment is put into > > /system/components > > right? The names are just for you. You can name it whatever you want. Pier maintains object references to the environments and components. Lukas > > On 19.04.2010, at 09:34, Norbert Hartl wrote: > >> >> On 13.04.2010, at 17:29, Lukas Renggli wrote: >> >>> There is migration code on the class side of PRMigrations that is >>> automatically called when you load new code. This code should fix most >>> problems with the model and I used it successfully to bring forward >>> some really old images like my website and seaside.st over the past 4 >>> years. >>> >>> Now for the environment there are no such migrations defined. I don't >>> remember exactly, but I guess an automatic conversion is not really >>> possible. Also this shouldn't be a problem, you will simply end up >>> with a new default environment. If you store the contents of your old >>> environment somewhere external beforehand, you should be able to paste >>> it into the update Pier instance with the new environments. >>> >> Thanks. When do I know if I need to convert the environments? I exported my pier kernel from an old gemstone image and imported it in a more recent image. I just discovered that now everything is under /System and assume there happened some changes along with changing the hierarchy. I was also interested if there is a description somewhere about how to create the new hierarchy manually. >> >> Norbert >> >>> On 13 April 2010 12:37, Norbert Hartl wrote: >>>> It seems I used quite some old pier instances. Back then there were environement and stuff in the root etc. In the meantime everything moved under the System node which I like. Is there any document/help that describes what needs to be changed in order to get an old instance confirming to this new layout? >>>> >>>> Norbert >>>> _______________________________________________ >>>> Magritte, Pier and Related Tools ... >>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>>> >>> >>> >>> >>> -- >>> Lukas Renggli >>> www.lukas-renggli.ch >>> >>> _______________________________________________ >>> Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> >> >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From norbert at hartl.name Mon Apr 19 10:01:13 2010 From: norbert at hartl.name (Norbert Hartl) Date: Mon, 19 Apr 2010 10:01:13 +0200 Subject: Migration of pier tree In-Reply-To: References: <342F12E3-F226-42A1-AD9A-44515EA50044@hartl.name> <2E503D48-DC0D-4BA8-B981-081CCDAF26D1@hartl.name> Message-ID: On 19.04.2010, at 09:54, Lukas Renggli wrote: > On 19 April 2010 09:51, Norbert Hartl wrote: >> On the other hand it is just that >> >> /_Systemmanagement becomes /system/management >> >> Every environment is put into >> >> /system/templates >> >> and every component beneath _Environment is put into >> >> /system/components >> >> right? > > The names are just for you. You can name it whatever you want. Pier > maintains object references to the environments and components. Thanks, I know. But the pier installation is the default and it is a good idea to be conform to it unless there is a reason not to do so. Norbert > >> >> On 19.04.2010, at 09:34, Norbert Hartl wrote: >> >>> >>> On 13.04.2010, at 17:29, Lukas Renggli wrote: >>> >>>> There is migration code on the class side of PRMigrations that is >>>> automatically called when you load new code. This code should fix most >>>> problems with the model and I used it successfully to bring forward >>>> some really old images like my website and seaside.st over the past 4 >>>> years. >>>> >>>> Now for the environment there are no such migrations defined. I don't >>>> remember exactly, but I guess an automatic conversion is not really >>>> possible. Also this shouldn't be a problem, you will simply end up >>>> with a new default environment. If you store the contents of your old >>>> environment somewhere external beforehand, you should be able to paste >>>> it into the update Pier instance with the new environments. >>>> >>> Thanks. When do I know if I need to convert the environments? I exported my pier kernel from an old gemstone image and imported it in a more recent image. I just discovered that now everything is under /System and assume there happened some changes along with changing the hierarchy. I was also interested if there is a description somewhere about how to create the new hierarchy manually. >>> >>> Norbert >>> >>>> On 13 April 2010 12:37, Norbert Hartl wrote: >>>>> It seems I used quite some old pier instances. Back then there were environement and stuff in the root etc. In the meantime everything moved under the System node which I like. Is there any document/help that describes what needs to be changed in order to get an old instance confirming to this new layout? >>>>> >>>>> Norbert >>>>> _______________________________________________ >>>>> Magritte, Pier and Related Tools ... >>>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>>>> >>>> >>>> >>>> >>>> -- >>>> Lukas Renggli >>>> www.lukas-renggli.ch >>>> >>>> _______________________________________________ >>>> Magritte, Pier and Related Tools ... >>>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >>> >>> >>> _______________________________________________ >>> Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> >> >> _______________________________________________ >> Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> > > > > -- > Lukas Renggli > www.lukas-renggli.ch > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From norbert at hartl.name Mon Apr 19 12:03:11 2010 From: norbert at hartl.name (Norbert Hartl) Date: Mon, 19 Apr 2010 12:03:11 +0200 Subject: utf-8 encoded URL path info? Message-ID: I just recently discovered that actual browsers are displaying utf-8 safe url encodet URL paths as the right characters. Meaning http://en.wikipedia.org/wiki/Gew%C3%BCrztraminer actually displays http://en.wikipedia.org/wiki/Gew?rztraminer As far as I can see in pier the URL path is tightly coupled to the name of a structure. And structure names are restricted to only a few characters. The comments in the code reason this for safe usage in some object protocols. What would be the way to go if I want to enable those types of URLs? What are the problematic cases if a structure name could consist of non-7bit characters? thanks, Norbert From philippe.marschall at gmail.com Mon Apr 19 19:49:08 2010 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Mon, 19 Apr 2010 19:49:08 +0200 Subject: utf-8 encoded URL path info? In-Reply-To: References: Message-ID: 2010/4/19 Norbert Hartl : > I just recently discovered that actual browsers are displaying utf-8 safe url encodet URL paths as the right characters. Meaning > > http://en.wikipedia.org/wiki/Gew%C3%BCrztraminer > > actually displays > > http://en.wikipedia.org/wiki/Gew?rztraminer Nice, isn't it? > As far as I can see in pier the URL path is tightly coupled to the name of a structure. And structure names are restricted to only a few characters. The comments in the code reason this for safe usage in some object protocols. What would be the way to go if I want to enable those types of URLs? What are the problematic cases if a structure name could consist of non-7bit characters? The following comes to my mind: - If you post the second link with umlauts, if might cause problems if the server is not in utf-8, ie5 or some non-modern browser user agent. - If you use WAKomEncoded(39) (which you should) and go beyond Latin-1 (e.g. ?) you enter the wonderful world of WideStrings. - There might round trip problems with external systems (files, databases, ...) I summary you might run into bugs, but then again someone has to in order to get them fixed. Cheers Philippe From johnmci at smalltalkconsulting.com Mon Apr 19 19:53:54 2010 From: johnmci at smalltalkconsulting.com (John M McIntosh) Date: Mon, 19 Apr 2010 10:53:54 -0700 Subject: utf-8 encoded URL path info? In-Reply-To: References: Message-ID: In Sophie the URI subsystem was *fixed* to ensure the path data was UTF-8 and HTTP correct. However what we found (a couple of years back) was that different browsers had different opinions about what to do for every UTF-8 character. At the time we decided the differences were bugs, hopefully they have been fixed now since I recall you can? now have domains with UTF-8 characters. On 2010-04-19, at 10:49 AM, Philippe Marschall wrote: > 2010/4/19 Norbert Hartl : >> I just recently discovered that actual browsers are displaying utf-8 safe url encodet URL paths as the right characters. Meaning >> >> http://en.wikipedia.org/wiki/Gew%C3%BCrztraminer >> >> actually displays >> >> http://en.wikipedia.org/wiki/Gew?rztraminer > > Nice, isn't it? -- =========================================================================== John M. McIntosh Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com =========================================================================== -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 2445 bytes Desc: not available URL: From philippe.marschall at gmail.com Mon Apr 19 20:20:16 2010 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Mon, 19 Apr 2010 20:20:16 +0200 Subject: utf-8 encoded URL path info? In-Reply-To: References: Message-ID: 2010/4/19 John M McIntosh : > In Sophie the URI subsystem was *fixed* to ensure the path data was UTF-8 and HTTP correct. > However what we found (a couple of years back) was that different browsers had different opinions about > what to do for every UTF-8 character. At the time we decided the differences were bugs, hopefully they have > been fixed now since I recall you can? now have domains with UTF-8 characters. For domains that's easy because there's only one standard. It has nothing to do with UTF-8 but uses punycode. For the path and the query there are 3 standards one says ASCII, one says Latin-1 and one says UTF-8. There is no way of knowing before making a request whether the server accepts Latin-1 or UTF-8. Cheers Philippe From maarten.mostert at wanadoo.fr Mon Apr 19 23:00:19 2010 From: maarten.mostert at wanadoo.fr (Maarten MOSTERT) Date: Mon, 19 Apr 2010 23:00:19 +0200 Subject: [Esug-list] GLORP & Magritte integration/refactoring In-Reply-To: <5CCDA038-0483-460B-BB5B-A3ABAB9E203B@arcor.de> References: <5CCDA038-0483-460B-BB5B-A3ABAB9E203B@arcor.de> Message-ID: <9E3F2D362EFF472CADACAB7699FC1608@MacBookWindows> Dear Mirko, I really appreciate your project however to be honest and allthough my websites runs a Pier one click image, I never really understood what Margriite really is. As a very happy Glorp user (945 calls to glorpSession) I would however prefer that you don't change Glorp's API as might be your intention. I pretty much would prefer you to follow the official branch. What I really would like to see however (but this is obviously another subject) is the Glorp documentation to be hosted on a Pier / Margritte image. This will give us way more possibilities to improve and help it's adoption. @+Maarten, ----- Original Message ----- From: "Mirko Kiefer" To: "ESUG Mailing list" Sent: Monday, April 19, 2010 12:15 PM Subject: Re: [Esug-list] GLORP & Magritte integration/refactoring Of course the link to the project description would be useful ;) http://gsoc2010.esug.org/projects/glorp%20&%20magritte%20integration/refactoring/proposal-a On Apr 19, 2010, at 12:07 PM, Mirko Kiefer wrote: > Hi all, > I submitted a proposal for the GSoC project "GLORP & Magritte integration/refactoring" and would greatly appreciate if some Mentors could review it. > GLORP and Magritte are both really exciting frameworks that can solve problems thousands of developers are hassling with. I believe that especially in web-applications there is a huge potential to make life easier for many developers if such frameworks would become more accessible and better promoted. > The project I want to work on aims at integrating Magritte which allows automatic generating of user interfaces with GLORP which is a great framework for storing your objects into a relational database. The plan is to integrate and separate the common parts of both and simplify the way you use both frameworks. > There is an interesting conversation on the ESUG mailing (starting at 2010-03-10) list that led to the idea of this project - especially the comments of Alan Knight and Niall Ross were quite insightful to me. > At the end of the project there will be an integrated and refactored codeset and a sample application demonstrating the ease of use of the integrated frameworks. > If we are then able to promote these frameworks in an adequate way combined with what we have with Seaside I see a great opportunity to attract more developers to the Smalltalk community. > Look at what led to the great popularity of a language like Ruby - it was not only the language itself, it was frameworks like Ruby on Rails which greatly simplified the development of web applications including straightforward mapping to a database. Well, I believe a combination of Seaside, GLORP and Magritte can make these tasks even easier. The problem is that these frameworks are hard to get into initially and that people only realize how great they are once they spent some time actually using them. > The project I want to work on is one step in reducing this barrier and I plan to continue it even after GSoC, especially in terms of writing tutorials and usage examples. > So hope you can afford a bit of time to review the project and give me feedback and advise. > > Thanks, > Mirko_______________________________________________ > Esug-list mailing list > Esug-list at lists.esug.org > http://lists.esug.org/listinfo/esug-list _______________________________________________ Esug-list mailing list Esug-list at lists.esug.org http://lists.esug.org/listinfo/esug-list -------------- next part -------------- An HTML attachment was scrubbed... URL: From maarten.mostert at wanadoo.fr Tue Apr 20 02:31:35 2010 From: maarten.mostert at wanadoo.fr (Maarten MOSTERT) Date: Tue, 20 Apr 2010 02:31:35 +0200 Subject: [Esug-list] GLORP & Magritte integration/refactoring In-Reply-To: References: <9E3F2D362EFF472CADACAB7699FC1608@MacBookWindows> Message-ID: <19835D57759C43A898E8294A3E5F1C5D@MacBookWindows> Yes of cours if it is done correctly many things can be extended. But in that case it might be Margritte that will suffer from an important API change. Maybe they won' agree on that. Is it not to difficult to keep everybody happy ? @+Maarten, ----- Original Message ----- From: "???? ?????????" To: "ESUG Mailing list" Sent: Tuesday, April 20, 2010 12:26 AM Subject: Re[2]: [Esug-list] GLORP & Magritte integration/refactoring > >> I would however prefer that you don't change Glorp's API as might be your >> intention. > > As Niall told some day before, nothing prevent from supporting current API > via new methods, it's even some kind of additional test. > _______________________________________________ > Esug-list mailing list > Esug-list at lists.esug.org > http://lists.esug.org/listinfo/esug-list > > From mirko.kiefer at arcor.de Tue Apr 20 14:47:58 2010 From: mirko.kiefer at arcor.de (Mirko Kiefer) Date: Tue, 20 Apr 2010 14:47:58 +0200 Subject: [Esug-list] GLORP & Magritte integration/refactoring In-Reply-To: <19835D57759C43A898E8294A3E5F1C5D@MacBookWindows> References: <9E3F2D362EFF472CADACAB7699FC1608@MacBookWindows> <19835D57759C43A898E8294A3E5F1C5D@MacBookWindows> Message-ID: <4CD9E671-F6D8-4870-92E7-3E9FA152C7B6@arcor.de> Hi Maarten, thanks for your feedback! The existing API of GLORP or Magritte will still be available - the projects goal is to unify, simplify and extend the existing API's of both frameworks. GLORP itself for example can benefit as well from this project as it has for example issues with its caching mechanism when running in large systems with more than 2 million instances. But as mentioned in my first mail the greatest opportunity of this project is that by integrating GLORP with Magritte we can attract many new webdevelopers that look for a Rails-like solution but with even higher productivity and performance. By only adding one type of meta-description to their classes they will be able to both persist objects in the database AND automatically create user interfaces. I don't think there are many platforms out there that have such a great potential so we should really work on making these frameworks much more accessible. Mirko On Apr 20, 2010, at 2:31 AM, Maarten MOSTERT wrote: > Yes of cours if it is done correctly many things can be extended. But in that case it might be Margritte that will suffer from an important API change. > Maybe they won' agree on that. Is it not to difficult to keep everybody happy ? > > @+Maarten, > > > ----- Original Message ----- From: "???? ?????????" > To: "ESUG Mailing list" > Sent: Tuesday, April 20, 2010 12:26 AM > Subject: Re[2]: [Esug-list] GLORP & Magritte integration/refactoring > > >> >>> I would however prefer that you don't change Glorp's API as might be your intention. >> >> As Niall told some day before, nothing prevent from supporting current API via new methods, it's even some kind of additional test. >> _______________________________________________ >> Esug-list mailing list >> Esug-list at lists.esug.org >> http://lists.esug.org/listinfo/esug-list >> > > > > _______________________________________________ > Esug-list mailing list > Esug-list at lists.esug.org > http://lists.esug.org/listinfo/esug-list From norbert at hartl.name Tue Apr 20 18:45:36 2010 From: norbert at hartl.name (Norbert Hartl) Date: Tue, 20 Apr 2010 18:45:36 +0200 Subject: Usage PRCommand for own components Message-ID: I decided for the time being to use the pier user management and rights management for my application. If I use these it seems to be feasible to use the commands as well. Do you think it is a good idea to extend the usage of PRCommands into my own (embedded) components (that do not deal with the pier structure)? And if you think it is what are the ways of having commands that deal with an embedded component? I mean commands are resolved over the couple context-structure. If I have a component embedded inside of this structure how can make a command act on this embedded component? thanks, Norbert From renggli at gmail.com Tue Apr 20 20:03:22 2010 From: renggli at gmail.com (Lukas Renggli) Date: Tue, 20 Apr 2010 20:03:22 +0200 Subject: Usage PRCommand for own components In-Reply-To: References: Message-ID: On 20 April 2010 18:45, Norbert Hartl wrote: > I decided for the time being to use the pier user management and rights management for my application. If I use these it seems to be feasible to use the commands as well. > > Do you think it is a good idea to extend the usage of PRCommands into my own (embedded) components (that do not deal with the pier structure)? And if you think it is what are the ways of having commands that deal with an embedded component? I think that will complicate things. Commands are very specific to Pier. They only work together on a specific PRContext instance. Lukas -- Lukas Renggli www.lukas-renggli.ch From renggli at gmail.com Fri Apr 23 10:09:21 2010 From: renggli at gmail.com (Lukas Renggli) Date: Fri, 23 Apr 2010 10:09:21 +0200 Subject: [Seaside] pier: blog-titles-without-spaces In-Reply-To: References: Message-ID: > wondering how to set up my blog posts so that the links look like: > > blog/blog-post-title > > instead of: > > blog/blog%20post%20tile What about not putting spaces in the name of the structure when you add the post? :-) With the move command you can change the name after you've added it. Lukas -- Lukas Renggli www.lukas-renggli.ch From renggli at gmail.com Fri Apr 23 10:26:02 2010 From: renggli at gmail.com (Lukas Renggli) Date: Fri, 23 Apr 2010 10:26:02 +0200 Subject: [Seaside] Rudimentary Pier Site is now up.. In-Reply-To: References: Message-ID: > i have finally had a second to put this thing up.. i will hopefully be > updating it like crazy in the next few weeks.. > > you can see it here: > > www.CodingForHire.com Cool, I put it on piercms.com. > my first blog post.. the url looks like: > > http://www.codingforhire.com/blog/Why%20I%20have%20migrated%20from%20Ruby%20on%20Rails%20to%20Seaside > > not so good.. See the other mail. Note the difference between "name" and "title". "name" is the part appearing in the URL, "title" is the title of the page. > also, when you hit that link, it goes straight to the first field of the form.. Remove PRJavaScriptSupport from your libraries. Lukas -- Lukas Renggli www.lukas-renggli.ch From renggli at gmail.com Fri Apr 23 10:31:11 2010 From: renggli at gmail.com (Lukas Renggli) Date: Fri, 23 Apr 2010 10:31:11 +0200 Subject: [Seaside] pier: may have found a problem In-Reply-To: References: Message-ID: Sorry, I cannot reproduce this. Maybe a caching problem of the browser? Sometimes changes to the CSS are not immediately applied. Lukas On 23 April 2010 04:43, sergio_101 wrote: > i think i found a weird problem.. one that i can replicate.. > > from the main page.. edit the design settings.. > > from the styles, select a different style.. mine is: > /environment/styles/stylesheetCss. > > change anything in the environment, then save. > > when you do so, the contents of stylesheetCss will be cleared.. > > you can't view it from the link.. it renders a blank page.. > > if you go to browse view and edit it.. the contents are there.. but it > still renders a blank page. > > to fix it, you have to reupload the file.. > > is this a behavior i am just not understanding? > > thanks! > > -- > > ---- > peace, > sergio > photographer, journalist, visionary > > http://www.coffee-black.com > http://www.painlessfrugality.com > http://www.twitter.com/sergio_101 > http://www.facebook.com/sergio101 > _______________________________________________ > seaside mailing list > seaside at lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Sat Apr 24 00:18:01 2010 From: razavi at acm.org (Reza Razavi) Date: Sat, 24 Apr 2010 00:18:01 +0200 Subject: Issue with PRFullTextSearch - WideString In-Reply-To: References: <89dhun$1ej9kp@smtp.pt.lu> Message-ID: <89dhun$1hfgrl@smtp.pt.lu> At 18:56 15/04/2010, Lukas Renggli wrote: >This is likely a problem of the server adaptor you selected in your >seaside setup. Do you use WAKomEncoded in Seaside 2.8 or the UTF-8 >codex in Seaside 3? Hi Lukas, I repeated the above issue a few days before on an (experimental) Pier-based distribution (PharoCore1.0rc1 - Latest update: #10505). Thanks to the VNC, I then examined the stack directly on a Debian server. Now, I re-examined the issue and just realised that it happens when I copy and paste text from Word. Like, in the example below, the simple quote in *o'clock* that causes problem to the Search Tool, is copied from Word. My sequence of actions to reproduce the issue, and the full execution stack are attached below. Hoping this helps, Regards, Reza ----------- Here is what I did: 1) Add a post to the blog with the exact following content: Saturday 8th May 2010 from 10 to 5 o'clock 2) Went to the home page, and entered *events* in the Search area. Here is what I observe in the debugger: 1) The error is raised in PRFullTextSearch >> visitStructure:, specifically in the 2nd occurrence of the following call: #includesSubstring:caseSensitive: that calls then *WideString (String) >>findSubstring:in:startingAt:matchTable:*, which raises #errorSubscriptBounds: upon a call to *matchTable at: 8217 asciiValue +1* 2) The argument to this method is the above PBPost 3) The PRDocument attached to that Post contains the followings: - aPRText on: 'Saturday 8th May 2010 from 10 to 5' - aPRLineBreak - aPRText on: 'o??????? 4) #toString: returns then the following: 'Saturday 8th May 2010 from 10 to 5 o??????? 5) The above call where the error is raised starts then exactly as follows: 'Saturday 8th May 2010 from 10 to 5 o??????? ' includesSubstring: 'events' caseSensitive: false And, here is the execution stack: --- 20 April 2010 11:07:12 pm VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179] Image: PharoCore1.0 - PontoonCore1.0a [Latest update: #10517] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true ByteArray(Object)>>error: Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32...etc... Arguments and temporary variables: aString: 'subscript is out of bounds: 8218' Receiver's instance variables: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32...etc... ByteArray(Object)>>errorSubscriptBounds: Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32...etc... Arguments and temporary variables: index: 8218 Receiver's instance variables: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32...etc... ByteArray(Object)>>at: Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32...etc... Arguments and temporary variables: index: 8218 Receiver's instance variables: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32...etc... WideString(String)>>findSubstring:in:startingAt:matchTable: Receiver: '' Arguments and temporary variables: key: 'e' body: 'Saturday 8th May 2010 from 10 to 5 o'clock ' start: 1 matchTable: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...etc... index: 1 c1: $' c2: $e startIndex: nil startIndexLimiT: nil startIndex: 37 startIndexLimiT: 43 Receiver's instance variables: '' WideString(String)>>findString:startingAt:caseSensitive: Receiver: 'Saturday 8th May 2010 from 10 to 5 o'clock ' Arguments and temporary variables: key: 'e' start: 1 caseSensitive: false Receiver's instance variables: 'Saturday 8th May 2010 from 10 to 5 o'clock ' WideString(String)>>includesSubstring:caseSensitive: Receiver: 'Saturday 8th May 2010 from 10 to 5 o'clock ' Arguments and temporary variables: aString: 'e' caseSensitive: false Receiver's instance variables: 'Saturday 8th May 2010 from 10 to 5 o'clock ' [] in [] in PRFullTextSearch>>visitStructure: Receiver: a PRFullTextSearch Arguments and temporary variables: < Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false [] in Set(Collection)>>anySatisfy: Receiver: a Set('e') Arguments and temporary variables: aBlock: 'e' each: [closure] in [] in PRFullTextSearch>>visitStructure: Receiver's instance variables: tally: 1 array: #(nil nil nil nil 'e') Set>>do: Receiver: a Set('e') Arguments and temporary variables: aBlock: [closure] in Set(Collection)>>anySatisfy: index: 5 each: 'e' indexLimiT: 5 Receiver's instance variables: tally: 1 array: #(nil nil nil nil 'e') Set(Collection)>>anySatisfy: Receiver: a Set('e') Arguments and temporary variables: aBlock: [closure] in [] in PRFullTextSearch>>visitStructure: Receiver's instance variables: tally: 1 array: #(nil nil nil nil 'e') [] in PRFullTextSearch>>visitStructure: Receiver: a PRFullTextSearch Arguments and temporary variables: < Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false SortedCollection(OrderedCollection)>>do: Receiver: a SortedCollection(a MAStringDescription label: 'Name' comment: nil a MABooleanDescription...etc... Arguments and temporary variables: aBlock: [closure] in PRFullTextSearch>>visitStructure: index: 13 Receiver's instance variables: array: an Array(a MAStringDescription label: 'Name' comment: nil a MABooleanDes...etc... firstIndex: 1 lastIndex: 17 sortBlock: nil MAPriorityContainer(MAContainer)>>do: Receiver: a MAPriorityContainer label: 'Blog Post' comment: nil Arguments and temporary variables: aBlock: [closure] in PRFullTextSearch>>visitStructure: Receiver's instance variables: properties: a Dictionary(#label->'Blog Post' ) accessor: nil children: a SortedCollection(a MAStringDescription label: 'Name' comment: nil a...etc... PRFullTextSearch>>visitStructure: Receiver: a PRFullTextSearch Arguments and temporary variables: < Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false PRFullTextSearch(PRVisitor)>>visitCase: Receiver: a PRFullTextSearch Arguments and temporary variables: anObject: a PBPost[4068] name: 'School-Fair' Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false PRFullTextSearch(PRVisitor)>>visitEntry: Receiver: a PRFullTextSearch Arguments and temporary variables: anObject: a PBPost[4068] name: 'School-Fair' Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false PRFullTextSearch(PRVisitor)>>visitPost: Receiver: a PRFullTextSearch Arguments and temporary variables: anObject: a PBPost[4068] name: 'School-Fair' Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false PBPost>>accept: Receiver: a PBPost[4068] name: 'School-Fair' Arguments and temporary variables: aVisitor: a PRFullTextSearch Receiver's instance variables: properties: a Dictionary(#documents->a Dictionary() #hideFromMenus->false ) decorations: an Array(a PUSecurity[3493]) parent: a PBBlog[235] name: 'blog' name: 'School-Fair' title: 'School-Fair' tags: #('School' 'Fair') document: a PRDocument[3732] uuid: nil author: 'Siemon' publication: 16 April 2010 5:43:02 pm sourceUrl: nil sourceTitle: nil enclosure: nil PBPost(Object)>>acceptDecorated: Receiver: a PBPost[4068] name: 'School-Fair' Arguments and temporary variables: aVisitor: a PRFullTextSearch Receiver's instance variables: properties: a Dictionary(#documents->a Dictionary() #hideFromMenus->false ) decorations: an Array(a PUSecurity[3493]) parent: a PBBlog[235] name: 'blog' name: 'School-Fair' title: 'School-Fair' tags: #('School' 'Fair') document: a PRDocument[3732] uuid: nil author: 'Siemon' publication: 16 April 2010 5:43:02 pm sourceUrl: nil sourceTitle: nil enclosure: nil [] in PBPost(PRDecorated)>>acceptDecorated: Receiver: a PBPost[4068] name: 'School-Fair' Arguments and temporary variables: aVisitor: a PBPost[4068] name: 'School-Fair' each: a PRFullTextSearch Receiver's instance variables: properties: a Dictionary(#documents->a Dictionary() #hideFromMenus->false ) decorations: an Array(a PUSecurity[3493]) parent: a PBBlog[235] name: 'blog' name: 'School-Fair' title: 'School-Fair' tags: #('School' 'Fair') document: a PRDocument[3732] uuid: nil author: 'Siemon' publication: 16 April 2010 5:43:02 pm sourceUrl: nil sourceTitle: nil enclosure: nil PBPost(PRDecorated)>>decorationsDo:ownerDo: Receiver: a PBPost[4068] name: 'School-Fair' Arguments and temporary variables: aBlock: [closure] in PBPost(PRDecorated)>>acceptDecorated: anOwnerBlock: [closure] in PBPost(PRDecorated)>>acceptDecorated: Receiver's instance variables: properties: a Dictionary(#documents->a Dictionary() #hideFromMenus->false ) decorations: an Array(a PUSecurity[3493]) parent: a PBBlog[235] name: 'blog' name: 'School-Fair' title: 'School-Fair' tags: #('School' 'Fair') document: a PRDocument[3732] uuid: nil author: 'Siemon' publication: 16 April 2010 5:43:02 pm sourceUrl: nil sourceTitle: nil enclosure: nil PBPost(PRDecorated)>>acceptDecorated: Receiver: a PBPost[4068] name: 'School-Fair' Arguments and temporary variables: aVisitor: a PRFullTextSearch Receiver's instance variables: properties: a Dictionary(#documents->a Dictionary() #hideFromMenus->false ) decorations: an Array(a PUSecurity[3493]) parent: a PBBlog[235] name: 'blog' name: 'School-Fair' title: 'School-Fair' tags: #('School' 'Fair') document: a PRDocument[3732] uuid: nil author: 'Siemon' publication: 16 April 2010 5:43:02 pm sourceUrl: nil sourceTitle: nil enclosure: nil PRFullTextSearch(PRVisitor)>>visit: Receiver: a PRFullTextSearch Arguments and temporary variables: anObject: a PBPost[4068] name: 'School-Fair' Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false [] in PRFullTextSearch(PRVisitor)>>visitAll: Receiver: a PRFullTextSearch Arguments and temporary variables: each: a PBPost[4068] name: 'School-Fair' Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false Array(SequenceableCollection)>>do: Receiver: an Array(a PBPost[1367] name: 'third-meeting-info-wg' a PBPost[1597] name: 'Visit-to-the-c...etc... Arguments and temporary variables: aBlock: [closure] in PRFullTextSearch(PRVisitor)>>visitAll: index: 4 indexLimiT: 4 Receiver's instance variables: an Array(a PBPost[1367] name: 'third-meeting-info-wg' a PBPost[1597] name: 'Visit-to-the-c...etc... PRFullTextSearch(PRVisitor)>>visitAll: Receiver: a PRFullTextSearch Arguments and temporary variables: aCollection: an Array(a PBPost[1367] name: 'third-meeting-info-wg' a PBPost[159...etc... Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false PRFullTextSearch>>visitChildren: Receiver: a PRFullTextSearch Arguments and temporary variables: anObject: a PRChildren[1445] Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false PRChildren>>accept: Receiver: a PRChildren[1445] Arguments and temporary variables: aVisitor: a PRFullTextSearch Receiver's instance variables: properties: nil decorated: a PBBlog[235] name: 'blog' children: an Array(a PBPost[1367] name: 'third-meeting-info-wg' a PBPost[1597] ...etc... PRChildren(Object)>>acceptDecorated: Receiver: a PRChildren[1445] Arguments and temporary variables: aVisitor: a PRFullTextSearch Receiver's instance variables: properties: nil decorated: a PBBlog[235] name: 'blog' children: an Array(a PBPost[1367] name: 'third-meeting-info-wg' a PBPost[1597] ...etc... PRFullTextSearch(PRVisitor)>>visit: Receiver: a PRFullTextSearch Arguments and temporary variables: anObject: a PRChildren[1445] Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false [] in PBBlog(PRDecorated)>>acceptDecorated: Receiver: a PBBlog[235] name: 'blog' Arguments and temporary variables: aVisitor: a PRChildren[1445] each: a PRFullTextSearch Receiver's instance variables: properties: a Dictionary(#documents->a Dictionary() #hideFromMenus->false #loca...etc... decorations: an Array(a PUSecurity[888] a PRChildren[1445]) parent: a PRPage[3287] name: 'home' name: 'blog' title: 'APEEE Blog' tags: #() document: a PRDocument[2055] managingEditor: nil webMaster: nil copyright: nil language: nil itemCount: nil feedTitle: nil commentTimeout: 14:00:00:00 feedForward: nil [] in PBBlog(PRDecorated)>>decorationsDo:ownerDo: Receiver: a PBBlog[235] name: 'blog' Arguments and temporary variables: aBlock: a PRChildren[1445] each: [closure] in PBBlog(PRDecorated)>>acceptDecorated: Receiver's instance variables: properties: a Dictionary(#documents->a Dictionary() #hideFromMenus->false #loca...etc... decorations: an Array(a PUSecurity[888] a PRChildren[1445]) parent: a PRPage[3287] name: 'home' name: 'blog' title: 'APEEE Blog' tags: #() document: a PRDocument[2055] managingEditor: nil webMaster: nil copyright: nil language: nil itemCount: nil feedTitle: nil commentTimeout: 14:00:00:00 feedForward: nil Array(SequenceableCollection)>>do: Receiver: an Array(a PUSecurity[888] a PRChildren[1445]) Arguments and temporary variables: aBlock: [closure] in PBBlog(PRDecorated)>>decorationsDo:ownerDo: index: 2 indexLimiT: 2 Receiver's instance variables: an Array(a PUSecurity[888] a PRChildren[1445]) PBBlog(PRDecorated)>>decorationsDo:ownerDo: Receiver: a PBBlog[235] name: 'blog' Arguments and temporary variables: aBlock: [closure] in PBBlog(PRDecorated)>>acceptDecorated: anOwnerBlock: [closure] in PBBlog(PRDecorated)>>acceptDecorated: Receiver's instance variables: properties: a Dictionary(#documents->a Dictionary() #hideFromMenus->false #loca...etc... decorations: an Array(a PUSecurity[888] a PRChildren[1445]) parent: a PRPage[3287] name: 'home' name: 'blog' title: 'APEEE Blog' tags: #() document: a PRDocument[2055] managingEditor: nil webMaster: nil copyright: nil language: nil itemCount: nil feedTitle: nil commentTimeout: 14:00:00:00 feedForward: nil PBBlog(PRDecorated)>>acceptDecorated: Receiver: a PBBlog[235] name: 'blog' Arguments and temporary variables: aVisitor: a PRFullTextSearch Receiver's instance variables: properties: a Dictionary(#documents->a Dictionary() #hideFromMenus->false #loca...etc... decorations: an Array(a PUSecurity[888] a PRChildren[1445]) parent: a PRPage[3287] name: 'home' name: 'blog' title: 'APEEE Blog' tags: #() document: a PRDocument[2055] managingEditor: nil webMaster: nil copyright: nil language: nil itemCount: nil feedTitle: nil commentTimeout: 14:00:00:00 feedForward: nil PRFullTextSearch(PRVisitor)>>visit: Receiver: a PRFullTextSearch Arguments and temporary variables: anObject: a PBBlog[235] name: 'blog' Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false [] in PRFullTextSearch(PRVisitor)>>visitAll: Receiver: a PRFullTextSearch Arguments and temporary variables: each: a PBBlog[235] name: 'blog' Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false Array(SequenceableCollection)>>do: Receiver: an Array(a PRPage[2483] name: 'system' a PRPage[2161] name: 'about' a PRPage[707] name: 'r...etc... Arguments and temporary variables: aBlock: [closure] in PRFullTextSearch(PRVisitor)>>visitAll: index: 4 indexLimiT: 11 Receiver's instance variables: an Array(a PRPage[2483] name: 'system' a PRPage[2161] name: 'about' a PRPage[707] name: 'r...etc... PRFullTextSearch(PRVisitor)>>visitAll: Receiver: a PRFullTextSearch Arguments and temporary variables: aCollection: an Array(a PRPage[2483] name: 'system' a PRPage[2161] name: 'about...etc... Receiver's instance variables: escaper: nil block: [closure] in [] in PRFullTextSearch(PREnumerableVisitor)>>collect: structure: a PRPage[1922] name: 'home' acceptToken: a Set('e') rejectToken: a Set() caseSensitive: false --- The full stack --- ByteArray(Object)>>error: ByteArray(Object)>>errorSubscriptBounds: ByteArray(Object)>>at: WideString(String)>>findSubstring:in:startingAt:matchTable: WideString(String)>>findString:startingAt:caseSensitive: WideString(String)>>includesSubstring:caseSensitive: [] in [] in PRFullTextSearch>>visitStructure: [] in Set(Collection)>>anySatisfy: Set>>do: Set(Collection)>>anySatisfy: [] in PRFullTextSearch>>visitStructure: SortedCollection(OrderedCollection)>>do: MAPriorityContainer(MAContainer)>>do: PRFullTextSearch>>visitStructure: PRFullTextSearch(PRVisitor)>>visitCase: PRFullTextSearch(PRVisitor)>>visitEntry: PRFullTextSearch(PRVisitor)>>visitPost: PBPost>>accept: PBPost(Object)>>acceptDecorated: [] in PBPost(PRDecorated)>>acceptDecorated: PBPost(PRDecorated)>>decorationsDo:ownerDo: PBPost(PRDecorated)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PRFullTextSearch(PRVisitor)>>visitAll: Array(SequenceableCollection)>>do: PRFullTextSearch(PRVisitor)>>visitAll: PRFullTextSearch>>visitChildren: PRChildren>>accept: PRChildren(Object)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PBBlog(PRDecorated)>>acceptDecorated: [] in PBBlog(PRDecorated)>>decorationsDo:ownerDo: Array(SequenceableCollection)>>do: PBBlog(PRDecorated)>>decorationsDo:ownerDo: PBBlog(PRDecorated)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PRFullTextSearch(PRVisitor)>>visitAll: Array(SequenceableCollection)>>do: PRFullTextSearch(PRVisitor)>>visitAll: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PRFullTextSearch>>visitChildren: PRChildren>>accept: PRChildren(Object)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PRPage(PRDecorated)>>acceptDecorated: [] in PRPage(PRDecorated)>>decorationsDo:ownerDo: Array(SequenceableCollection)>>do: PRPage(PRDecorated)>>decorationsDo:ownerDo: PRPage(PRDecorated)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PRFullTextSearch(PRVisitor)>>visitAll: Array(SequenceableCollection)>>do: PRFullTextSearch(PRVisitor)>>visitAll: PRFullTextSearch>>visitChildren: PRChildren>>accept: PRChildren(Object)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: [] in PRPage(PRDecorated)>>acceptDecorated: [] in PRPage(PRDecorated)>>decorationsDo:ownerDo: Array(SequenceableCollection)>>do: PRPage(PRDecorated)>>decorationsDo:ownerDo: PRPage(PRDecorated)>>acceptDecorated: PRFullTextSearch(PRVisitor)>>visit: PRFullTextSearch(PRVisitor)>>start: PRFullTextSearch>>start: PRFullTextSearch(PREnumerableVisitor)>>do: [] in PRFullTextSearch(PREnumerableVisitor)>>collect: Array class(SequenceableCollection class)>>streamContents: PRFullTextSearch(PREnumerableVisitor)>>collect: PRFullTextSearch(PREnumerableVisitor)>>contents PRAjaxSearchWidget>>findItems PRAjaxSearchWidget>>unfilteredItems PRAjaxSearchWidget(PRStructuresWidget)>>items [] in PRAjaxSearchWidget>>renderItemsOn:for: BlockClosure>>renderOn: WARenderCanvas(WARenderer)>>render: WARenderCanvas(WACanvas)>>render: [] in WAUnorderedListTag(WATagBrush)>>with: BlockClosure>>renderOn: WARenderCanvas(WARenderer)>>render: WARenderCanvas(WACanvas)>>render: WARenderCanvas(WACanvas)>>nest: WAUnorderedListTag(WABrush)>>with: WAUnorderedListTag(WATagBrush)>>with: WARenderCanvas(WAHtmlCanvas)>>unorderedList: PRAjaxSearchWidget>>renderItemsOn:for: GRUnboundDelayedSend>>valueWithArguments: [] in SUAutocompleter(PTUpdater)>>processOn:with: BlockClosure>>renderOn: WARenderCanvas(WARenderer)>>render: WARenderCanvas(WACanvas)>>render: [] in SUAutocompleter(JSObject)>>render:on: [] in WARenderContext>>document:during: BlockClosure>>ensure: WARenderContext>>document:during: SUAutocompleter(JSObject)>>render:on: SUAutocompleter(PTUpdater)>>processOn:with: [] in SUAutocompleter(PTAjax)>>processWith: WARequestContext>>respond: SUAutocompleter(PTAjax)>>processWith: [] in SUAutocompleter>>registerCallbackIn: BlockClosure>>valueWithPossibleArguments: JSAjaxCallback>>evaluateWithArgument: JSAjaxCallback(WACallback)>>evaluateWithFieldValues: [] in WACallbackRegistry>>handle: OrderedCollection>>do: WACallbackRegistry>>handle: [] in [] in WAActionPhaseContinuation>>runCallbacks BlockClosure>>on:do: WAActionPhaseContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo: [] in WAActionPhaseContinuation>>runCallbacks BlockClosure>>ensure: WAActionPhaseContinuation>>runCallbacks WAActionPhaseContinuation>>handleRequest [] in WAActionPhaseContinuation(WASessionContinuation)>>basicValue BlockClosure>>on:do: WAActionPhaseContinuation(WASessionContinuation)>>withUnregisteredHandlerDo: WAActionPhaseContinuation(WASessionContinuation)>>basicValue WAActionPhaseContinuation(WASessionContinuation)>>value WASession>>handleFiltered: PRContextFilter(WARequestFilter)>>handleFiltered: [] in PRContextFilter>>handleFiltered: BlockClosure>>on:do: PRCurrentContext class>>use:during: PRContextFilter>>handleFiltered: WAMutualExclusionFilter(WARequestFilter)>>handleFiltered: [] in WAMutualExclusionFilter>>handleFiltered: BlockClosure>>ensure: [] in WAMutex>>critical: [] in Semaphore>>critical: BlockClosure>>ensure: Semaphore>>critical: WAMutex>>critical: WAMutualExclusionFilter>>handleFiltered: [] in WASession(WARequestHandler)>>handle: BlockClosure>>on:do: WACurrentRequestContext class(WADynamicVariable class)>>use:during: [] in WARequestContext>>push:while: BlockClosure>>ensure: WARequestContext>>push:while: WASession(WARequestHandler)>>handle: WAApplication(WARegistry)>>dispatch:to: WAApplication(WARegistry)>>handleKeyed:with: WAApplication(WARegistry)>>handleFiltered: WAApplication>>handleFiltered: WAExceptionFilter(WARequestFilter)>>handleFiltered: [] in WAExceptionFilter>>handleFiltered: BlockClosure>>on:do: WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring: WAWalkbackErrorHandler class(WAExceptionHandler class)>>handleExceptionsDuring:context: WAExceptionFilter>>handleFiltered: [] in WAApplication(WARequestHandler)>>handle: BlockClosure>>on:do: WACurrentRequestContext class(WADynamicVariable class)>>use:during: [] in WARequestContext>>push:while: BlockClosure>>ensure: WARequestContext>>push:while: WAApplication(WARequestHandler)>>handle: WADispatcher>>handleFiltered:named: WADispatcher>>handleFiltered: [] in WADispatcher(WARequestHandler)>>handle: BlockClosure>>on:do: WACurrentRequestContext class(WADynamicVariable class)>>use:during: [] in WARequestContext>>push:while: BlockClosure>>ensure: WARequestContext>>push:while: WADispatcher(WARequestHandler)>>handle: WADispatcher>>handleFiltered:named: WADispatcher>>handleFiltered: [] in WADispatcher(WARequestHandler)>>handle: BlockClosure>>on:do: WACurrentRequestContext class(WADynamicVariable class)>>use:during: [] in WARequestContext>>push:while: BlockClosure>>ensure: WARequestContext>>push:while: WADispatcher(WARequestHandler)>>handle: [] in WAComancheAdaptor(WAServerAdaptor)>>handleRequest: BlockClosure>>on:do: WAComancheAdaptor(WAServerAdaptor)>>handleRequest: WAComancheAdaptor(WAServerAdaptor)>>handle: [] in WAComancheAdaptor(WAServerAdaptor)>>process: BlockClosure>>ensure: WAComancheAdaptor(WAServerAdaptor)>>process: WAComancheAdaptor>>processHttpRequest: HttpService>>processHttpRequest: [] in HttpAdaptor>>dispatchRequest: BlockClosure>>on:do: HttpService>>handleDispatchErrorsIn: HttpAdaptor>>dispatchRequest: [] in [] in HttpAdaptor>>beginConversation BlockClosure>>on:do: BlockClosure>>valueWithBindingsContext: BlockClosure>>valueWithBindings: BindingsAccessor>>clamp: [] in HttpAdaptor>>beginConversation BlockClosure>>ensure: HttpAdaptor>>beginConversation HttpAdaptor class>>readAndWriteTo:service: HttpAdaptor class>>readAndWriteToSocket:service: HttpService>>serve: [] in HttpService(TcpService)>>value: BlockClosure>>on:do: -- and more not shown -- From renggli at gmail.com Sat Apr 24 09:45:32 2010 From: renggli at gmail.com (Lukas Renggli) Date: Sat, 24 Apr 2010 09:45:32 +0200 Subject: Issue with PRFullTextSearch - WideString In-Reply-To: <89dhun$1hfgrl@smtp.pt.lu> References: <89dhun$1ej9kp@smtp.pt.lu> <89dhun$1hfgrl@smtp.pt.lu> Message-ID: This seems to be a problem related to Pharo and WideStrings? What image are you using? What VM? Can you send me the WideString instance (4th receiver from the top) that causes the error as a byte array? self asByteArray -> #[0 0 0 83 0 0 0 97 0 0 0 116 ... I tried to copy a quote from Word into Pier and I cannot reproduce the problem. Lukas On 24 April 2010 00:18, Reza Razavi wrote: > At 18:56 15/04/2010, Lukas Renggli wrote: >> >> This is likely a problem of the server adaptor you selected in your >> seaside setup. Do you use WAKomEncoded in Seaside 2.8 or the UTF-8 >> codex in Seaside 3? > > Hi Lukas, > > I repeated the above issue a few days before on an (experimental) Pier-based > distribution (PharoCore1.0rc1 - Latest update: #10505). Thanks to the VNC, I > then examined the stack directly on a Debian server. > > Now, I re-examined the issue and just realised that it happens when I copy > and paste text from Word. Like, in the example below, the simple quote in > *o'clock* that causes problem to the Search Tool, is copied from Word. > > My sequence of actions to reproduce the issue, and the full execution stack > are attached below. > > Hoping this helps, > Regards, > Reza > ----------- > > Here is what I did: > 1) Add a post to the blog with the exact following content: > Saturday 8th May 2010 from 10 to 5 > o'clock > > 2) Went to the home page, and entered *events* in the Search area. > > Here is what I observe in the debugger: > 1) The error is raised in PRFullTextSearch >> visitStructure:, specifically > in the 2nd occurrence of the following call: > ? ? ? ?#includesSubstring:caseSensitive: > > that calls then *WideString (String) >>>findSubstring:in:startingAt:matchTable:*, > which raises #errorSubscriptBounds: upon a call to *matchTable at: 8217 > asciiValue +1* > > 2) The argument to this method is the above PBPost > 3) The PRDocument attached to that Post contains the followings: > ? ? ? ?- aPRText on: 'Saturday 8th May 2010 from 10 to 5' > ? ? ? ?- aPRLineBreak > ? ? ? ?- aPRText on: 'o??????? > 4) #toString: returns then the following: > 'Saturday 8th May 2010 from 10 to 5 > o??????? > 5) The above call where the error is raised starts then exactly as follows: > 'Saturday 8th May 2010 from 10 to 5 > o??????? > ' includesSubstring: 'events' caseSensitive: false > > And, here is the execution stack: > --- > 20 April 2010 11:07:12 pm > > VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179] > Image: PharoCore1.0 - PontoonCore1.0a [Latest update: #10517] > > SecurityManager state: > Restricted: false > FileAccess: true > SocketAccess: true > > ByteArray(Object)>>error: > ? ? ? ?Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 > 22 23 24 25 26 27 28 29 30 31 32...etc... > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aString: ? ? ? ?'subscript is out of bounds: 8218' > ? ? ? ?Receiver's instance variables: > #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 > 28 29 30 31 32...etc... > > ByteArray(Object)>>errorSubscriptBounds: > ? ? ? ?Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 > 22 23 24 25 26 27 28 29 30 31 32...etc... > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?index: ?8218 > ? ? ? ?Receiver's instance variables: > #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 > 28 29 30 31 32...etc... > > ByteArray(Object)>>at: > ? ? ? ?Receiver: #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 > 22 23 24 25 26 27 28 29 30 31 32...etc... > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?index: ?8218 > ? ? ? ?Receiver's instance variables: > #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 > 28 29 30 31 32...etc... > > WideString(String)>>findSubstring:in:startingAt:matchTable: > ? ? ? ?Receiver: '' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?key: ? ?'e' > ? ? ? ? ? ? ? ?body: ? 'Saturday 8th May 2010 from 10 to 5 > o'clock > ' > ? ? ? ? ? ? ? ?start: ?1 > ? ? ? ? ? ? ? ?matchTable: ? ? #[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 > 18 19 20 21 22 23 24 ...etc... > ? ? ? ? ? ? ? ?index: ?1 > ? ? ? ? ? ? ? ?c1: ? ? $' > ? ? ? ? ? ? ? ?c2: ? ? $e > ? ? ? ? ? ? ? ?startIndex: ? ? nil > ? ? ? ? ? ? ? ?startIndexLimiT: ? ? ? ?nil > ? ? ? ? ? ? ? ?startIndex: ? ? 37 > ? ? ? ? ? ? ? ?startIndexLimiT: ? ? ? ?43 > ? ? ? ?Receiver's instance variables: > '' > > WideString(String)>>findString:startingAt:caseSensitive: > ? ? ? ?Receiver: 'Saturday 8th May 2010 from 10 to 5 > o'clock > ' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?key: ? ?'e' > ? ? ? ? ? ? ? ?start: ?1 > ? ? ? ? ? ? ? ?caseSensitive: ?false > ? ? ? ?Receiver's instance variables: > 'Saturday 8th May 2010 from 10 to 5 > o'clock > ' > > WideString(String)>>includesSubstring:caseSensitive: > ? ? ? ?Receiver: 'Saturday 8th May 2010 from 10 to 5 > o'clock > ' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aString: ? ? ? ?'e' > ? ? ? ? ? ? ? ?caseSensitive: ?false > ? ? ? ?Receiver's instance variables: > 'Saturday 8th May 2010 from 10 to 5 > o'clock > ' > > [] in [] in PRFullTextSearch>>visitStructure: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > < > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > [] in Set(Collection)>>anySatisfy: > ? ? ? ?Receiver: a Set('e') > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? 'e' > ? ? ? ? ? ? ? ?each: ? [closure] in [] in PRFullTextSearch>>visitStructure: > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?tally: ?1 > ? ? ? ? ? ? ? ?array: ?#(nil nil nil nil 'e') > > Set>>do: > ? ? ? ?Receiver: a Set('e') > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? [closure] in Set(Collection)>>anySatisfy: > ? ? ? ? ? ? ? ?index: ?5 > ? ? ? ? ? ? ? ?each: ? 'e' > ? ? ? ? ? ? ? ?indexLimiT: ? ? 5 > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?tally: ?1 > ? ? ? ? ? ? ? ?array: ?#(nil nil nil nil 'e') > > Set(Collection)>>anySatisfy: > ? ? ? ?Receiver: a Set('e') > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? [closure] in [] in > PRFullTextSearch>>visitStructure: > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?tally: ?1 > ? ? ? ? ? ? ? ?array: ?#(nil nil nil nil 'e') > > [] in PRFullTextSearch>>visitStructure: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > < > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > SortedCollection(OrderedCollection)>>do: > ? ? ? ?Receiver: a SortedCollection(a MAStringDescription label: 'Name' > comment: nil a MABooleanDescription...etc... > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? [closure] in > PRFullTextSearch>>visitStructure: > ? ? ? ? ? ? ? ?index: ?13 > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?array: ?an Array(a MAStringDescription label: 'Name' comment: > nil a MABooleanDes...etc... > ? ? ? ? ? ? ? ?firstIndex: ? ? 1 > ? ? ? ? ? ? ? ?lastIndex: ? ? ?17 > ? ? ? ? ? ? ? ?sortBlock: ? ? ?nil > > MAPriorityContainer(MAContainer)>>do: > ? ? ? ?Receiver: a MAPriorityContainer label: 'Blog Post' comment: nil > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? [closure] in > PRFullTextSearch>>visitStructure: > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#label->'Blog Post' ) > ? ? ? ? ? ? ? ?accessor: ? ? ? nil > ? ? ? ? ? ? ? ?children: ? ? ? a SortedCollection(a MAStringDescription > label: 'Name' comment: nil a...etc... > > PRFullTextSearch>>visitStructure: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > < > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > PRFullTextSearch(PRVisitor)>>visitCase: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?anObject: ? ? ? a PBPost[4068] name: 'School-Fair' > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > PRFullTextSearch(PRVisitor)>>visitEntry: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?anObject: ? ? ? a PBPost[4068] name: 'School-Fair' > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > PRFullTextSearch(PRVisitor)>>visitPost: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?anObject: ? ? ? a PBPost[4068] name: 'School-Fair' > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > PBPost>>accept: > ? ? ? ?Receiver: a PBPost[4068] name: 'School-Fair' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aVisitor: ? ? ? a PRFullTextSearch > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#documents->a Dictionary() > #hideFromMenus->false ) > ? ? ? ? ? ? ? ?decorations: ? ?an Array(a PUSecurity[3493]) > ? ? ? ? ? ? ? ?parent: ? ? ? ? a PBBlog[235] name: 'blog' > ? ? ? ? ? ? ? ?name: ? 'School-Fair' > ? ? ? ? ? ? ? ?title: ?'School-Fair' > ? ? ? ? ? ? ? ?tags: ? #('School' 'Fair') > ? ? ? ? ? ? ? ?document: ? ? ? a PRDocument[3732] > ? ? ? ? ? ? ? ?uuid: ? nil > ? ? ? ? ? ? ? ?author: ? ? ? ? 'Siemon' > ? ? ? ? ? ? ? ?publication: ? ?16 April 2010 5:43:02 pm > ? ? ? ? ? ? ? ?sourceUrl: ? ? ?nil > ? ? ? ? ? ? ? ?sourceTitle: ? ?nil > ? ? ? ? ? ? ? ?enclosure: ? ? ?nil > > PBPost(Object)>>acceptDecorated: > ? ? ? ?Receiver: a PBPost[4068] name: 'School-Fair' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aVisitor: ? ? ? a PRFullTextSearch > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#documents->a Dictionary() > #hideFromMenus->false ) > ? ? ? ? ? ? ? ?decorations: ? ?an Array(a PUSecurity[3493]) > ? ? ? ? ? ? ? ?parent: ? ? ? ? a PBBlog[235] name: 'blog' > ? ? ? ? ? ? ? ?name: ? 'School-Fair' > ? ? ? ? ? ? ? ?title: ?'School-Fair' > ? ? ? ? ? ? ? ?tags: ? #('School' 'Fair') > ? ? ? ? ? ? ? ?document: ? ? ? a PRDocument[3732] > ? ? ? ? ? ? ? ?uuid: ? nil > ? ? ? ? ? ? ? ?author: ? ? ? ? 'Siemon' > ? ? ? ? ? ? ? ?publication: ? ?16 April 2010 5:43:02 pm > ? ? ? ? ? ? ? ?sourceUrl: ? ? ?nil > ? ? ? ? ? ? ? ?sourceTitle: ? ?nil > ? ? ? ? ? ? ? ?enclosure: ? ? ?nil > > [] in PBPost(PRDecorated)>>acceptDecorated: > ? ? ? ?Receiver: a PBPost[4068] name: 'School-Fair' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aVisitor: ? ? ? a PBPost[4068] name: 'School-Fair' > ? ? ? ? ? ? ? ?each: ? a PRFullTextSearch > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#documents->a Dictionary() > #hideFromMenus->false ) > ? ? ? ? ? ? ? ?decorations: ? ?an Array(a PUSecurity[3493]) > ? ? ? ? ? ? ? ?parent: ? ? ? ? a PBBlog[235] name: 'blog' > ? ? ? ? ? ? ? ?name: ? 'School-Fair' > ? ? ? ? ? ? ? ?title: ?'School-Fair' > ? ? ? ? ? ? ? ?tags: ? #('School' 'Fair') > ? ? ? ? ? ? ? ?document: ? ? ? a PRDocument[3732] > ? ? ? ? ? ? ? ?uuid: ? nil > ? ? ? ? ? ? ? ?author: ? ? ? ? 'Siemon' > ? ? ? ? ? ? ? ?publication: ? ?16 April 2010 5:43:02 pm > ? ? ? ? ? ? ? ?sourceUrl: ? ? ?nil > ? ? ? ? ? ? ? ?sourceTitle: ? ?nil > ? ? ? ? ? ? ? ?enclosure: ? ? ?nil > > PBPost(PRDecorated)>>decorationsDo:ownerDo: > ? ? ? ?Receiver: a PBPost[4068] name: 'School-Fair' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? [closure] in > PBPost(PRDecorated)>>acceptDecorated: > ? ? ? ? ? ? ? ?anOwnerBlock: ? [closure] in > PBPost(PRDecorated)>>acceptDecorated: > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#documents->a Dictionary() > #hideFromMenus->false ) > ? ? ? ? ? ? ? ?decorations: ? ?an Array(a PUSecurity[3493]) > ? ? ? ? ? ? ? ?parent: ? ? ? ? a PBBlog[235] name: 'blog' > ? ? ? ? ? ? ? ?name: ? 'School-Fair' > ? ? ? ? ? ? ? ?title: ?'School-Fair' > ? ? ? ? ? ? ? ?tags: ? #('School' 'Fair') > ? ? ? ? ? ? ? ?document: ? ? ? a PRDocument[3732] > ? ? ? ? ? ? ? ?uuid: ? nil > ? ? ? ? ? ? ? ?author: ? ? ? ? 'Siemon' > ? ? ? ? ? ? ? ?publication: ? ?16 April 2010 5:43:02 pm > ? ? ? ? ? ? ? ?sourceUrl: ? ? ?nil > ? ? ? ? ? ? ? ?sourceTitle: ? ?nil > ? ? ? ? ? ? ? ?enclosure: ? ? ?nil > > PBPost(PRDecorated)>>acceptDecorated: > ? ? ? ?Receiver: a PBPost[4068] name: 'School-Fair' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aVisitor: ? ? ? a PRFullTextSearch > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#documents->a Dictionary() > #hideFromMenus->false ) > ? ? ? ? ? ? ? ?decorations: ? ?an Array(a PUSecurity[3493]) > ? ? ? ? ? ? ? ?parent: ? ? ? ? a PBBlog[235] name: 'blog' > ? ? ? ? ? ? ? ?name: ? 'School-Fair' > ? ? ? ? ? ? ? ?title: ?'School-Fair' > ? ? ? ? ? ? ? ?tags: ? #('School' 'Fair') > ? ? ? ? ? ? ? ?document: ? ? ? a PRDocument[3732] > ? ? ? ? ? ? ? ?uuid: ? nil > ? ? ? ? ? ? ? ?author: ? ? ? ? 'Siemon' > ? ? ? ? ? ? ? ?publication: ? ?16 April 2010 5:43:02 pm > ? ? ? ? ? ? ? ?sourceUrl: ? ? ?nil > ? ? ? ? ? ? ? ?sourceTitle: ? ?nil > ? ? ? ? ? ? ? ?enclosure: ? ? ?nil > > PRFullTextSearch(PRVisitor)>>visit: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?anObject: ? ? ? a PBPost[4068] name: 'School-Fair' > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > [] in PRFullTextSearch(PRVisitor)>>visitAll: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?each: ? a PBPost[4068] name: 'School-Fair' > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > Array(SequenceableCollection)>>do: > ? ? ? ?Receiver: an Array(a PBPost[1367] name: 'third-meeting-info-wg' a > PBPost[1597] name: 'Visit-to-the-c...etc... > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? [closure] in > PRFullTextSearch(PRVisitor)>>visitAll: > ? ? ? ? ? ? ? ?index: ?4 > ? ? ? ? ? ? ? ?indexLimiT: ? ? 4 > ? ? ? ?Receiver's instance variables: > an Array(a PBPost[1367] name: 'third-meeting-info-wg' a PBPost[1597] name: > 'Visit-to-the-c...etc... > > PRFullTextSearch(PRVisitor)>>visitAll: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aCollection: ? ?an Array(a PBPost[1367] name: > 'third-meeting-info-wg' a PBPost[159...etc... > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > PRFullTextSearch>>visitChildren: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?anObject: ? ? ? a PRChildren[1445] > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > PRChildren>>accept: > ? ? ? ?Receiver: a PRChildren[1445] > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aVisitor: ? ? ? a PRFullTextSearch > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? nil > ? ? ? ? ? ? ? ?decorated: ? ? ?a PBBlog[235] name: 'blog' > ? ? ? ? ? ? ? ?children: ? ? ? an Array(a PBPost[1367] name: > 'third-meeting-info-wg' a PBPost[1597] ...etc... > > PRChildren(Object)>>acceptDecorated: > ? ? ? ?Receiver: a PRChildren[1445] > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aVisitor: ? ? ? a PRFullTextSearch > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? nil > ? ? ? ? ? ? ? ?decorated: ? ? ?a PBBlog[235] name: 'blog' > ? ? ? ? ? ? ? ?children: ? ? ? an Array(a PBPost[1367] name: > 'third-meeting-info-wg' a PBPost[1597] ...etc... > > PRFullTextSearch(PRVisitor)>>visit: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?anObject: ? ? ? a PRChildren[1445] > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > [] in PBBlog(PRDecorated)>>acceptDecorated: > ? ? ? ?Receiver: a PBBlog[235] name: 'blog' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aVisitor: ? ? ? a PRChildren[1445] > ? ? ? ? ? ? ? ?each: ? a PRFullTextSearch > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#documents->a Dictionary() > #hideFromMenus->false #loca...etc... > ? ? ? ? ? ? ? ?decorations: ? ?an Array(a PUSecurity[888] a > PRChildren[1445]) > ? ? ? ? ? ? ? ?parent: ? ? ? ? a PRPage[3287] name: 'home' > ? ? ? ? ? ? ? ?name: ? 'blog' > ? ? ? ? ? ? ? ?title: ?'APEEE Blog' > ? ? ? ? ? ? ? ?tags: ? #() > ? ? ? ? ? ? ? ?document: ? ? ? a PRDocument[2055] > ? ? ? ? ? ? ? ?managingEditor: ? ? ? ? nil > ? ? ? ? ? ? ? ?webMaster: ? ? ?nil > ? ? ? ? ? ? ? ?copyright: ? ? ?nil > ? ? ? ? ? ? ? ?language: ? ? ? nil > ? ? ? ? ? ? ? ?itemCount: ? ? ?nil > ? ? ? ? ? ? ? ?feedTitle: ? ? ?nil > ? ? ? ? ? ? ? ?commentTimeout: ? ? ? ? 14:00:00:00 > ? ? ? ? ? ? ? ?feedForward: ? ?nil > > [] in PBBlog(PRDecorated)>>decorationsDo:ownerDo: > ? ? ? ?Receiver: a PBBlog[235] name: 'blog' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? a PRChildren[1445] > ? ? ? ? ? ? ? ?each: ? [closure] in PBBlog(PRDecorated)>>acceptDecorated: > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#documents->a Dictionary() > #hideFromMenus->false #loca...etc... > ? ? ? ? ? ? ? ?decorations: ? ?an Array(a PUSecurity[888] a > PRChildren[1445]) > ? ? ? ? ? ? ? ?parent: ? ? ? ? a PRPage[3287] name: 'home' > ? ? ? ? ? ? ? ?name: ? 'blog' > ? ? ? ? ? ? ? ?title: ?'APEEE Blog' > ? ? ? ? ? ? ? ?tags: ? #() > ? ? ? ? ? ? ? ?document: ? ? ? a PRDocument[2055] > ? ? ? ? ? ? ? ?managingEditor: ? ? ? ? nil > ? ? ? ? ? ? ? ?webMaster: ? ? ?nil > ? ? ? ? ? ? ? ?copyright: ? ? ?nil > ? ? ? ? ? ? ? ?language: ? ? ? nil > ? ? ? ? ? ? ? ?itemCount: ? ? ?nil > ? ? ? ? ? ? ? ?feedTitle: ? ? ?nil > ? ? ? ? ? ? ? ?commentTimeout: ? ? ? ? 14:00:00:00 > ? ? ? ? ? ? ? ?feedForward: ? ?nil > > Array(SequenceableCollection)>>do: > ? ? ? ?Receiver: an Array(a PUSecurity[888] a PRChildren[1445]) > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? [closure] in > PBBlog(PRDecorated)>>decorationsDo:ownerDo: > ? ? ? ? ? ? ? ?index: ?2 > ? ? ? ? ? ? ? ?indexLimiT: ? ? 2 > ? ? ? ?Receiver's instance variables: > an Array(a PUSecurity[888] a PRChildren[1445]) > > PBBlog(PRDecorated)>>decorationsDo:ownerDo: > ? ? ? ?Receiver: a PBBlog[235] name: 'blog' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? [closure] in > PBBlog(PRDecorated)>>acceptDecorated: > ? ? ? ? ? ? ? ?anOwnerBlock: ? [closure] in > PBBlog(PRDecorated)>>acceptDecorated: > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#documents->a Dictionary() > #hideFromMenus->false #loca...etc... > ? ? ? ? ? ? ? ?decorations: ? ?an Array(a PUSecurity[888] a > PRChildren[1445]) > ? ? ? ? ? ? ? ?parent: ? ? ? ? a PRPage[3287] name: 'home' > ? ? ? ? ? ? ? ?name: ? 'blog' > ? ? ? ? ? ? ? ?title: ?'APEEE Blog' > ? ? ? ? ? ? ? ?tags: ? #() > ? ? ? ? ? ? ? ?document: ? ? ? a PRDocument[2055] > ? ? ? ? ? ? ? ?managingEditor: ? ? ? ? nil > ? ? ? ? ? ? ? ?webMaster: ? ? ?nil > ? ? ? ? ? ? ? ?copyright: ? ? ?nil > ? ? ? ? ? ? ? ?language: ? ? ? nil > ? ? ? ? ? ? ? ?itemCount: ? ? ?nil > ? ? ? ? ? ? ? ?feedTitle: ? ? ?nil > ? ? ? ? ? ? ? ?commentTimeout: ? ? ? ? 14:00:00:00 > ? ? ? ? ? ? ? ?feedForward: ? ?nil > > PBBlog(PRDecorated)>>acceptDecorated: > ? ? ? ?Receiver: a PBBlog[235] name: 'blog' > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aVisitor: ? ? ? a PRFullTextSearch > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?properties: ? ? a Dictionary(#documents->a Dictionary() > #hideFromMenus->false #loca...etc... > ? ? ? ? ? ? ? ?decorations: ? ?an Array(a PUSecurity[888] a > PRChildren[1445]) > ? ? ? ? ? ? ? ?parent: ? ? ? ? a PRPage[3287] name: 'home' > ? ? ? ? ? ? ? ?name: ? 'blog' > ? ? ? ? ? ? ? ?title: ?'APEEE Blog' > ? ? ? ? ? ? ? ?tags: ? #() > ? ? ? ? ? ? ? ?document: ? ? ? a PRDocument[2055] > ? ? ? ? ? ? ? ?managingEditor: ? ? ? ? nil > ? ? ? ? ? ? ? ?webMaster: ? ? ?nil > ? ? ? ? ? ? ? ?copyright: ? ? ?nil > ? ? ? ? ? ? ? ?language: ? ? ? nil > ? ? ? ? ? ? ? ?itemCount: ? ? ?nil > ? ? ? ? ? ? ? ?feedTitle: ? ? ?nil > ? ? ? ? ? ? ? ?commentTimeout: ? ? ? ? 14:00:00:00 > ? ? ? ? ? ? ? ?feedForward: ? ?nil > > PRFullTextSearch(PRVisitor)>>visit: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?anObject: ? ? ? a PBBlog[235] name: 'blog' > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > [] in PRFullTextSearch(PRVisitor)>>visitAll: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?each: ? a PBBlog[235] name: 'blog' > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > Array(SequenceableCollection)>>do: > ? ? ? ?Receiver: an Array(a PRPage[2483] name: 'system' a PRPage[2161] name: > 'about' a PRPage[707] name: 'r...etc... > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aBlock: ? ? ? ? [closure] in > PRFullTextSearch(PRVisitor)>>visitAll: > ? ? ? ? ? ? ? ?index: ?4 > ? ? ? ? ? ? ? ?indexLimiT: ? ? 11 > ? ? ? ?Receiver's instance variables: > an Array(a PRPage[2483] name: 'system' a PRPage[2161] name: 'about' a > PRPage[707] name: 'r...etc... > > PRFullTextSearch(PRVisitor)>>visitAll: > ? ? ? ?Receiver: a PRFullTextSearch > ? ? ? ?Arguments and temporary variables: > ? ? ? ? ? ? ? ?aCollection: ? ?an Array(a PRPage[2483] name: 'system' a > PRPage[2161] name: 'about...etc... > ? ? ? ?Receiver's instance variables: > ? ? ? ? ? ? ? ?escaper: ? ? ? ?nil > ? ? ? ? ? ? ? ?block: ?[closure] in [] in > PRFullTextSearch(PREnumerableVisitor)>>collect: > ? ? ? ? ? ? ? ?structure: ? ? ?a PRPage[1922] name: 'home' > ? ? ? ? ? ? ? ?acceptToken: ? ?a Set('e') > ? ? ? ? ? ? ? ?rejectToken: ? ?a Set() > ? ? ? ? ? ? ? ?caseSensitive: ?false > > > --- The full stack --- > ByteArray(Object)>>error: > ByteArray(Object)>>errorSubscriptBounds: > ByteArray(Object)>>at: > WideString(String)>>findSubstring:in:startingAt:matchTable: > WideString(String)>>findString:startingAt:caseSensitive: > WideString(String)>>includesSubstring:caseSensitive: > [] in [] in PRFullTextSearch>>visitStructure: > [] in Set(Collection)>>anySatisfy: > Set>>do: > Set(Collection)>>anySatisfy: > [] in PRFullTextSearch>>visitStructure: > SortedCollection(OrderedCollection)>>do: > MAPriorityContainer(MAContainer)>>do: > PRFullTextSearch>>visitStructure: > PRFullTextSearch(PRVisitor)>>visitCase: > PRFullTextSearch(PRVisitor)>>visitEntry: > PRFullTextSearch(PRVisitor)>>visitPost: > PBPost>>accept: > PBPost(Object)>>acceptDecorated: > [] in PBPost(PRDecorated)>>acceptDecorated: > PBPost(PRDecorated)>>decorationsDo:ownerDo: > PBPost(PRDecorated)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PRFullTextSearch(PRVisitor)>>visitAll: > Array(SequenceableCollection)>>do: > PRFullTextSearch(PRVisitor)>>visitAll: > PRFullTextSearch>>visitChildren: > PRChildren>>accept: > PRChildren(Object)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PBBlog(PRDecorated)>>acceptDecorated: > [] in PBBlog(PRDecorated)>>decorationsDo:ownerDo: > Array(SequenceableCollection)>>do: > PBBlog(PRDecorated)>>decorationsDo:ownerDo: > PBBlog(PRDecorated)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PRFullTextSearch(PRVisitor)>>visitAll: > Array(SequenceableCollection)>>do: > PRFullTextSearch(PRVisitor)>>visitAll: > ?- - - - - - - - - - - - - - - > ? ? ? ? ? ? ? ? ? ? ? ?- - - - - - - - - - - - - - - - - - > PRFullTextSearch>>visitChildren: > PRChildren>>accept: > PRChildren(Object)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PRPage(PRDecorated)>>acceptDecorated: > [] in PRPage(PRDecorated)>>decorationsDo:ownerDo: > Array(SequenceableCollection)>>do: > PRPage(PRDecorated)>>decorationsDo:ownerDo: > PRPage(PRDecorated)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PRFullTextSearch(PRVisitor)>>visitAll: > Array(SequenceableCollection)>>do: > PRFullTextSearch(PRVisitor)>>visitAll: > PRFullTextSearch>>visitChildren: > PRChildren>>accept: > PRChildren(Object)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > [] in PRPage(PRDecorated)>>acceptDecorated: > [] in PRPage(PRDecorated)>>decorationsDo:ownerDo: > Array(SequenceableCollection)>>do: > PRPage(PRDecorated)>>decorationsDo:ownerDo: > PRPage(PRDecorated)>>acceptDecorated: > PRFullTextSearch(PRVisitor)>>visit: > PRFullTextSearch(PRVisitor)>>start: > PRFullTextSearch>>start: > PRFullTextSearch(PREnumerableVisitor)>>do: > [] in PRFullTextSearch(PREnumerableVisitor)>>collect: > Array class(SequenceableCollection class)>>streamContents: > PRFullTextSearch(PREnumerableVisitor)>>collect: > PRFullTextSearch(PREnumerableVisitor)>>contents > PRAjaxSearchWidget>>findItems > PRAjaxSearchWidget>>unfilteredItems > PRAjaxSearchWidget(PRStructuresWidget)>>items > [] in PRAjaxSearchWidget>>renderItemsOn:for: > BlockClosure>>renderOn: > WARenderCanvas(WARenderer)>>render: > WARenderCanvas(WACanvas)>>render: > [] in WAUnorderedListTag(WATagBrush)>>with: > BlockClosure>>renderOn: > WARenderCanvas(WARenderer)>>render: > WARenderCanvas(WACanvas)>>render: > WARenderCanvas(WACanvas)>>nest: > WAUnorderedListTag(WABrush)>>with: > WAUnorderedListTag(WATagBrush)>>with: > WARenderCanvas(WAHtmlCanvas)>>unorderedList: > PRAjaxSearchWidget>>renderItemsOn:for: > GRUnboundDelayedSend>>valueWithArguments: > [] in SUAutocompleter(PTUpdater)>>processOn:with: > BlockClosure>>renderOn: > WARenderCanvas(WARenderer)>>render: > WARenderCanvas(WACanvas)>>render: > [] in SUAutocompleter(JSObject)>>render:on: > [] in WARenderContext>>document:during: > BlockClosure>>ensure: > WARenderContext>>document:during: > SUAutocompleter(JSObject)>>render:on: > SUAutocompleter(PTUpdater)>>processOn:with: > [] in SUAutocompleter(PTAjax)>>processWith: > WARequestContext>>respond: > SUAutocompleter(PTAjax)>>processWith: > [] in SUAutocompleter>>registerCallbackIn: > BlockClosure>>valueWithPossibleArguments: > JSAjaxCallback>>evaluateWithArgument: > JSAjaxCallback(WACallback)>>evaluateWithFieldValues: > [] in WACallbackRegistry>>handle: > OrderedCollection>>do: > WACallbackRegistry>>handle: > [] in [] in WAActionPhaseContinuation>>runCallbacks > BlockClosure>>on:do: > WAActionPhaseContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo: > [] in WAActionPhaseContinuation>>runCallbacks > BlockClosure>>ensure: > WAActionPhaseContinuation>>runCallbacks > WAActionPhaseContinuation>>handleRequest > [] in WAActionPhaseContinuation(WASessionContinuation)>>basicValue > BlockClosure>>on:do: > WAActionPhaseContinuation(WASessionContinuation)>>withUnregisteredHandlerDo: > WAActionPhaseContinuation(WASessionContinuation)>>basicValue > WAActionPhaseContinuation(WASessionContinuation)>>value > WASession>>handleFiltered: > PRContextFilter(WARequestFilter)>>handleFiltered: > [] in PRContextFilter>>handleFiltered: > BlockClosure>>on:do: > PRCurrentContext class>>use:during: > PRContextFilter>>handleFiltered: > WAMutualExclusionFilter(WARequestFilter)>>handleFiltered: > [] in WAMutualExclusionFilter>>handleFiltered: > BlockClosure>>ensure: > [] in WAMutex>>critical: > [] in Semaphore>>critical: > BlockClosure>>ensure: > Semaphore>>critical: > WAMutex>>critical: > WAMutualExclusionFilter>>handleFiltered: > [] in WASession(WARequestHandler)>>handle: > BlockClosure>>on:do: > WACurrentRequestContext class(WADynamicVariable class)>>use:during: > [] in WARequestContext>>push:while: > BlockClosure>>ensure: > WARequestContext>>push:while: > WASession(WARequestHandler)>>handle: > WAApplication(WARegistry)>>dispatch:to: > WAApplication(WARegistry)>>handleKeyed:with: > WAApplication(WARegistry)>>handleFiltered: > WAApplication>>handleFiltered: > WAExceptionFilter(WARequestFilter)>>handleFiltered: > [] in WAExceptionFilter>>handleFiltered: > BlockClosure>>on:do: > WAWalkbackErrorHandler(WAExceptionHandler)>>handleExceptionsDuring: > WAWalkbackErrorHandler class(WAExceptionHandler > class)>>handleExceptionsDuring:context: > WAExceptionFilter>>handleFiltered: > [] in WAApplication(WARequestHandler)>>handle: > BlockClosure>>on:do: > WACurrentRequestContext class(WADynamicVariable class)>>use:during: > [] in WARequestContext>>push:while: > BlockClosure>>ensure: > WARequestContext>>push:while: > WAApplication(WARequestHandler)>>handle: > WADispatcher>>handleFiltered:named: > WADispatcher>>handleFiltered: > [] in WADispatcher(WARequestHandler)>>handle: > BlockClosure>>on:do: > WACurrentRequestContext class(WADynamicVariable class)>>use:during: > [] in WARequestContext>>push:while: > BlockClosure>>ensure: > WARequestContext>>push:while: > WADispatcher(WARequestHandler)>>handle: > WADispatcher>>handleFiltered:named: > WADispatcher>>handleFiltered: > [] in WADispatcher(WARequestHandler)>>handle: > BlockClosure>>on:do: > WACurrentRequestContext class(WADynamicVariable class)>>use:during: > [] in WARequestContext>>push:while: > BlockClosure>>ensure: > WARequestContext>>push:while: > WADispatcher(WARequestHandler)>>handle: > [] in WAComancheAdaptor(WAServerAdaptor)>>handleRequest: > BlockClosure>>on:do: > WAComancheAdaptor(WAServerAdaptor)>>handleRequest: > WAComancheAdaptor(WAServerAdaptor)>>handle: > [] in WAComancheAdaptor(WAServerAdaptor)>>process: > BlockClosure>>ensure: > WAComancheAdaptor(WAServerAdaptor)>>process: > WAComancheAdaptor>>processHttpRequest: > HttpService>>processHttpRequest: > [] in HttpAdaptor>>dispatchRequest: > BlockClosure>>on:do: > HttpService>>handleDispatchErrorsIn: > HttpAdaptor>>dispatchRequest: > [] in [] in HttpAdaptor>>beginConversation > BlockClosure>>on:do: > BlockClosure>>valueWithBindingsContext: > BlockClosure>>valueWithBindings: > BindingsAccessor>>clamp: > [] in HttpAdaptor>>beginConversation > BlockClosure>>ensure: > HttpAdaptor>>beginConversation > HttpAdaptor class>>readAndWriteTo:service: > HttpAdaptor class>>readAndWriteToSocket:service: > HttpService>>serve: > [] in HttpService(TcpService)>>value: > BlockClosure>>on:do: > -- and more not shown -- > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli www.lukas-renggli.ch From razavi at acm.org Sat Apr 24 10:43:23 2010 From: razavi at acm.org (Reza Razavi) Date: Sat, 24 Apr 2010 10:43:23 +0200 Subject: Issue with PRFullTextSearch - WideString In-Reply-To: References: <89dhun$1ej9kp@smtp.pt.lu> <89dhun$1hfgrl@smtp.pt.lu> Message-ID: <89dhun$1hhpot@smtp.pt.lu> At 09:45 24/04/2010, you wrote: >This seems to be a problem related to Pharo and WideStrings? What >image are you using? PharoCore1.0 Latest update: #10517 With the latest Seaside and Pier packages. >What VM? The one for Linux included in Pier-1.2: http://www.piercms.com/download Cheers, Reza From renggli at gmail.com Tue Apr 27 16:55:01 2010 From: renggli at gmail.com (Lukas Renggli) Date: Tue, 27 Apr 2010 16:55:01 +0200 Subject: [Seaside] pier: google webmaster tools/sitemap In-Reply-To: References: Message-ID: Please consider subscribing to the Pier mailing-list: http://www.piercms.com/contact > how do i now verify my site? i can't see the meta tag (although i am > sure i have to add it somewhere) and i don't see the generated page.. should tell you if it works. > also, does this create a google sitemap on my site? I don't think so. There is a Sitemap plugin that does that, but I haven't tried recently. Lukas -- Lukas Renggli www.lukas-renggli.ch From sergiolist at village-buzz.com Tue Apr 27 18:34:48 2010 From: sergiolist at village-buzz.com (sergio_101) Date: Tue, 27 Apr 2010 12:34:48 -0400 Subject: pier: google webmaster tools/sitemap Message-ID: i just installed the google webmaster tools component, entered my id, and i am not sure if there is anything else i need to do to get the proper meta tag to be rendered. does anyone know what i need to do next? also, does this generate a google sitemap? there is a sitemap plugin, but that generates an html sitemap that won't work with google webmaster tools.. thanks! -- ---- peace, sergio photographer, journalist, visionary http://www.coffee-black.com http://www.painlessfrugality.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101 From renggli at gmail.com Tue Apr 27 19:01:54 2010 From: renggli at gmail.com (Lukas Renggli) Date: Tue, 27 Apr 2010 19:01:54 +0200 Subject: pier: google webmaster tools/sitemap In-Reply-To: References: Message-ID: > i just installed the google webmaster tools component, entered my id, > and i am not sure if there is anything else i need to do to get the > proper meta tag to be rendered. > > does anyone know what i need to do next? The webmaster tool component is invisible, it only renders the meta-tag. You can check on the webmaster site if the google crawler could properly verify it. > also, does this generate a google sitemap? No. > there is a sitemap plugin, > but that generates an html sitemap that won't work with google > webmaster tools.. It also generates the XML files, I have never used it on my own sites though, normally the Google bots find the pages well enough by themselves. So I don't know how exactly it works. Lukas -- Lukas Renggli www.lukas-renggli.ch From p3anoman at gmail.com Tue Apr 27 19:48:43 2010 From: p3anoman at gmail.com (John McKeon) Date: Tue, 27 Apr 2010 13:48:43 -0400 Subject: pier: google webmaster tools/sitemap In-Reply-To: References: Message-ID: sergio, Make sure you add a +reference+ to the component somewhere in your page/environment. Like all components, nothing renders until it is added to a page. Even if its rendering is "hidden". John On Tue, Apr 27, 2010 at 12:34 PM, sergio_101 wrote: > i just installed the google webmaster tools component, entered my id, > and i am not sure if there is anything else i need to do to get the > proper meta tag to be rendered. > > does anyone know what i need to do next? > > also, does this generate a google sitemap? there is a sitemap plugin, > but that generates an html sitemap that won't work with google > webmaster tools.. > > thanks! > > -- > > ---- > peace, > sergio > photographer, journalist, visionary > > http://www.coffee-black.com > http://www.painlessfrugality.com > http://www.twitter.com/sergio_101 > http://www.facebook.com/sergio101 > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- http://john-mckeon.us/seaside -------------- next part -------------- An HTML attachment was scrubbed... URL: From sergiolist at village-buzz.com Tue Apr 27 20:01:32 2010 From: sergiolist at village-buzz.com (sergio_101) Date: Tue, 27 Apr 2010 14:01:32 -0400 Subject: pier: google webmaster tools/sitemap In-Reply-To: References: Message-ID: > Make sure you add a +reference+? to the component somewhere in your > page/environment. Like all components, nothing renders until it is added to > a page. Even if its rendering is "hidden". > that's kinda what i was thinking.. except i didn't know how to make that tag show up in the tag.. i will look further up the tree.. thanks! -- ---- peace, sergio photographer, journalist, visionary http://www.coffee-black.com http://www.painlessfrugality.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101 From maarten.mostert at wanadoo.fr Tue Apr 27 21:24:15 2010 From: maarten.mostert at wanadoo.fr (Maarten MOSTERT) Date: Tue, 27 Apr 2010 21:24:15 +0200 Subject: pier: google webmaster tools/sitemap In-Reply-To: References: Message-ID: <114286E405B0448494CFACB50A066510@MacBookWindows> Well if someone how this works tht would be cool. I made a simple sitemap file for my site, and the Google tools agree on the syntax but it does not seem to do anything. I wanted it to look like a google search for slicehost where ou get a main link and sublinks nicely organised. Anyone who has done that ? @+Maarten, -------------------------------------------------------------------------------- - - http://stakepoint.com/ 2010-04-13 monthly 0.8 - http://stakepoint.com/multiuser 2010-04-13 0.3 - http://stakepoint.com/advantages - http://stakepoint.com/download 2010-04-13 monthly 0.3 - http://stakepoint.com/help 0.3 - http://stakepoint.com/news 2010-04-13 monthly 0.3 -------------- next part -------------- An HTML attachment was scrubbed... URL: From sergiolist at village-buzz.com Wed Apr 28 07:34:40 2010 From: sergiolist at village-buzz.com (sergio_101) Date: Wed, 28 Apr 2010 01:34:40 -0400 Subject: pier: google webmaster tools/sitemap In-Reply-To: <114286E405B0448494CFACB50A066510@MacBookWindows> References: <114286E405B0448494CFACB50A066510@MacBookWindows> Message-ID: since it looks like no one has hit this yet, i will take a look at doing something like this in the next few weeks.. thanks! On Tue, Apr 27, 2010 at 3:24 PM, Maarten MOSTERT wrote: > Well if someone how this works tht would be cool. > I made a simple sitemap file for my site, and the Google tools agree on the > syntax but it does not seem to do anything. > I wanted it to look like a google search for slicehost where ou get a main > link and sublinks nicely organised. > Anyone who has done that ? > @+Maarten, > ________________________________ > > ? > - > - > ? http://stakepoint.com/ > ? 2010-04-13 > ? monthly > ? 0.8 > ? > - > ? http://stakepoint.com/multiuser > ? 2010-04-13 > ? 0.3 > ? > - > ? http://stakepoint.com/advantages > ? > - > ? http://stakepoint.com/download > ? 2010-04-13 > ? monthly > ? 0.3 > ? > - > ? http://stakepoint.com/help > ? 0.3 > ? > - > ? http://stakepoint.com/news > ? 2010-04-13 > ? monthly > ? 0.3 > ? > ? > > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- ---- peace, sergio photographer, journalist, visionary http://www.coffee-black.com http://www.painlessfrugality.com http://www.twitter.com/sergio_101 http://www.facebook.com/sergio101 From renggli at gmail.com Wed Apr 28 08:08:29 2010 From: renggli at gmail.com (Lukas Renggli) Date: Wed, 28 Apr 2010 08:08:29 +0200 Subject: [Seaside] seaside: interpreting pier syntax. In-Reply-To: References: Message-ID: > my problem now is getting at that PRDocument to parse out as pier/html. > > i was tried the PRDocument text function, but this did not produce pier/html.. #text answers a plain text representation. To get HTML output you can try with a PRViewRenderer instance, however it is very much targeted at Pier. So very likely it won't work well for links, etc. renderContentOn: html viewRenderer := PRViewRenderer new. viewRenderer withinContentDo: [ viewRenderer start: document in: self on: html ] If you have your own Seaside application outside Pier, you probably want to create your own PRVisitor subclass that displays the document tree exactly the way you want. If you are within a Pier application already you can use a simpler version: renderConentOn: html html rendererInstance continue: document in: self on: html Lukas -- Lukas Renggli www.lukas-renggli.ch