From joel at ardishealth.com Tue Sep 1 15:09:47 2009 From: joel at ardishealth.com (Joel Turnbull) Date: Tue, 1 Sep 2009 09:09:47 -0400 Subject: addCondition:labelled: Message-ID: <26ee8b3e0909010609q242c9935u77828cd834430f25@mail.gmail.com> addCondition:labelled does not seem to be working the way I expected. I just want to validate that a given text field is not empty I have a description definition method and setter: descriptionTags ^MAStringDescription new selectorAccessor: #tagsConverter; label: 'Tags'; priority: 40; addCondition: [:value | value notEmpty ] labelled: 'Please provide at least one tag'; yourself tagsConverter: aString tags := aString asUppercase subStrings asSet On submit, I get an error that nil does not understand asUppercase. Shouldn't the condition fail before the setter is called? I've tried [ :value | value notNil ], and beRequired as well, got the same error. I also tried to change the initialize method of the object I'm describing to set tags to an empty collection but that didn't work either. Thanks, Joel -------------- next part -------------- An HTML attachment was scrubbed... URL: From johnmci at smalltalkconsulting.com Tue Sep 1 17:08:19 2009 From: johnmci at smalltalkconsulting.com (John M McIntosh) Date: Tue, 1 Sep 2009 17:08:19 +0200 Subject: a question about pier syntax Message-ID: Let me forward this to the pier list since it's a syntax related question. From kunicki at gmail.com > First a quick note of thanks. I am really enjoying using Mobile Wiki > Server. I also like that I can edit from my desktop. I have read > your site and been digging around piercms.com as well. I was hoping > you could help with two questions: > > 1) I have tried using Breadcrumb but I cant get it to display in a > page or even in the overall structure (Using the design button). How > do I use this command? > > Basically I would love to have a breadcrumb showing me where I am in > the hiearchy of the site. Example: > > Home > Grammar > Nouns > Examples > > this would allow me to quickly move back up the hiearchy. > > > 2) I like the tree and navigation components. Is it impossible to > embed this into a page? I would like to have a page with some basic > content and then have a tree structure listed below. However, it > seems i have to add a component page, set it to tree, and thats all > i can do with it. > > Thanks for your patience with me. Again I thank you for bringing > this to the iPhone. > > Chris -- = = = ======================================================================== John M. McIntosh Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ======================================================================== From renggli at gmail.com Wed Sep 2 00:02:30 2009 From: renggli at gmail.com (Lukas Renggli) Date: Wed, 2 Sep 2009 00:02:30 +0200 Subject: addCondition:labelled: In-Reply-To: <26ee8b3e0909010609q242c9935u77828cd834430f25@mail.gmail.com> References: <26ee8b3e0909010609q242c9935u77828cd834430f25@mail.gmail.com> Message-ID: <67628d690909011502i373695fcn630253adacdd11d5@mail.gmail.com> > I just want to validate that a given text field is not empty Normally sending #beRequired to the description should be enough. At least with my Seaside forms this works well and there is no need to add an additional check for #isEmpty. > On submit, I get an error that nil does not understand asUppercase. > Shouldn't the condition fail before the setter is called? #beRequired ensures that a nil or empty value is not committed. Additional conditions will not be evaluated (there are various examples of this in Pier, for example). Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From morph at growler.net Wed Sep 2 14:29:06 2009 From: morph at growler.net (Grimble Crumble) Date: Wed, 2 Sep 2009 14:29:06 +0200 Subject: Ultra-newbie question Message-ID: <0C57C628-6990-4862-AB4C-18612D813965@growler.net> I have used Squeak, and I have used Seaside, but it has been a while. I have brought up the Pier environment on a headless server, and it looks as if I probably have the ability to configure it, add to it, etc. But there does not appear to be any documentation for Pier that is aimed at those who have forgotten what they may ever have learned about Seaside. I'm going back over the Seaside tutorial, but I wonder if someone can tell me how to log in to the default Pier server, the one that comes up when you make minimal changes out of the box (not even running under Apache). I had a "Log in" link on the page at one point, made the attempt with no errors reported, and was unable to edit anything. I think I'm missing a major concept somehow. Can anyone suggest what major item I've probably forgotten about Seaside? Thanks. GC From renggli at gmail.com Wed Sep 2 14:52:02 2009 From: renggli at gmail.com (Lukas Renggli) Date: Wed, 2 Sep 2009 14:52:02 +0200 Subject: Ultra-newbie question In-Reply-To: <0C57C628-6990-4862-AB4C-18612D813965@growler.net> References: <0C57C628-6990-4862-AB4C-18612D813965@growler.net> Message-ID: <67628d690909020552l33f0f60cgcc47cb85201fe15c@mail.gmail.com> > minimal changes out of the box (not even running under Apache). ?I had a > "Log in" link on the page at one point, made the attempt with no errors > reported, and was unable to edit anything. ?I think I'm missing a major > concept somehow. The default username/password of Pier is admin/pier. The default username/password of Seaside is admin/seaside. > Can anyone suggest what major item I've probably forgotten about Seaside? The basics on Pier are documented here: http://www.piercms.com/doc. Let us know if you have further questions. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From nicolas.roard at gmail.com Wed Sep 2 16:04:22 2009 From: nicolas.roard at gmail.com (Nicolas Roard) Date: Wed, 2 Sep 2009 15:04:22 +0100 Subject: Picasa client for Pier In-Reply-To: <4bd493810908240650o5daec887ka7e0e2f0f460f7e6@mail.gmail.com> References: <4bd493810908240349k7a5cb7b5l156f9ffba1e79fcf@mail.gmail.com> <67628d690908240421p697ff073t13e4439ce0b857f3@mail.gmail.com> <4bd493810908240650o5daec887ka7e0e2f0f460f7e6@mail.gmail.com> Message-ID: <25626500909020704g1633a9e9kecc66c9de1321833@mail.gmail.com> On Mon, Aug 24, 2009 at 2:50 PM, Ciprian Teodorov wrote: > > > On Mon, Aug 24, 2009 at 1:21 PM, Lukas Renggli wrote: >> >> > If somebody is interested, I implemented a small picasaweb plugin for >> > Pier >> > which permits to embed the albums and the photos from picasa >> > into a running pier web application. The plugin source is posted on >> > squeaksource site: http://squeaksource.com/@uxjO7eHSe8tI9dKs/9zFmuhpA. >> >> Cool! What is the name of the repository URL? The link you gave is >> unfortunately not restful. > > Sorry for the link -- here you have the good one ;) > http://www.squeaksource.com/PicasaClient/ I modified it a bit to use lightbox. See http://www.impro-v-istres.fr/seaside/pier/photos/picasa for an example of how it looks. The code is on http://www.squeaksource.com/PicasaClientLightbox/ -- Nicolas Roard "I love deadlines. I like the whooshing sound they make as they fly by." -- Douglas Adams From morph at growler.net Wed Sep 2 20:33:42 2009 From: morph at growler.net (Grimble Crumble) Date: Wed, 2 Sep 2009 20:33:42 +0200 Subject: Ultra-newbie question In-Reply-To: <67628d690909020552l33f0f60cgcc47cb85201fe15c@mail.gmail.com> References: <0C57C628-6990-4862-AB4C-18612D813965@growler.net> <67628d690909020552l33f0f60cgcc47cb85201fe15c@mail.gmail.com> Message-ID: <7953D51F-748B-4A59-BDB4-5BF32102BF2D@growler.net> On Sep 2, 2009, at 2:52 PM, Lukas Renggli wrote: >> minimal changes out of the box (not even running under Apache). I >> had a >> "Log in" link on the page at one point, made the attempt with no >> errors >> reported, and was unable to edit anything. I think I'm missing a >> major >> concept somehow. > > The default username/password of Pier is admin/pier. I have now achieved login, can't figure out what was happening before, and may never. Next, ... >> Can anyone suggest what major item I've probably forgotten about >> Seaside? > > The basics on Pier are documented here: http://www.piercms.com/doc. > > Let us know if you have further questions. Thanks very much. I'll try to make at least marginal sense. I want to make a random change on the page, for no other reason than to see that I can have some effect. So, the way to do that is... Turn on Halos, I think, and then... OK, in a halo there are icons for Class Browser, Object Inspector, and CSS Style Editor. And also a pair of letters, R-ender and S-ource. I can edit the behavior of classes, but if I want to change the color of one of the text objects, how do I do that? If I want to change the text itself, how do I do that? OK, hard things are easy and easy things are hard. The tools seem to address issues of much greater complexity than I'm able to think about yet. And I don't see the corresponding tools for doing anything dead simple. And I have a feeling I'm staring blindly right at it. Seaside manual maybe? Any section in particular? What I'm trying to do should be the easy stuff, I would have thought. I thank you in advance for your help. > > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From p3anoman at gmail.com Wed Sep 2 21:40:23 2009 From: p3anoman at gmail.com (John McKeon) Date: Wed, 2 Sep 2009 15:40:23 -0400 Subject: Ultra-newbie question In-Reply-To: <7953D51F-748B-4A59-BDB4-5BF32102BF2D@growler.net> References: <0C57C628-6990-4862-AB4C-18612D813965@growler.net> <67628d690909020552l33f0f60cgcc47cb85201fe15c@mail.gmail.com> <7953D51F-748B-4A59-BDB4-5BF32102BF2D@growler.net> Message-ID: <40f637ec0909021240k482b5007m2cf619c0b36cfef1@mail.gmail.com> On Wed, Sep 2, 2009 at 2:33 PM, Grimble Crumble wrote: > On Sep 2, 2009, at 2:52 PM, Lukas Renggli wrote: > > minimal changes out of the box (not even running under Apache). I had a >>> "Log in" link on the page at one point, made the attempt with no errors >>> reported, and was unable to edit anything. I think I'm missing a major >>> concept somehow. >>> >> >> The default username/password of Pier is admin/pier. >> > > I have now achieved login, can't figure out what was happening before, > and may never. Next, ... > > Can anyone suggest what major item I've probably forgotten about Seaside? >>> >> >> The basics on Pier are documented here: http://www.piercms.com/doc. >> >> Let us know if you have further questions. >> > > Thanks very much. I'll try to make at least marginal sense. > > I want to make a random change on the page, for no other reason than > to see that I can have some effect. So, the way to do that is... Turn > on Halos, I think, and then... OK, in a halo there are icons for Class > Browser, Object Inspector, and CSS Style Editor. And also a pair of > letters, R-ender and S-ource. I can edit the behavior of classes, but > if I want to change the color of one of the text objects, how do I do > that? If I want to change the text itself, how do I do that? > After you are logged in, commands show up on the bottom of the page. (Where the Login link was, NOT the halos toolbar) Click "Edit" to edit the page. Click "Remove" to remove it. Click "Add" to add a sub-page or a file or one of the many components available. Click "Edit design" to change the CSS or the layout of the page structure. Play with it, don't be afraid. the thing to understand is that you are not really writing any seaside code at this point. You are managing content. > OK, hard things are easy and easy things are hard. The tools seem to > address issues of much greater complexity than I'm able to think about > yet. And I don't see the corresponding tools for doing anything > dead simple. And I have a feeling I'm staring blindly right at it. > See above. > > Seaside manual maybe? Any section in particular? What I'm trying to > do should be the easy stuff, I would have thought. > > I thank you in advance for your help. Hope this helped John > > > >> Lukas >> >> -- >> Lukas Renggli >> http://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 > -- http://jmck.seasidehosting.st -------------- next part -------------- An HTML attachment was scrubbed... URL: From morph at growler.net Wed Sep 2 22:01:06 2009 From: morph at growler.net (Grimble Crumble) Date: Wed, 2 Sep 2009 22:01:06 +0200 Subject: Ultra-newbie question In-Reply-To: <40f637ec0909021240k482b5007m2cf619c0b36cfef1@mail.gmail.com> References: <0C57C628-6990-4862-AB4C-18612D813965@growler.net> <67628d690909020552l33f0f60cgcc47cb85201fe15c@mail.gmail.com> <7953D51F-748B-4A59-BDB4-5BF32102BF2D@growler.net> <40f637ec0909021240k482b5007m2cf619c0b36cfef1@mail.gmail.com> Message-ID: <6C25B917-C960-480F-9104-D93EC9EE4CC1@growler.net> On Sep 2, 2009, at 9:40 PM, John McKeon wrote: > > > On Wed, Sep 2, 2009 at 2:33 PM, Grimble Crumble > wrote: > On Sep 2, 2009, at 2:52 PM, Lukas Renggli wrote: > > [...] > The basics on Pier are documented here: http://www.piercms.com/doc. > > Let us know if you have further questions. > > Thanks very much. I'll try to make at least marginal sense. > > I want to make a random change on the page, for no other reason than > to see that I can have some effect. So, the way to do that is... Turn > on Halos, I think, and then... OK, in a halo there are icons for Class > Browser, Object Inspector, and CSS Style Editor. And also a pair of > letters, R-ender and S-ource. I can edit the behavior of classes, but > if I want to change the color of one of the text objects, how do I do > that? If I want to change the text itself, how do I do that? > > After you are logged in, commands show up on the bottom of the > page. (Where the Login link was, NOT the halos toolbar) > > Click "Edit" to edit the page. > Click "Remove" to remove it. > Click "Add" to add a sub-page or a file or one of the many > components available. > Click "Edit design" to change the CSS or the layout of the page > structure. > Play with it, don't be afraid. the thing to understand is that you > are not really writing any seaside code at this point. You are > managing content. > Sure, OK, that's exactly what I want to do. I had to stumble a bit more, apparently. I appreciate your patience. Two questions. 1. If I click the Class Browser button, then I *am* modifying code, right? I mean, I can make changes to class behavior of, ... the Pier classes? 2. When I clicked Edit, I could totally go to town on the "Welcome to Pier!" block of text. I still haven't worked out how to affect the "What's new" block. > > [...] > > Hope this helped > John > Yes indeed. Thanks. > [...] > -- > http://jmck.seasidehosting.st > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -------------- next part -------------- An HTML attachment was scrubbed... URL: From ciprian.teodorov at gmail.com Thu Sep 3 20:10:14 2009 From: ciprian.teodorov at gmail.com (Ciprian Teodorov) Date: Thu, 3 Sep 2009 20:10:14 +0200 Subject: Picasa client for Pier In-Reply-To: <25626500909020704g1633a9e9kecc66c9de1321833@mail.gmail.com> References: <4bd493810908240349k7a5cb7b5l156f9ffba1e79fcf@mail.gmail.com> <67628d690908240421p697ff073t13e4439ce0b857f3@mail.gmail.com> <4bd493810908240650o5daec887ka7e0e2f0f460f7e6@mail.gmail.com> <25626500909020704g1633a9e9kecc66c9de1321833@mail.gmail.com> Message-ID: <4bd493810909031110w36e3d6b0i1e8436b0f3c31fba@mail.gmail.com> hi Nicolas, that's really cool but why didn't you publish it as a new version of the same project? Cheers, Cip On Wed, Sep 2, 2009 at 4:04 PM, Nicolas Roard wrote: > On Mon, Aug 24, 2009 at 2:50 PM, Ciprian > Teodorov wrote: > > > > > > On Mon, Aug 24, 2009 at 1:21 PM, Lukas Renggli > wrote: > >> > >> > If somebody is interested, I implemented a small picasaweb plugin for > >> > Pier > >> > which permits to embed the albums and the photos from picasa > >> > into a running pier web application. The plugin source is posted on > >> > squeaksource site: http://squeaksource.com/@uxjO7eHSe8tI9dKs/9zFmuhpA > . > >> > >> Cool! What is the name of the repository URL? The link you gave is > >> unfortunately not restful. > > > > Sorry for the link -- here you have the good one ;) > > http://www.squeaksource.com/PicasaClient/ > > I modified it a bit to use lightbox. > See http://www.impro-v-istres.fr/seaside/pier/photos/picasa for an > example of how it looks. > The code is on http://www.squeaksource.com/PicasaClientLightbox/ > > -- > Nicolas Roard > "I love deadlines. I like the whooshing sound > they make as they fly by." -- Douglas Adams > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Ciprian TEODOROV Ph.D Student Lab-STICC/AS CNRS UMR 3192 University of Brest phone: (+33)(0) 6 08 54 73 48 http://www.teodorov.ro http://as.univ-brest.fr/ciprian -------------- next part -------------- An HTML attachment was scrubbed... URL: From nicolas.roard at gmail.com Thu Sep 3 21:20:11 2009 From: nicolas.roard at gmail.com (Nicolas Roard) Date: Thu, 3 Sep 2009 20:20:11 +0100 Subject: Picasa client for Pier In-Reply-To: <4bd493810909031110w36e3d6b0i1e8436b0f3c31fba@mail.gmail.com> References: <4bd493810908240349k7a5cb7b5l156f9ffba1e79fcf@mail.gmail.com> <67628d690908240421p697ff073t13e4439ce0b857f3@mail.gmail.com> <4bd493810908240650o5daec887ka7e0e2f0f460f7e6@mail.gmail.com> <25626500909020704g1633a9e9kecc66c9de1321833@mail.gmail.com> <4bd493810909031110w36e3d6b0i1e8436b0f3c31fba@mail.gmail.com> Message-ID: <25626500909031220u1c9e389bpf721d46fc819f02e@mail.gmail.com> On Thu, Sep 3, 2009 at 7:10 PM, Ciprian Teodorov wrote: > hi Nicolas, > that's really cool but why didn't you publish it as a new version of the > same project? I tried, but the project is not writable apparently... and as I didn't know if you wanted this or not, I thought it was fine to put it elsewhere for the moment :) -- Nicolas Roard "I love deadlines. I like the whooshing sound they make as they fly by." -- Douglas Adams From asqueaker at gmail.com Wed Sep 9 21:39:22 2009 From: asqueaker at gmail.com (Chris Muller) Date: Wed, 9 Sep 2009 14:39:22 -0500 Subject: Starting with an appropriate PRKernel Message-ID: Hi, I would like to explore Pier from my own development image (instead of the one-click image). I used Seaside's Configuration UI to add a PRPierConfiguration and created an instance of PRKernel with: PRKernel named: 'Learning Pier' But this PRKernel, even the environment page, _looks_ quite different than the one in the one-click image. I wish to proceed with a smart, correct choice of PRKernel instance. Are the differences between these Kernels only cosmetic or does each provide more-suitability for a particular purpose than the others? Thanks, Chris From obi068 at gmail.com Wed Sep 9 21:51:00 2009 From: obi068 at gmail.com (Gerhard Obermann) Date: Wed, 9 Sep 2009 21:51:00 +0200 Subject: Starting with an appropriate PRKernel In-Reply-To: References: Message-ID: <7b7d752d0909091251i5d8d948cidb340ee6aa6bc932@mail.gmail.com> PRDistribution new kernel Gerhard On Wed, Sep 9, 2009 at 9:39 PM, Chris Muller wrote: > Hi, I would like to explore Pier from my own development image > (instead of the one-click image). I used Seaside's Configuration UI > to add a PRPierConfiguration and created an instance of PRKernel with: > > PRKernel named: 'Learning Pier' > > But this PRKernel, even the environment page, _looks_ quite different > than the one in the one-click image. I wish to proceed with a smart, > correct choice of PRKernel instance. Are the differences between > these Kernels only cosmetic or does each provide more-suitability for > a particular purpose than the others? > > Thanks, > Chris > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -------------- next part -------------- An HTML attachment was scrubbed... URL: From johnmci at smalltalkconsulting.com Wed Sep 9 22:02:23 2009 From: johnmci at smalltalkconsulting.com (John M McIntosh) Date: Wed, 9 Sep 2009 21:02:23 +0100 Subject: Starting with an appropriate PRKernel In-Reply-To: References: Message-ID: <0B6CE1C4-EF10-4F3F-A5CE-98F932D5EEFD@smalltalkconsulting.com> Chris I've cobbled together a PRKernel setup for WIkiServer. You can actually see a copy by grabbing the one-click or mac/windows/linux installer from http://mobilewikiserver.com/1.4.html Sadly I don't have a method to completely recreate it from scratch On 9-Sep-09, at 8:39 PM, Chris Muller wrote: > Hi, I would like to explore Pier from my own development image > (instead of the one-click image). I used Seaside's Configuration UI > to add a PRPierConfiguration and created an instance of PRKernel with: > > PRKernel named: 'Learning Pier' > > But this PRKernel, even the environment page, _looks_ quite different > than the one in the one-click image. I wish to proceed with a smart, > correct choice of PRKernel instance. Are the differences between > these Kernels only cosmetic or does each provide more-suitability for > a particular purpose than the others? > > Thanks, > Chris > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- = = = ======================================================================== John M. McIntosh Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ======================================================================== From asqueaker at gmail.com Wed Sep 9 22:50:48 2009 From: asqueaker at gmail.com (Chris Muller) Date: Wed, 9 Sep 2009 15:50:48 -0500 Subject: Support for standard Squeak (was: Starting with an appropriate PRKernel) Message-ID: > On Wed, Sep 9, 2009 at 2:51 PM, Gerhard Obermann wrote: > PRDistribution new kernel To get Pier into my standard Squeak 3.9 image, I originally loaded Pier from SqueakMap. However, I can see that this does not obtain quite a few of the packages available from the Pier squeaksource repository that are present in the one-click image. Is there a proper procedure for to loading-up a standard Squeak image with all of the Pier goodies? To get PRDistribution I loaded "Pier-Setup" from Lukas' repository. Doing this exposed PRLoader>>#load loading a bunch of other stuff. However, I couldn't bring that in because ScriptLoader loadLatestPackage: 'Gofer' from: ... is not part of my ScriptLoader. The ScriptLoader version in the one-click image is from the Pharo repository. Which begs two important questions for those of us proceeding forward with standard Squeak images (instead of Pharo images). 1) What is the best way to get a full, proper Pier installed in 3.9 or 3.10? and.. 2) What are the intentions of the Pier developers, going forward, for support of the standard Squeak images? Despite my concern about the Pharo image and its splintering effects on our community, as the maintainer of Magma, I can say I am "committed" to maintaining Magma's compatibility with Pharo, even though I intend to proceed forward with standard Squeak at this time. I realize you cannot make any guarantee's any more than I can, but may I at least know what the *intentions* are (as I just have)? Lukas, it looks like you are moving forward with Pharo. But is standard Squeak compatibility a factor for you at all in any of your decisions regarding Pier going forward? Thanks.. From miguel.coba at gmail.com Wed Sep 9 23:22:27 2009 From: miguel.coba at gmail.com (Miguel Enrique =?ISO-8859-1?Q?Cob=E1?= Martinez) Date: Wed, 09 Sep 2009 16:22:27 -0500 Subject: Support for standard Squeak (was: Starting with an appropriate PRKernel) In-Reply-To: References: Message-ID: <1252531348.4299.7.camel@laptop.localdomain> El mi?, 09-09-2009 a las 15:50 -0500, Chris Muller escribi?: > > On Wed, Sep 9, 2009 at 2:51 PM, Gerhard Obermann wrote: > > PRDistribution new kernel > > To get Pier into my standard Squeak 3.9 image, I originally loaded > Pier from SqueakMap. However, I can see that this does not obtain > quite a few of the packages available from the Pier squeaksource > repository that are present in the one-click image. > > Is there a proper procedure for to loading-up a standard Squeak image > with all of the Pier goodies? > > To get PRDistribution I loaded "Pier-Setup" from Lukas' repository. > Doing this exposed PRLoader>>#load loading a bunch of other stuff. > However, I couldn't bring that in because > > ScriptLoader loadLatestPackage: 'Gofer' from: ... > > is not part of my ScriptLoader. The ScriptLoader version in the > one-click image is from the Pharo repository. Which begs two > important questions for those of us proceeding forward with standard > Squeak images (instead of Pharo images). Hi Chris, this is unofficially of course as I am not the mantainer of the Pier (Lukas or Tudor has better answers) but as I see thing, the Seaside and Pier packages are going to be developed and distributed on Pharo images, because the developers are most of them very involved in Pharo. So maybe the best way is to get a Pharo image (either the PharoCore or the Pharo images prepared by Damien Cassou from http://pharo-project.org/pharo-download) and use them for your goals. Also, to load the packages needed, the best way is to look in the scripts created and used by Damien to build the dev and web pharo images, they are distributed with the zips of the dev/web images and adapt them. > > 1) What is the best way to get a full, proper Pier installed in 3.9 or 3.10? > > and.. 2) What are the intentions of the Pier developers, going > forward, for support of the standard Squeak images? > > Despite my concern about the Pharo image and its splintering effects > on our community, as the maintainer of Magma, I can say I am > "committed" to maintaining Magma's compatibility with Pharo, even > though I intend to proceed forward with standard Squeak at this time. > > I realize you cannot make any guarantee's any more than I can, but may > I at least know what the *intentions* are (as I just have)? Lukas, it > looks like you are moving forward with Pharo. But is standard Squeak > compatibility a factor for you at all in any of your decisions > regarding Pier going forward? With time, and as the Pharo reaches 1.0 even more, the squeak compatibility effort will fade and the packages that now load in squeak will be made to load in Pharo but not the other way. > > Thanks.. > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Miguel Cob? http://miguel.leugim.com.mx From renggli at gmail.com Thu Sep 10 00:11:29 2009 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 10 Sep 2009 00:11:29 +0200 Subject: Support for standard Squeak (was: Starting with an appropriate PRKernel) In-Reply-To: References: Message-ID: <67628d690909091511s3bb61e73vf6d5f095b533f17e@mail.gmail.com> > 1) What is the best way to get a full, proper Pier installed in 3.9 or 3.10? It is actually quite simple to load manually. You load Seaside (and the required dependencies), then Magritte-Core, Magritte-Seaside, Pier-Core, Pier-Seaside, and the plugins and Pier-All. > and.. 2) What are the intentions of the Pier developers, going > forward, for support of the standard Squeak images? Magritte and Pier probably work in both Pharo and Squeak, in fact the code runs almost identical on GemStone and VisualWorks. I haven't tried in Squeak in the past, but I guess it should work there too. I am certainly willing to include patches if they improve portability, but I will am not actively maintaining a port to Squeak. > I realize you cannot make any guarantee's any more than I can, but may > I at least know what the *intentions* are (as I just have)? Lukas, it > looks like you are moving forward with Pharo. But is standard Squeak > compatibility a factor for you at all in any of your decisions > regarding Pier going forward? The situation is basically the same as for Seaside. Somebody needs to step up and actively maintain a port, regularly run the tests and report back problems. For me Squeak is just a platform like VW, GemStone, GST, VAST, ... for now I chose Pharo as my development platform of choice. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ross at biostat.ucsf.edu Thu Sep 10 00:18:05 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Wed, 09 Sep 2009 15:18:05 -0700 Subject: Support for standard Squeak (was: Starting with an appropriate PRKernel) In-Reply-To: <67628d690909091511s3bb61e73vf6d5f095b533f17e@mail.gmail.com> References: <67628d690909091511s3bb61e73vf6d5f095b533f17e@mail.gmail.com> Message-ID: <1252534685.31590.87.camel@corn.betterworld.us> On Thu, 2009-09-10 at 00:11 +0200, Lukas Renggli wrote: > > 1) What is the best way to get a full, proper Pier installed in 3.9 > or 3.10? > > It is actually quite simple to load manually. You load Seaside (and > the required dependencies), then Magritte-Core, Magritte-Seaside, > Pier-Core, Pier-Seaside, and the plugins and Pier-All. Do they need a closure-enabled VM? Will they eventually? Ross Boylan From renggli at gmail.com Thu Sep 10 00:29:57 2009 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 10 Sep 2009 00:29:57 +0200 Subject: Support for standard Squeak (was: Starting with an appropriate PRKernel) In-Reply-To: <1252534685.31590.87.camel@corn.betterworld.us> References: <67628d690909091511s3bb61e73vf6d5f095b533f17e@mail.gmail.com> <1252534685.31590.87.camel@corn.betterworld.us> Message-ID: <67628d690909091529p4b2123f0s3298389bb973aa14@mail.gmail.com> >> It is actually quite simple to load manually. You load Seaside (and >> the required dependencies), then Magritte-Core, Magritte-Seaside, >> Pier-Core, Pier-Seaside, and the plugins and Pier-All. > > Do they need a closure-enabled VM? ?Will they eventually? No, it worked in images without closures for years. I don't see a reason why that should be a problem. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From asqueaker at gmail.com Thu Sep 10 01:08:50 2009 From: asqueaker at gmail.com (Chris Muller) Date: Wed, 9 Sep 2009 18:08:50 -0500 Subject: Starting with an appropriate PRKernel In-Reply-To: <0B6CE1C4-EF10-4F3F-A5CE-98F932D5EEFD@smalltalkconsulting.com> References: <0B6CE1C4-EF10-4F3F-A5CE-98F932D5EEFD@smalltalkconsulting.com> Message-ID: Wow, seriously cool John. Too bad it is restricted to wi-fi.. On Wed, Sep 9, 2009 at 3:02 PM, John M McIntosh wrote: > Chris I've cobbled together a PRKernel setup for WIkiServer. You can > actually see a copy > by grabbing the one-click or mac/windows/linux installer from > > http://mobilewikiserver.com/1.4.html > > Sadly I don't have a method to completely recreate it from scratch > From renggli at gmail.com Thu Sep 10 14:06:37 2009 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 10 Sep 2009 14:06:37 +0200 Subject: [ANN] [Book] Dynamic Web Development with Seaside Message-ID: <67628d690909100506w62d823f3gc01f1216447738fc@mail.gmail.com> After the first announcement at ESUG 2009, we are proud to present the release of the free online book Dynamic Web Development with Seaside http://book.seaside.st/ The book is written in the Pier content management system using the Pier book publishing engine. This allows us to collaboratively edit the contents and generate different output formats automatically. We will soon offer a PDF and a printed version, but first we have to iron out some of the remaining issues. Over the past years the book got reviewed and revised several times. We want to thank all the persons who helped us: Torsten Bergmann, Damien Cassou, Tom Krisch, Philippe Marshall, Ruben Schempp, Roger Whitney, Julian Fitzell, and Michael Davies carefully reviewed the book and provided valuable feedback. Martin J. Laubach for his Sudoku code. Ramon Leon for letting us using his blog ideas and SandStoneDB, Chris Muller for Magma. Jeff Dorst provided generous financial support for supporting student text reading. Markus Gaelli for brainstorming on the book title. Samuel Morello for designing the cover. Michael Davies is currently helping us getting things ready for print. And you can help us too by writing down your findings at the bottom of each page. Also, if you want to contribute a missing chapter or support the translation of the book please get in touch with us. We wish to thank the European Smalltalk User Group (ESUG) and inceptive.be for sponsoring this book. We are looking for additional sponsors. If you are interested, please contact us. If you are a publisher and interested in publishing this material, please let us know. Please distribute this message widely. Cheers, Stef & Lukas & David & Rick About the authors: - St?phane Ducasse is the author of a couple of books on Smalltalk. - Lukas Renggli is core developer of Seaside and Smalltalk consultant. - David C. Shaffer is Seaside consultant and CS teacher. - Rick Zaccone is CS teacher. From girba at iam.unibe.ch Thu Sep 10 14:12:31 2009 From: girba at iam.unibe.ch (Tudor Girba) Date: Thu, 10 Sep 2009 14:12:31 +0200 Subject: [Pharo-project] [ANN] [Book] Dynamic Web Development with Seaside In-Reply-To: <67628d690909100506w62d823f3gc01f1216447738fc@mail.gmail.com> References: <67628d690909100506w62d823f3gc01f1216447738fc@mail.gmail.com> Message-ID: Congratulations! It really looks great. Cheers, Doru On 10 Sep 2009, at 14:06, Lukas Renggli wrote: > After the first announcement at ESUG 2009, we are proud to present the > release of the free online book > > Dynamic Web Development with Seaside > http://book.seaside.st/ > > The book is written in the Pier content management system using the > Pier book publishing engine. This allows us to collaboratively edit > the contents and generate different output formats automatically. We > will soon offer a PDF and a printed version, but first we have to iron > out some of the remaining issues. > > Over the past years the book got reviewed and revised several times. > We want to thank all the persons who helped us: Torsten Bergmann, > Damien Cassou, Tom Krisch, Philippe Marshall, Ruben Schempp, Roger > Whitney, Julian Fitzell, and Michael Davies carefully reviewed the > book and provided valuable feedback. Martin J. Laubach for his Sudoku > code. Ramon Leon for letting us using his blog ideas and SandStoneDB, > Chris Muller for Magma. Jeff Dorst provided generous financial support > for supporting student text reading. Markus Gaelli for brainstorming > on the book title. Samuel Morello for designing the cover. > > Michael Davies is currently helping us getting things ready for print. > And you can help us too by writing down your findings at the bottom of > each page. Also, if you want to contribute a missing chapter or > support the translation of the book please get in touch with us. > > We wish to thank the European Smalltalk User Group (ESUG) and > inceptive.be for sponsoring this book. We are looking for additional > sponsors. If you are interested, please contact us. If you are a > publisher and interested in publishing this material, please let us > know. > > Please distribute this message widely. > > Cheers, > Stef & Lukas & David & Rick > > > About the authors: > - St?phane Ducasse is the author of a couple of books on Smalltalk. > - Lukas Renggli is core developer of Seaside and Smalltalk consultant. > - David C. Shaffer is Seaside consultant and CS teacher. > - Rick Zaccone is CS teacher. > > _______________________________________________ > Pharo-project mailing list > Pharo-project at lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -- www.tudorgirba.com "Beauty is where we see it." From philippe.marschall at gmail.com Sat Sep 12 21:57:19 2009 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Sat, 12 Sep 2009 21:57:19 +0200 Subject: mementos and kind validation on containers Message-ID: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> Hi Recently #kind was made mutable on MADescription. I think this is great and set it on the containers of my model classes to my model classes. This allows me to do the following: aDescription kind new which is really cool. The problem is that now I always get kind validation errors. The cause is the following code in MADescription: validateKind: anObject "Validate ==anObject== to be of the right kind." (anObject isKindOf: self kind) ifFalse: [ MAKindError description: self signal: self kindErrorMessage ] anObject would be an MACheckedMemento. self kind would previously always answer Object so this test would always pass. Now however self kind answers my model class and always fails. Any ideas? Cheers Philippe From renggli at gmail.com Sat Sep 12 22:54:39 2009 From: renggli at gmail.com (Lukas Renggli) Date: Sat, 12 Sep 2009 22:54:39 +0200 Subject: mementos and kind validation on containers In-Reply-To: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> References: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> Message-ID: <67628d690909121354w7b47f701k85371a36a3b5cf8c@mail.gmail.com> > Any ideas? I think you should not use #kind to instantiate new objects, but add your own property to hold the class you want to instantiate. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From philippe.marschall at gmail.com Sun Sep 13 10:29:01 2009 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Sun, 13 Sep 2009 10:29:01 +0200 Subject: mementos and kind validation on containers In-Reply-To: <67628d690909121354w7b47f701k85371a36a3b5cf8c@mail.gmail.com> References: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> <67628d690909121354w7b47f701k85371a36a3b5cf8c@mail.gmail.com> Message-ID: <66666f210909130129t757c90d2i93777f091879e8bf@mail.gmail.com> 2009/9/12 Lukas Renggli : >> Any ideas? > > I think you should not use #kind to instantiate new objects, but add > your own property to hold the class you want to instantiate. That doesn't solve the problem that kind validation is borken for containers. Cheers Philippe From renggli at gmail.com Sun Sep 13 10:35:28 2009 From: renggli at gmail.com (Lukas Renggli) Date: Sun, 13 Sep 2009 10:35:28 +0200 Subject: mementos and kind validation on containers In-Reply-To: <66666f210909130129t757c90d2i93777f091879e8bf@mail.gmail.com> References: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> <67628d690909121354w7b47f701k85371a36a3b5cf8c@mail.gmail.com> <66666f210909130129t757c90d2i93777f091879e8bf@mail.gmail.com> Message-ID: <67628d690909130135u40692ad2s133db0feccfdf0c2@mail.gmail.com> >> I think you should not use #kind to instantiate new objects, but add >> your own property to hold the class you want to instantiate. > > That doesn't solve the problem that kind validation is borken for containers. #kind is used for validation and that should remain like this. The default for containers is Object, so it is a no-op that passes the validation for all objects. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From philippe.marschall at gmail.com Sun Sep 13 10:58:11 2009 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Sun, 13 Sep 2009 10:58:11 +0200 Subject: mementos and kind validation on containers In-Reply-To: <67628d690909130135u40692ad2s133db0feccfdf0c2@mail.gmail.com> References: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> <67628d690909121354w7b47f701k85371a36a3b5cf8c@mail.gmail.com> <66666f210909130129t757c90d2i93777f091879e8bf@mail.gmail.com> <67628d690909130135u40692ad2s133db0feccfdf0c2@mail.gmail.com> Message-ID: <66666f210909130158r69ace11ei7ef4f2681a0b0d05@mail.gmail.com> 2009/9/13 Lukas Renggli : >>> I think you should not use #kind to instantiate new objects, but add >>> your own property to hold the class you want to instantiate. >> >> That doesn't solve the problem that kind validation is borken for containers. > > #kind is used for validation and that should remain like this. The > default for containers is Object, so it is a no-op that passes the > validation for all objects. Not if you set kind on a container. And the check is not a no-op at all. It checks the class of the memento against the kind which makes no sense at all. Cheers Philippe From renggli at gmail.com Sun Sep 13 11:50:49 2009 From: renggli at gmail.com (Lukas Renggli) Date: Sun, 13 Sep 2009 11:50:49 +0200 Subject: mementos and kind validation on containers In-Reply-To: <66666f210909130158r69ace11ei7ef4f2681a0b0d05@mail.gmail.com> References: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> <67628d690909121354w7b47f701k85371a36a3b5cf8c@mail.gmail.com> <66666f210909130129t757c90d2i93777f091879e8bf@mail.gmail.com> <67628d690909130135u40692ad2s133db0feccfdf0c2@mail.gmail.com> <66666f210909130158r69ace11ei7ef4f2681a0b0d05@mail.gmail.com> Message-ID: <67628d690909130250l5fa83acq472177e2073f5e67@mail.gmail.com> 2009/9/13 Philippe Marschall : > 2009/9/13 Lukas Renggli : >>>> I think you should not use #kind to instantiate new objects, but add >>>> your own property to hold the class you want to instantiate. >>> >>> That doesn't solve the problem that kind validation is borken for containers. >> >> #kind is used for validation and that should remain like this. The >> default for containers is Object, so it is a no-op that passes the >> validation for all objects. > > Not if you set kind on a container. And the check is not a no-op at > all. It checks the class of the memento against the kind which makes > no sense at all. Of course, for what it is designed for it makes perfectly sense. As I already said several times, forget about #kind, create your own property that is not used for validation and do with it whatever you want. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From philippe.marschall at gmail.com Sun Sep 13 12:02:21 2009 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Sun, 13 Sep 2009 12:02:21 +0200 Subject: mementos and kind validation on containers In-Reply-To: <67628d690909130250l5fa83acq472177e2073f5e67@mail.gmail.com> References: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> <67628d690909121354w7b47f701k85371a36a3b5cf8c@mail.gmail.com> <66666f210909130129t757c90d2i93777f091879e8bf@mail.gmail.com> <67628d690909130135u40692ad2s133db0feccfdf0c2@mail.gmail.com> <66666f210909130158r69ace11ei7ef4f2681a0b0d05@mail.gmail.com> <67628d690909130250l5fa83acq472177e2073f5e67@mail.gmail.com> Message-ID: <66666f210909130302u37857e8fxd1968f2643f8dc56@mail.gmail.com> 2009/9/13 Lukas Renggli : > 2009/9/13 Philippe Marschall : >> 2009/9/13 Lukas Renggli : >>>>> I think you should not use #kind to instantiate new objects, but add >>>>> your own property to hold the class you want to instantiate. >>>> >>>> That doesn't solve the problem that kind validation is borken for containers. >>> >>> #kind is used for validation and that should remain like this. The >>> default for containers is Object, so it is a no-op that passes the >>> validation for all objects. >> >> Not if you set kind on a container. And the check is not a no-op at >> all. It checks the class of the memento against the kind which makes >> no sense at all. > > Of course, for what it is designed for it makes perfectly sense. > > As I already said several times, forget about #kind, create your own > property that is not used for validation and do with it whatever you > want. But why is #kind mutable on MADescription when setting it results in failing validation? This is very bad API design. At least it should be pushed down to MAElement description. Cheers Philippe From renggli at gmail.com Sun Sep 13 12:14:11 2009 From: renggli at gmail.com (Lukas Renggli) Date: Sun, 13 Sep 2009 12:14:11 +0200 Subject: mementos and kind validation on containers In-Reply-To: <66666f210909130302u37857e8fxd1968f2643f8dc56@mail.gmail.com> References: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> <67628d690909121354w7b47f701k85371a36a3b5cf8c@mail.gmail.com> <66666f210909130129t757c90d2i93777f091879e8bf@mail.gmail.com> <67628d690909130135u40692ad2s133db0feccfdf0c2@mail.gmail.com> <66666f210909130158r69ace11ei7ef4f2681a0b0d05@mail.gmail.com> <67628d690909130250l5fa83acq472177e2073f5e67@mail.gmail.com> <66666f210909130302u37857e8fxd1968f2643f8dc56@mail.gmail.com> Message-ID: <67628d690909130314k51a76bb4y8f04069dcb36cdb7@mail.gmail.com> 2009/9/13 Philippe Marschall : > 2009/9/13 Lukas Renggli : >> 2009/9/13 Philippe Marschall : >>> 2009/9/13 Lukas Renggli : >>>>>> I think you should not use #kind to instantiate new objects, but add >>>>>> your own property to hold the class you want to instantiate. >>>>> >>>>> That doesn't solve the problem that kind validation is borken for containers. >>>> >>>> #kind is used for validation and that should remain like this. The >>>> default for containers is Object, so it is a no-op that passes the >>>> validation for all objects. >>> >>> Not if you set kind on a container. And the check is not a no-op at >>> all. It checks the class of the memento against the kind which makes >>> no sense at all. >> >> Of course, for what it is designed for it makes perfectly sense. >> >> As I already said several times, forget about #kind, create your own >> property that is not used for validation and do with it whatever you >> want. > > But why is #kind mutable on MADescription when setting it results in > failing validation? This is very bad API design. At least it should be > pushed down to MAElement description. Indeed, you are right, but that has nothing to do with the initial problem. Maybe the MAMemento should rather implement #isKindOf: to dispatch to the delegate? Lukas -- Lukas Renggli http://www.lukas-renggli.ch From philippe.marschall at gmail.com Sun Sep 13 12:24:40 2009 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Sun, 13 Sep 2009 12:24:40 +0200 Subject: mementos and kind validation on containers In-Reply-To: <67628d690909130314k51a76bb4y8f04069dcb36cdb7@mail.gmail.com> References: <66666f210909121257t2fcefe1dk81414d248395dec7@mail.gmail.com> <67628d690909121354w7b47f701k85371a36a3b5cf8c@mail.gmail.com> <66666f210909130129t757c90d2i93777f091879e8bf@mail.gmail.com> <67628d690909130135u40692ad2s133db0feccfdf0c2@mail.gmail.com> <66666f210909130158r69ace11ei7ef4f2681a0b0d05@mail.gmail.com> <67628d690909130250l5fa83acq472177e2073f5e67@mail.gmail.com> <66666f210909130302u37857e8fxd1968f2643f8dc56@mail.gmail.com> <67628d690909130314k51a76bb4y8f04069dcb36cdb7@mail.gmail.com> Message-ID: <66666f210909130324p6cbf46b6n56311eb5f2842980@mail.gmail.com> 2009/9/13 Lukas Renggli : > 2009/9/13 Philippe Marschall : >> 2009/9/13 Lukas Renggli : >>> 2009/9/13 Philippe Marschall : >>>> 2009/9/13 Lukas Renggli : >>>>>>> I think you should not use #kind to instantiate new objects, but add >>>>>>> your own property to hold the class you want to instantiate. >>>>>> >>>>>> That doesn't solve the problem that kind validation is borken for containers. >>>>> >>>>> #kind is used for validation and that should remain like this. The >>>>> default for containers is Object, so it is a no-op that passes the >>>>> validation for all objects. >>>> >>>> Not if you set kind on a container. And the check is not a no-op at >>>> all. It checks the class of the memento against the kind which makes >>>> no sense at all. >>> >>> Of course, for what it is designed for it makes perfectly sense. >>> >>> As I already said several times, forget about #kind, create your own >>> property that is not used for validation and do with it whatever you >>> want. >> >> But why is #kind mutable on MADescription when setting it results in >> failing validation? This is very bad API design. At least it should be >> pushed down to MAElement description. > > Indeed, you are right, but that has nothing to do with the initial problem. > > Maybe the MAMemento should rather implement #isKindOf: to dispatch to > the delegate? I though about this first too. However now I'm affraid of the possible things it would break (debuggers, inspectors, ...). Considering that something as simple as implementing #asString in Object can crash VisualWorks this makes me very nervous. Maybe specifically handling mementos or #magritteIsKindOf: are better. Cheers Philippe From damien.cassou at gmail.com Tue Sep 15 20:53:08 2009 From: damien.cassou at gmail.com (Damien Cassou) Date: Tue, 15 Sep 2009 20:53:08 +0200 Subject: Fwd: [Pharo-project] Problem with pharo1.0-10440-BETAweb09.09.1 In-Reply-To: <87755A41-4676-4BC6-AB23-E29CEED3DA32@gmx.de> References: <87755A41-4676-4BC6-AB23-E29CEED3DA32@gmx.de> Message-ID: <6ac749c10909151153n58261580qb0b4b37010dbd197@mail.gmail.com> This seems to be a problem with Pier does not work with the example browser of Seaside. ---------- Forwarded message ---------- From: Andreas Wacknitz Date: 2009/9/15 Subject: [Pharo-project] Problem with pharo1.0-10440-BETAweb09.09.1 To: pharo-project at lists.gforge.inria.fr I have started to look at Seaside in Pharo. There seems to be a problem with the examples. When I enter?http://localhost:8080/seaside/examples/examplebrowser (by clicking on examples and then examplebrowser) I will get a Seaside Walkback: Seaside Walkback MessageNotUnderstood: receiver of "root" is nil Debug?Proceed?Full Stack Possible Causes the receiver of the message is nil a class extension hasn't been loaded correctly you sent the wrong message Stack Trace thisContextUndefinedObject(Object)>>doesNotUnderstand: #rootselfnilaMessagerootexceptionMessageNotUnderstood: receiver of "root" is nilresumeValuenil thisContextPRContext class>>kernel:selfPRContextaKernelnil thisContextPRPierFrame>>initialRequest:selfa PRPierFrameaRequesta WARequest GET /seaside/examples/examplebrowser thisContext[] in WARenderLoopMain>>start:selfa WARenderLoopMainaRequesta WARequest GET /seaside/examples/examplebrowserroota WAExampleBrowsereacha PRPierFrame thisContextPRPierFrame(WAPresenter)>>withNextPresentersDo:selfa PRPierFrameaBlock[closure] in WARenderLoopMain>>start: Regards, Andreas _______________________________________________ Pharo-project mailing list Pharo-project at lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry From joel at ardishealth.com Wed Sep 16 16:06:24 2009 From: joel at ardishealth.com (Joel Turnbull) Date: Wed, 16 Sep 2009 10:06:24 -0400 Subject: description method cached? Message-ID: <26ee8b3e0909160706w54b51763x897e8aab4b00c503@mail.gmail.com> Doing a seaside app using magritte, within pier, within the glass appliance I created a subclass of MATextInputComponent to do some specific validation, call it FooInputComponent, I changed the old description method to send componentClass: like this descriptionFoo ^MAStringDescription new componentClass: FooInputComponent; selectorAccessor: #foo; label: 'Foo'; priority: 40; yourself However, the change doesn't seem to apply, the container still gets a MATextInputComponent. I placed a halt in descriptionFoo and it never triggers. Is this a caching issue that I can reset? Thanks Joel -------------- next part -------------- An HTML attachment was scrubbed... URL: From joel at ardishealth.com Wed Sep 16 16:16:35 2009 From: joel at ardishealth.com (Joel Turnbull) Date: Wed, 16 Sep 2009 10:16:35 -0400 Subject: description method cached? In-Reply-To: <26ee8b3e0909160706w54b51763x897e8aab4b00c503@mail.gmail.com> References: <26ee8b3e0909160706w54b51763x897e8aab4b00c503@mail.gmail.com> Message-ID: <26ee8b3e0909160716u687c8a17x55fefcc66cca83d1@mail.gmail.com> Just found the answer on Dale's blog http://gemstonesoup.wordpress.com/category/magritte/ MADescriptionBuilder default flush does the trick On Wed, Sep 16, 2009 at 10:06 AM, Joel Turnbull wrote: > Doing a seaside app using magritte, within pier, within the glass appliance > > I created a subclass of MATextInputComponent to do some specific > validation, call it FooInputComponent, > > I changed the old description method to send componentClass: like this > > descriptionFoo > ^MAStringDescription new > componentClass: FooInputComponent; > selectorAccessor: #foo; > label: 'Foo'; > priority: 40; > yourself > > However, the change doesn't seem to apply, the container still gets a > MATextInputComponent. I placed a halt in descriptionFoo and it never > triggers. > > Is this a caching issue that I can reset? > > Thanks > Joel -------------- next part -------------- An HTML attachment was scrubbed... URL: From joel at ardishealth.com Wed Sep 16 16:34:53 2009 From: joel at ardishealth.com (Joel Turnbull) Date: Wed, 16 Sep 2009 10:34:53 -0400 Subject: Pier Users Change Own Passwords Message-ID: <26ee8b3e0909160734x792ad5exf7bda386a57bb1b8@mail.gmail.com> Is there a Pier Component that allows non-admin type users to change their own passwords? Thanks Joel -------------- next part -------------- An HTML attachment was scrubbed... URL: From girba at iam.unibe.ch Wed Sep 16 16:47:50 2009 From: girba at iam.unibe.ch (Tudor Girba) Date: Wed, 16 Sep 2009 16:47:50 +0200 Subject: Pier Users Change Own Passwords In-Reply-To: <26ee8b3e0909160734x792ad5exf7bda386a57bb1b8@mail.gmail.com> References: <26ee8b3e0909160734x792ad5exf7bda386a57bb1b8@mail.gmail.com> Message-ID: <122E23D1-D6CF-463E-B33E-579951952D23@iam.unibe.ch> Hi Joel, In the default configuration, once the user gets logged in, there is a link at the bottom with which you can change the password. Cheers, Doru On 16 Sep 2009, at 16:34, Joel Turnbull wrote: > > Is there a Pier Component that allows non-admin type users to change > their own passwords? > > Thanks > Joel > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- www.tudorgirba.com "No matter how many recipes we know, we still value a chef." From razavi at acm.org Wed Sep 16 17:12:21 2009 From: razavi at acm.org (Reza RAZAVI) Date: Wed, 16 Sep 2009 17:12:21 +0200 Subject: Pier Users Change Own Passwords In-Reply-To: <26ee8b3e0909160734x792ad5exf7bda386a57bb1b8@mail.gmail.com > References: <26ee8b3e0909160734x792ad5exf7bda386a57bb1b8@mail.gmail.com> Message-ID: <200909161512.n8GFCK5R005951@smtpout1.pt.lu> At 16:34 16/09/2009, Joel Turnbull wrote: >Is there a Pier Component that allows non-admin type users to change >their own passwords? Joel, The attached "st" file implements "Edit User": a simple Pier Command for editing the attributes of the current user, including its password. Its mainly a refactoring of code found in PUSecurityWidget. I, however, don't know why it has been preferred to implement "Edit User" as part of PUSecurityWidget, rather than as a Command. So, maybe some cauation would be necessary when using this command. Hoping this helps, Reza -------------- next part -------------- A non-text attachment was scrubbed... Name: AAsEditUserCommand.st Type: application/octet-stream Size: 1387 bytes Desc: not available URL: From renggli at gmail.com Wed Sep 16 18:02:03 2009 From: renggli at gmail.com (Lukas Renggli) Date: Wed, 16 Sep 2009 18:02:03 +0200 Subject: description method cached? In-Reply-To: <26ee8b3e0909160716u687c8a17x55fefcc66cca83d1@mail.gmail.com> References: <26ee8b3e0909160706w54b51763x897e8aab4b00c503@mail.gmail.com> <26ee8b3e0909160716u687c8a17x55fefcc66cca83d1@mail.gmail.com> Message-ID: <67628d690909160902y3cc9a0d2gb0910163d7a4fd86@mail.gmail.com> > Just found the answer on Dale's blog > http://gemstonesoup.wordpress.com/category/magritte/ > > MADescriptionBuilder default flush > > does the trick Yeah, GemStone does not automatically flush the cache when the code changes. You might want to implement a description builder that does not cache at all. Caching makes meta-description heavy apps considerably faster, but it also introduces all kinds of new problems (e.g. when you change descriptions on the fly). Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From joel at ardishealth.com Wed Sep 16 18:15:12 2009 From: joel at ardishealth.com (Joel Turnbull) Date: Wed, 16 Sep 2009 12:15:12 -0400 Subject: Pier Users Change Own Passwords In-Reply-To: <200909161512.n8GFCK5R005951@smtpout1.pt.lu> References: <26ee8b3e0909160734x792ad5exf7bda386a57bb1b8@mail.gmail.com> <200909161512.n8GFCK5R005951@smtpout1.pt.lu> Message-ID: <26ee8b3e0909160915u1be2ca7u938b2536dc1505d@mail.gmail.com> I don't see that, Doru, but my Gemstone Pier is not up to date Thanks Reza I will try installing that command. Joel On Wed, Sep 16, 2009 at 11:12 AM, Reza RAZAVI wrote: > At 16:34 16/09/2009, Joel Turnbull wrote: > >> Is there a Pier Component that allows non-admin type users to change their >> own passwords? >> > > Joel, > > The attached "st" file implements "Edit User": a simple Pier Command for > editing the attributes of the current user, including its password. > > Its mainly a refactoring of code found in PUSecurityWidget. I, however, > don't know why it has been preferred to implement "Edit User" as part of > PUSecurityWidget, rather than as a Command. So, maybe some cauation would be > necessary when using this command. > > Hoping this helps, > Reza > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ross at biostat.ucsf.edu Fri Sep 18 21:56:50 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Fri, 18 Sep 2009 12:56:50 -0700 Subject: Can't resolve names Message-ID: <1253303810.22848.96.camel@corn.betterworld.us> I downloaded and unzipped Pier-1.2.app.zip onto an amd64 Linux system. ./pier.sh initially failed, but when I installed ia32 compatibility libs it launched. However, it is unable to resolve names, or at least squeaksource.com; I've stepped through; the primitive resolving names seems to return nothing. I am able to resolve the name on the host system. I'm suspicious this is a 64 bit compatibity issue. Any ideas? Thanks. Ross Boylan From dale.henrichs at gemstone.com Fri Sep 18 22:09:26 2009 From: dale.henrichs at gemstone.com (Dale Henrichs) Date: Fri, 18 Sep 2009 13:09:26 -0700 (PDT) Subject: Can't resolve names In-Reply-To: <1253303810.22848.96.camel@corn.betterworld.us> Message-ID: <2065614709.3599941253304566271.JavaMail.root@gir> Ross, I have seen the same problem with Pharo under 64 bit Ubuntu (64 bit OpenSUSE seems fine)...I work around the problem by overriding NetNameResolver class>>useOldNetwork to unconditionally return true at least it works for me:) Dale ----- "Ross Boylan" wrote: | I downloaded and unzipped Pier-1.2.app.zip onto an amd64 Linux | system. | ./pier.sh initially failed, but when I installed ia32 compatibility | libs | it launched. | | However, it is unable to resolve names, or at least squeaksource.com; | I've stepped through; the primitive resolving names seems to return | nothing. I am able to resolve the name on the host system. | | I'm suspicious this is a 64 bit compatibity issue. | | Any ideas? | | Thanks. | Ross Boylan | | _______________________________________________ | Magritte, Pier and Related Tools ... | https://www.iam.unibe.ch/mailman/listinfo/smallwiki From marianopeck at gmail.com Fri Sep 18 22:11:55 2009 From: marianopeck at gmail.com (Mariano Martinez Peck) Date: Fri, 18 Sep 2009 19:11:55 -0100 Subject: Can't resolve names In-Reply-To: <1253303810.22848.96.camel@corn.betterworld.us> References: <1253303810.22848.96.camel@corn.betterworld.us> Message-ID: On Fri, Sep 18, 2009 at 6:56 PM, Ross Boylan wrote: > I downloaded and unzipped Pier-1.2.app.zip onto an amd64 Linux system. > ./pier.sh initially failed, but when I installed ia32 compatibility libs > it launched. > Yes. This is explained in the readme file of the VM. I don't know if it is in Pier one click, but in latest pharo VM it is. > > However, it is unable to resolve names, or at least squeaksource.com; > I've stepped through; the primitive resolving names seems to return > nothing. I am able to resolve the name on the host system. > > Yes, this is a Pharo known bug. Look in the bugtracker. > I'm suspicious this is a 64 bit compatibity issue. > > Any ideas? > > Thanks. > Ross Boylan > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ross at biostat.ucsf.edu Sat Sep 19 00:57:37 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Fri, 18 Sep 2009 15:57:37 -0700 Subject: Universes? Message-ID: <1253314657.22848.133.camel@corn.betterworld.us> I just loaded "Pier version current" into a squeak 3.10 image (with magma). I noticed later that http://www.piercms.com/dev/code says to use SqueakMap. Is the version I got OK, or should I back out and try again? Thanks. Ross From ross at biostat.ucsf.edu Sat Sep 19 01:10:19 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Fri, 18 Sep 2009 16:10:19 -0700 Subject: Universes? In-Reply-To: <1253314657.22848.133.camel@corn.betterworld.us> References: <1253314657.22848.133.camel@corn.betterworld.us> Message-ID: <1253315419.22848.139.camel@corn.betterworld.us> Sorry; to clarify, I loaded Pier using the "Universe" browser. This got Pier-Seaside 1.2.424 and Seaside 2.8.4.12. I also wonder if I should get any of the Seaside28Jetsam, which sound as if they might be patches to bring Seaside current. On Fri, 2009-09-18 at 15:57 -0700, Ross Boylan wrote: > I just loaded "Pier version current" into a squeak 3.10 image (with > magma). I noticed later that http://www.piercms.com/dev/code says to > use SqueakMap. Is the version I got OK, or should I back out and try > again? > > Thanks. > Ross > From renggli at gmail.com Sat Sep 19 11:54:41 2009 From: renggli at gmail.com (Lukas Renggli) Date: Sat, 19 Sep 2009 11:54:41 +0200 Subject: Universes? In-Reply-To: <1253315419.22848.139.camel@corn.betterworld.us> References: <1253314657.22848.133.camel@corn.betterworld.us> <1253315419.22848.139.camel@corn.betterworld.us> Message-ID: <67628d690909190254w7a451f70xf6d68a7315db0f4b@mail.gmail.com> > I just loaded "Pier version current" into a squeak 3.10 image (with > magma). You are on flimsy grounds. Neither Pier, Magritte nor Seaside have been extensively used or tested on Squeak 3.10. > This got Pier-Seaside 1.2.424 and Seaside 2.8.4.12. ?I also wonder if I > should get any of the Seaside28Jetsam, which sound as if they might be > patches to bring Seaside current. No, these are no updates. These are a collection of hacks (overrides) for a very specific set of package version. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ross at biostat.ucsf.edu Sat Sep 19 17:18:06 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Sat, 19 Sep 2009 08:18:06 -0700 Subject: Universes? In-Reply-To: <67628d690909190254w7a451f70xf6d68a7315db0f4b@mail.gmail.com> References: <1253314657.22848.133.camel@corn.betterworld.us> <1253315419.22848.139.camel@corn.betterworld.us> <67628d690909190254w7a451f70xf6d68a7315db0f4b@mail.gmail.com> Message-ID: <1253373486.22848.154.camel@corn.betterworld.us> On Sat, 2009-09-19 at 11:54 +0200, Lukas Renggli wrote: > > I just loaded "Pier version current" into a squeak 3.10 image (with > > magma). > > You are on flimsy grounds. Neither Pier, Magritte nor Seaside have > been extensively used or tested on Squeak 3.10. > Is Squeak 3.9 a better bet? Pharo, at least the one that comes with the Pier download bundled for Linux, isn't working for me because of the name resolution problems I mentioned in an earlier message. Ross From renggli at gmail.com Sat Sep 19 18:31:00 2009 From: renggli at gmail.com (Lukas Renggli) Date: Sat, 19 Sep 2009 18:31:00 +0200 Subject: Universes? In-Reply-To: <1253373486.22848.154.camel@corn.betterworld.us> References: <1253314657.22848.133.camel@corn.betterworld.us> <1253315419.22848.139.camel@corn.betterworld.us> <67628d690909190254w7a451f70xf6d68a7315db0f4b@mail.gmail.com> <1253373486.22848.154.camel@corn.betterworld.us> Message-ID: <67628d690909190931s3dd6ab88t1df158ccb6ffd043@mail.gmail.com> >> You are on flimsy grounds. Neither Pier, Magritte nor Seaside have >> been extensively used or tested on Squeak 3.10. >> > Is Squeak 3.9 a better bet? ?Pharo, at least the one that comes with the > Pier download bundled for Linux, isn't working for me because of the > name resolution problems I mentioned in an earlier message. I am using the download available from piercms.com Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ross at biostat.ucsf.edu Sat Sep 19 19:19:45 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Sat, 19 Sep 2009 10:19:45 -0700 Subject: Universes? In-Reply-To: <67628d690909190931s3dd6ab88t1df158ccb6ffd043@mail.gmail.com> References: <1253314657.22848.133.camel@corn.betterworld.us> <1253315419.22848.139.camel@corn.betterworld.us> <67628d690909190254w7a451f70xf6d68a7315db0f4b@mail.gmail.com> <1253373486.22848.154.camel@corn.betterworld.us> <67628d690909190931s3dd6ab88t1df158ccb6ffd043@mail.gmail.com> Message-ID: <1253380785.22848.156.camel@corn.betterworld.us> On Sat, 2009-09-19 at 18:31 +0200, Lukas Renggli wrote: > >> You are on flimsy grounds. Neither Pier, Magritte nor Seaside have > >> been extensively used or tested on Squeak 3.10. > >> > > Is Squeak 3.9 a better bet? Pharo, at least the one that comes with the > > Pier download bundled for Linux, isn't working for me because of the > > name resolution problems I mentioned in an earlier message. > > I am using the download available from piercms.com That's the one I tried. Ross From keith_hodges at yahoo.co.uk Sat Sep 19 23:32:57 2009 From: keith_hodges at yahoo.co.uk (keith) Date: Sat, 19 Sep 2009 22:32:57 +0100 Subject: Universes? In-Reply-To: <1253373486.22848.154.camel@corn.betterworld.us> References: <1253314657.22848.133.camel@corn.betterworld.us> <1253315419.22848.139.camel@corn.betterworld.us> <67628d690909190254w7a451f70xf6d68a7315db0f4b@mail.gmail.com> <1253373486.22848.154.camel@corn.betterworld.us> Message-ID: On 19 Sep 2009, at 16:18, Ross Boylan wrote: > On Sat, 2009-09-19 at 11:54 +0200, Lukas Renggli wrote: >>> I just loaded "Pier version current" into a squeak 3.10 image (with >>> magma). >> >> You are on flimsy grounds. Neither Pier, Magritte nor Seaside have >> been extensively used or tested on Squeak 3.10. >> > Is Squeak 3.9 a better bet? Pharo, at least the one that comes with > the > Pier download bundled for Linux, isn't working for me because of the > name resolution problems I mentioned in an earlier message. > Ross > > __ 3.10 is not much different from 3.9 Some of us still have to use squeak, and all of the above currently work with squeak as far as I am aware, though I am not up to date with everything. best regards Keith From keith_hodges at yahoo.co.uk Mon Sep 21 05:09:50 2009 From: keith_hodges at yahoo.co.uk (keith) Date: Mon, 21 Sep 2009 04:09:50 +0100 Subject: Link parameters in tables Message-ID: <651D4100-AE06-4974-A086-7BC331C3FFA0@yahoo.co.uk> Hi, Is it just me, or are link parameters in links that appear within a table broken? e.g. | +embeddedcomponent|param=value+ | second column == I am not up to date with pier, so I dont know if this is still an issue Keith From damien.cassou at gmail.com Mon Sep 21 10:31:14 2009 From: damien.cassou at gmail.com (Damien Cassou) Date: Mon, 21 Sep 2009 10:31:14 +0200 Subject: Link parameters in tables In-Reply-To: <651D4100-AE06-4974-A086-7BC331C3FFA0@yahoo.co.uk> References: <651D4100-AE06-4974-A086-7BC331C3FFA0@yahoo.co.uk> Message-ID: <6ac749c10909210131j7f72587am5f21b613261d2b8@mail.gmail.com> On Mon, Sep 21, 2009 at 5:09 AM, keith wrote: > Is it just me, or are link parameters in links that appear within a table > broken? > > e.g. > > | +embeddedcomponent|param=value+ | second column > > == > > I am not up to date with pier, so I dont know if this is still an issue Hi Keith, I think I fixed that at some point. You may want to check. Bye -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry From razavi at acm.org Mon Sep 21 11:48:41 2009 From: razavi at acm.org (Reza RAZAVI) Date: Mon, 21 Sep 2009 11:48:41 +0200 Subject: Link parameters in tables In-Reply-To: <651D4100-AE06-4974-A086-7BC331C3FFA0@yahoo.co.uk> References: <651D4100-AE06-4974-A086-7BC331C3FFA0@yahoo.co.uk> Message-ID: <200909210948.n8L9me4t014827@smtpout1.pt.lu> At 05:09 21/09/2009, you wrote: >Is it just me, or are link parameters in links that appear within a >table broken? > >e.g. > >| +embeddedcomponent|param=value+ | second column Hi Keith, I had a somehow similar issue with the following markup: *Launch the Add Command with 'PRPage' as 'type', and 'auto' as 'name' (to add a Child to the ROOT)>/|command=PRAddCommand|type=PRPage|name=auto* Another example for the same markup: +/tests|command=PBPostTicker|blog=/blog+ I fixed it by simply patching two methods as follows: MAStringReader >> visitClassDescription: aDescription "self shouldNotImplement" self visitElementDescription: aDescription and: PRChildrenWidget >> unfilteredItems | structure children x | structure := self context structure. self level isNil ifFalse: [ c := (self childrenOf: (structure parents at: self level ifAbsent: [ ^ #() ])) asOrderedCollection. c remove: structure ifAbsent: []. ^c asArray]. children := self childrenOf: structure. ^ (children isEmpty and: [ structure isRoot not ]) ifTrue: [ self childrenOf: structure parent ] ifFalse: [ children ] Hoping this helps, Regards, Reza From renggli at gmail.com Mon Sep 21 12:32:52 2009 From: renggli at gmail.com (Lukas Renggli) Date: Mon, 21 Sep 2009 12:32:52 +0200 Subject: Link parameters in tables In-Reply-To: <6ac749c10909210131j7f72587am5f21b613261d2b8@mail.gmail.com> References: <651D4100-AE06-4974-A086-7BC331C3FFA0@yahoo.co.uk> <6ac749c10909210131j7f72587am5f21b613261d2b8@mail.gmail.com> Message-ID: <67628d690909210332ra3474b0p856ad00a2d696ea5@mail.gmail.com> >> Is it just me, or are link parameters in links that appear within a table >> broken? >> >> e.g. >> >> | +embeddedcomponent|param=value+ | second column >> >> == >> >> I am not up to date with pier, so I dont know if this is still an issue > > I think I fixed that at some point. You may want to check. I don't think this is fixed, because the test you wrote is still broken. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From keith_hodges at yahoo.co.uk Mon Sep 21 06:20:10 2009 From: keith_hodges at yahoo.co.uk (keith) Date: Mon, 21 Sep 2009 05:20:10 +0100 Subject: link alias Message-ID: <7829B507-CE88-422C-833E-90EFF7F4FBD2@yahoo.co.uk> Lukas, I find on a regular basis that I want to be able to provide an alias to value "links", e.g. the following displays a link to the current structure, with the text "Login", executing the login command, and this link is only displayed if the user is not logged in. +value:structure|link=Login|command=PULogin|loggedout+ This can be implemented very simply in PRValueLink>>#formatStructure: aStructure in: aContext do let me know if you include this addition, thanks in advance Keith ======= PRValueLink>>#formatStructure: aStructure in: aContext "Format ==aStructure==. Link it, if the parameter ==link== is given; embed it, if the paremeter ==embed== is given." | string | ((self selectAndReject: aStructure) isNil or: [ (aContext structure: aStructure) isValid not or: [ (aStructure propertyAt: #hideFromMenus ifAbsent: [ false ]) ] ]) ifTrue: [ ^ nil ]. "BEGIN MODIFICATION TO PROVIDE ALIAS TO LINK" string := self parameterAt: 'link'. string ifNil: [ string := self formatDescribed: aStructure default: #title ]. "END MODIFICATION TO PROVIDE ALIAS TO LINK" ^ ((self hasParameter: 'link') or: [ self hasParameter: 'embed' ]) ifTrue: [ PRInternalLink new embedded: (self hasParameter: 'embed'); parameters: self parameters; target: aStructure; addAll: (string isNil ifTrue: [ Array new ] ifFalse: [ Array with: (PRText content: string) ]); yourself ] ifFalse: [ string isNil ifFalse: [ PRText content: string ] ] From ross at biostat.ucsf.edu Wed Sep 23 01:41:08 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Tue, 22 Sep 2009 16:41:08 -0700 Subject: security questions Message-ID: <1253662868.20834.6.camel@markov.biostat.ucsf.edu> Can anyone give me any pointers about how security works in pier? In particular, if I make my own components, how do I apply security to them? I've been browsing around and tracing the code and see that the security descriptors end up as decorations which apply to objectified commands. However, I don't know what I need to do to set the security of an object or fiddle with the security policy. Also, if someone comes in from the outside with a link like http://my.host.com/seaside/pier/personalpreferences, is there a way I can ensure that they will be prompted for login and then taken to a preferences page for them? Thanks. Ross From renggli at gmail.com Wed Sep 23 08:47:05 2009 From: renggli at gmail.com (Lukas Renggli) Date: Wed, 23 Sep 2009 08:47:05 +0200 Subject: security questions In-Reply-To: <1253662868.20834.6.camel@markov.biostat.ucsf.edu> References: <1253662868.20834.6.camel@markov.biostat.ucsf.edu> Message-ID: <67628d690909222347y56f0e7eoc97183493db38e86@mail.gmail.com> > Can anyone give me any pointers about how security works in pier? ?In > particular, if I make my own components, how do I apply security to > them? You can find some documentation in Section 3.5.3 in http://scg.unibe.ch/archive/masters/Reng06a.pdf. > I've been browsing around and tracing the code and see that the security > descriptors end up as decorations which apply to objectified commands. > However, I don't know what I need to do to set the security of an object > or fiddle with the security policy. You can only apply the security decorations to subclasses of PRStructure (these are the objects that represent a unique URL or entry point into your application), not to arbitrary objects (out of the box, at least). > Also, if someone comes in from the outside with a link like > http://my.host.com/seaside/pier/personalpreferences, is there a way I > can ensure that they will be prompted for login and then taken to a > preferences page for them? The PRForbiddenView is displayed (with a link to the login page). This is currently hardcoded into the "Pier-Interpreter", but could probably be moved to the structures so that they can decide to do something else, if necessary. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ross at biostat.ucsf.edu Thu Sep 24 02:09:03 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Wed, 23 Sep 2009 17:09:03 -0700 Subject: security questions In-Reply-To: <67628d690909222347y56f0e7eoc97183493db38e86@mail.gmail.com> References: <1253662868.20834.6.camel@markov.biostat.ucsf.edu> <67628d690909222347y56f0e7eoc97183493db38e86@mail.gmail.com> Message-ID: <1253750943.803.33.camel@corn.betterworld.us> I have some questions, but let me put what I've discovered in here too, for the record. Also, you can correct me if I'm wrong! On Wed, 2009-09-23 at 08:47 +0200, Lukas Renggli wrote: > > Can anyone give me any pointers about how security works in pier? In > > particular, if I make my own components, how do I apply security to > > them? > > You can find some documentation in Section 3.5.3 in > http://scg.unibe.ch/archive/masters/Reng06a.pdf. Very useful. > > > I've been browsing around and tracing the code and see that the security > > descriptors end up as decorations which apply to objectified commands. > > However, I don't know what I need to do to set the security of an object > > or fiddle with the security policy. A little more tracing reveals that when children are added to a structure all concrete decoration classes are given a chance to do something to the child. The security decorator copies from the parent, which in turn triggers the creation of a security descriptor, using the current context for user and group, on the page. I also learned that the children of a PRStructure are kept in a child decorator; that was not what I would have guessed. > > You can only apply the security decorations to subclasses of > PRStructure (these are the objects that represent a unique URL or > entry point into your application), not to arbitrary objects (out of > the box, at least). I'm thinking of having a page with a central area that gets swapped according to what the user is doing; the other material on the page would stay. Does that mean there's really only one security decoration that is relevant? Or does it mean the children are individually addressable (e.g., elements of a list)? Also, I wonder if I need any security other than ensuring someone is logged in. A user will only be presented links to stuff that is relevant (and allowed) for them. Does adding security to the objects add any additional security (e.g., perhaps against attempts to manipulate the URL)? Finally, in case I do need security, is the ACL based framework still around? It's probably more appropriate for the scenarios I have in mind. > > > Also, if someone comes in from the outside with a link like > > http://my.host.com/seaside/pier/personalpreferences, is there a way I > > can ensure that they will be prompted for login and then taken to a > > preferences page for them? > > The PRForbiddenView is displayed (with a link to the login page). This > is currently hardcoded into the "Pier-Interpreter", but could probably > be moved to the structures so that they can decide to do something > else, if necessary. Once they login, are they taken to the page they were trying to reach originally? Thanks. Ross From renggli at gmail.com Thu Sep 24 09:09:23 2009 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 24 Sep 2009 09:09:23 +0200 Subject: security questions In-Reply-To: <1253750943.803.33.camel@corn.betterworld.us> References: <1253662868.20834.6.camel@markov.biostat.ucsf.edu> <67628d690909222347y56f0e7eoc97183493db38e86@mail.gmail.com> <1253750943.803.33.camel@corn.betterworld.us> Message-ID: <67628d690909240009s2e7210a0ia8d3553bd1dec2d0@mail.gmail.com> > A little more tracing reveals that when children are added to a > structure all concrete decoration classes are given a chance to do > something to the child. ?The security decorator copies from the parent, > which in turn triggers the creation of a security descriptor, using the > current context for user and group, on the page. Correct. > I also learned that the children of a PRStructure are kept in a child > decorator; that was not what I would have guessed. Yes, this separates all the "children" behavior into a separate object and allows all structures to have children or not. This was one of the major annoyances in SmallWiki the predecessor of Pier, where children were only allowed in folder. >> You can only apply the security decorations to subclasses of >> PRStructure (these are the objects that represent a unique URL or >> entry point into your application), not to arbitrary objects (out of >> the box, at least). > > I'm thinking of having a page with a central area that gets swapped > according to what the user is doing; the other material on the page > would stay. ?Does that mean there's really only one security decoration > that is relevant? ?Or does it mean the children are individually > addressable (e.g., elements of a list)? If you have a page that embeds some of its child-pages using the +child1+ syntax, chilld1 is only embedded if the user has view permission on child1 as well. So yeah, sometimes multiple permissions from different places come into play. > Also, I wonder if I need any security other than ensuring someone is > logged in. ?A user will only be presented links to stuff that is > relevant (and allowed) for them. ?Does adding security to the objects > add any additional security (e.g., perhaps against attempts to > manipulate the URL)? Again, you cannot add security to arbitrary objects, just to structures that map to particular URLs. For example for this software engineering course there are pages that only the assistants can see and edit (for the organization of the course), there are pages that only specific groups of students can edit (for the student teams), there are personal pages that you can only see when logged in and only a particular student can edit (for the personal pages), there are pages that all students can see and edit (for feedback), etc. > Finally, in case I do need security, is the ACL based framework still > around? ?It's probably more appropriate for the scenarios I have in > mind. The ACL based framework is more powerful, indeed. I don't think it was used recently and would probably need some updates to work in the latest version of Pier. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From marianopeck at gmail.com Thu Sep 24 14:44:31 2009 From: marianopeck at gmail.com (Mariano Martinez Peck) Date: Thu, 24 Sep 2009 11:44:31 -0100 Subject: Sub bulleted or ordered list Message-ID: Hi folks: I need something like the office bullet or ordered list, where you can have those lists and sublist. Those you use in Word using TAB key. I tried putting double -- or double ## but it doesn't work. Do you know how can I achieve that in Pier ? Best, Mariano -------------- next part -------------- An HTML attachment was scrubbed... URL: From renggli at gmail.com Thu Sep 24 14:57:26 2009 From: renggli at gmail.com (Lukas Renggli) Date: Thu, 24 Sep 2009 14:57:26 +0200 Subject: Sub bulleted or ordered list In-Reply-To: References: Message-ID: <67628d690909240557q2427366u26dc4bab25f32a13@mail.gmail.com> http://www.piercms.com/doc/syntax#99639110 Does that help? Lukas 2009/9/24 Mariano Martinez Peck : > Hi folks: I need something like the office bullet or ordered list, where you > can have those lists and sublist. Those you use in Word using TAB key. > > I tried putting double -- or double ##?? but it doesn't work. > > Do you know how can I achieve that in Pier ? > > Best, > > Mariano > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli http://www.lukas-renggli.ch From marianopeck at gmail.com Thu Sep 24 15:07:01 2009 From: marianopeck at gmail.com (Mariano Martinez Peck) Date: Thu, 24 Sep 2009 12:07:01 -0100 Subject: Sub bulleted or ordered list In-Reply-To: <67628d690909240557q2427366u26dc4bab25f32a13@mail.gmail.com> References: <67628d690909240557q2427366u26dc4bab25f32a13@mail.gmail.com> Message-ID: On Thu, Sep 24, 2009 at 11:57 AM, Lukas Renggli wrote: > http://www.piercms.com/doc/syntax#99639110 > > Does that help? > > Yeah!!! Thanks! It worked. I used to have something like this: -One bullet -Two bullet --a sub bullet of two bullet That's doesn't work. You must do: -One bullet -Two bullet --a sub bullet of two bullet I removed a blank line between them! Thanks. Mariano > Lukas > > 2009/9/24 Mariano Martinez Peck : > > Hi folks: I need something like the office bullet or ordered list, where > you > > can have those lists and sublist. Those you use in Word using TAB key. > > > > I tried putting double -- or double ## but it doesn't work. > > > > Do you know how can I achieve that in Pier ? > > > > Best, > > > > Mariano > > > > _______________________________________________ > > Magritte, Pier and Related Tools ... > > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > > > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ross at biostat.ucsf.edu Fri Sep 25 06:38:03 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Thu, 24 Sep 2009 21:38:03 -0700 Subject: PRDistribution>>makePrivate: Message-ID: <1253853483.12875.22.camel@corn.betterworld.us> This method seems to do the same thing as PRDistribution>>makePublic:. Am I missing some subtlety, or is this a bug? Ross From ross at biostat.ucsf.edu Fri Sep 25 06:48:30 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Thu, 24 Sep 2009 21:48:30 -0700 Subject: handling components Message-ID: <1253854110.12875.33.camel@corn.betterworld.us> If I have a seaside component and want to make it a page in pier, how do I do that? What if I want to make it a part of a page? I have a feeling the pier way is much different. Judging by how PRDistribution sets things up, it looks as if components are wrapped in PRComponent and have a component class. But I've been unable to see where actual rendering happens, or where state goes. The concrete problem motivating these questions is that I want to display a list of files whose name match a certain pattern in a certain directory. The pattern and the directory could be hardcoded, but it would be more interesting if they were editable in the web. This will display a list of the files; if you click on one of them you will see it. That sounds like a job for PRFile, though again I'm not exactly sure how that gets hooked in. This is all likely to get more complex as I extract relations between files, parse the contents of the files and show information based on the parse. But for now I'm just working on the "simple" stuff. Any hints? Thanks. Ross From renggli at gmail.com Fri Sep 25 07:37:26 2009 From: renggli at gmail.com (Lukas Renggli) Date: Fri, 25 Sep 2009 07:37:26 +0200 Subject: PRDistribution>>makePrivate: In-Reply-To: <1253853483.12875.22.camel@corn.betterworld.us> References: <1253853483.12875.22.camel@corn.betterworld.us> Message-ID: <67628d690909242237xd7641fdud0ea361ab480d77f@mail.gmail.com> It doesn't look like #makePublic: is used at all. That's the default anyway. Doru, can the method #makePublic: be removed? Lukas 2009/9/25 Ross Boylan : > This method seems to do the same thing as PRDistribution>>makePublic:. > Am I missing some subtlety, or is this a bug? > > Ross > > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Lukas Renggli http://www.lukas-renggli.ch From renggli at gmail.com Fri Sep 25 07:44:31 2009 From: renggli at gmail.com (Lukas Renggli) Date: Fri, 25 Sep 2009 07:44:31 +0200 Subject: handling components In-Reply-To: <1253854110.12875.33.camel@corn.betterworld.us> References: <1253854110.12875.33.camel@corn.betterworld.us> Message-ID: <67628d690909242244w2b736358u92f34dc465641961@mail.gmail.com> > If I have a seaside component and want to make it a page in pier, how do > I do that? Add > Select "Component" > Select "Component Class" > What if I want to make it a part of a page? You embed it into the page with an embed-link: A Seaside component: +/path/to/my/component+ > I have a feeling the pier way is much different. ?Judging by how > PRDistribution sets things up, it looks as if components are wrapped in > PRComponent and have a component class. ?But I've been unable to see > where actual rendering happens, or where state goes. PRDistribution creates an initial model from a script. Doing it from the web goes through a series of command objects, but in the end you have the same model. State is stored in the components and rendering happens in #renderContentsOn: of the components, just as in default Seaside. > The concrete problem motivating these questions is that I want to > display a list of files whose name match a certain pattern in a certain > directory. ?The pattern and the directory could be hardcoded, but it > would be more interesting if they were editable in the web. You can do this with something like this: +value:children|link|target=/path/to/directory|select=File+ > This is all likely to get more complex as I extract relations between > files, parse the contents of the files and show information based on the > parse. But for now I'm just working on the "simple" stuff. For this requirement you presumably require to add some code of you own. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ross at biostat.ucsf.edu Fri Sep 25 18:03:31 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Fri, 25 Sep 2009 09:03:31 -0700 Subject: handling components In-Reply-To: <67628d690909242244w2b736358u92f34dc465641961@mail.gmail.com> References: <1253854110.12875.33.camel@corn.betterworld.us> <67628d690909242244w2b736358u92f34dc465641961@mail.gmail.com> Message-ID: <1253894612.12875.61.camel@corn.betterworld.us> On Fri, 2009-09-25 at 07:44 +0200, Lukas Renggli wrote: > > If I have a seaside component and want to make it a page in pier, how do > > I do that? > > Add > Select "Component" > Select "Component Class" Is there some registration process to get items to appear on that list? I tried adding users; that seemed to reuse the existing user list. At the same time, I didn't see a direct way to add a user; that is, I had to add the list, and then hit the add button of the list. > > > What if I want to make it a part of a page? > > You embed it into the page with an embed-link: > > A Seaside component: +/path/to/my/component+ Does this assume step 1, so that my/component is a page (class PRComponent) setup with an instance of my component? > > > I have a feeling the pier way is much different. Judging by how > > PRDistribution sets things up, it looks as if components are wrapped in > > PRComponent and have a component class. But I've been unable to see > > where actual rendering happens, or where state goes. > > PRDistribution creates an initial model from a script. Doing it from > the web goes through a series of command objects, but in the end you > have the same model. State is stored in the components and rendering > happens in #renderContentsOn: of the components, just as in default > Seaside. More precisely, I think the Magritte way is different. I think I could subclass PRObject to create a class with instance vars dir and pattern. On the class side implement descriptionDir and descriptionPattern (which maybe would create the accessors if I hadn't bothered?). But then I don't know how to hook that up so one can create an instance through the web. And I don't know how to change the default display (the default edit view is probably fine) so it shows, e.g., the list of files in dir matching pattern. When you referred to things being addressable through the web, in response to my earlier question about security, I had assumed that the components of a page were not addressable. I see now that most components, if included through +path/component+, are addressable (and presumably can be viewed separately if one is so inclined). > > > The concrete problem motivating these questions is that I want to > > display a list of files whose name match a certain pattern in a certain > > directory. The pattern and the directory could be hardcoded, but it > > would be more interesting if they were editable in the web. > > You can do this with something like this: > > +value:children|link|target=/path/to/directory|select=File+ Let's see if I understand. Do parameters like |foo=bar get translated into method calls foo: "bar"? And |foo=bar|with=blah becomes sends of foo: "bar" and then with: "blah", rather than foo: "bar" with: "blah"? These are directed to my component, not the children? But the thing with +value:children...+ is a PRPage, not my component, so that won't work. So maybe my component should subclass PRPage? So I create a component that implements setters for target: and select:. When it receives select: (if I can count on the order) it clears it's existing list of children and repopulates it with appropriate PRFile's. And then the value:children|link will display them. ? > > > This is all likely to get more complex as I extract relations between > > files, parse the contents of the files and show information based on the > > parse. But for now I'm just working on the "simple" stuff. > > For this requirement you presumably require to add some code of you own. Well, I already added some code, so maybe I don't understand. The files in the directory may change (both the names of the files and the contents), and so I can't use a static list. Thanks for all your help. Ross From renggli at gmail.com Fri Sep 25 18:22:05 2009 From: renggli at gmail.com (Lukas Renggli) Date: Fri, 25 Sep 2009 18:22:05 +0200 Subject: handling components In-Reply-To: <1253894612.12875.61.camel@corn.betterworld.us> References: <1253854110.12875.33.camel@corn.betterworld.us> <67628d690909242244w2b736358u92f34dc465641961@mail.gmail.com> <1253894612.12875.61.camel@corn.betterworld.us> Message-ID: <67628d690909250922s34151762l8a4b6d8492a53a74@mail.gmail.com> >> Add > Select "Type" > Select "Component Class" > Is there some registration process to get items to appear on that list? Type: all PRStructure subclasses that are not abstract Component Class: all PRWidget classes that are not abstract, all Seaside root components > I tried adding users; that seemed to reuse the existing user list. ?At > the same time, I didn't see a direct way to add a user; that is, I had > to add the list, and then hit the add button of the list. I do not understand. > When you referred to things being addressable through the web, in > response to my earlier question about security, I had assumed that the > components of a page were not addressable. ?I see now that most > components, if included through +path/component+, are addressable (and > presumably can be viewed separately if one is so inclined). Yes, if you have the permissions you can individually navigate to the components, given that there is a link or that you know the URL. Typically components are not linked directly though, but embedded into some other page. >> > The concrete problem motivating these questions is that I want to >> > display a list of files whose name match a certain pattern in a certain >> > directory. ?The pattern and the directory could be hardcoded, but it >> > would be more interesting if they were editable in the web. >> >> You can do this with something like this: >> >> ? ? +value:children|link|target=/path/to/directory|select=File+ > Let's see if I understand. > Do parameters like |foo=bar get translated into method calls foo: "bar"? > And |foo=bar|with=blah becomes sends of foo: "bar" and then with: > "blah", rather than foo: "bar" with: "blah"? No method calls. Value links (PRValueLink) are just a special kind of link that embeds some dynamically created content, similar to a component but without state. See the documentation at . > These are directed to my component, not the children? ?But the thing > with ?+value:children...+ is a PRPage, not my component, so that won't > work. ?So maybe my component should subclass PRPage? PRPage is a model object. WAComponent is a view object. See for details. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ross at biostat.ucsf.edu Fri Sep 25 19:16:32 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Fri, 25 Sep 2009 10:16:32 -0700 Subject: handling components In-Reply-To: <67628d690909250922s34151762l8a4b6d8492a53a74@mail.gmail.com> References: <1253854110.12875.33.camel@corn.betterworld.us> <67628d690909242244w2b736358u92f34dc465641961@mail.gmail.com> <1253894612.12875.61.camel@corn.betterworld.us> <67628d690909250922s34151762l8a4b6d8492a53a74@mail.gmail.com> Message-ID: <1253898992.12875.77.camel@corn.betterworld.us> On Fri, 2009-09-25 at 18:22 +0200, Lukas Renggli wrote: > > > I tried adding users; that seemed to reuse the existing user list. > At > > the same time, I didn't see a direct way to add a user; that is, I > had > > to add the list, and then hit the add button of the list. > > I do not understand. >From a web interface point of view, I thought there would be a way to add a new user directly. As far as I can tell, there isn't. It seems one must first create a Pier Users component, and then work within it. I was a little surprised the Pier Users component seemed to use the existing users list, rather than create a new one. >From a development point of view, I was a little puzzled. I can see there is a PUUser object, which class side description* methods. I think that means it's setup for Magritte. So I thought that might be sufficient to make it possible to create one from the web. Also, I'm confused about the roles of components and models. I see now that there is a PUUsersWidget; I think this is what I added. It does not hold a user list, but references it with members ^ self context kernel users I think what this means is that I could produce a quick and dirty widget that was also a model (holds directory and pattern for files, knows how to figure out which files are relevant), or I could have an explicit Magritte object with the model. But then do I need another widget to display the magritte object, e.g., for editing the instance variables? From renggli at gmail.com Fri Sep 25 19:29:36 2009 From: renggli at gmail.com (Lukas Renggli) Date: Fri, 25 Sep 2009 19:29:36 +0200 Subject: handling components In-Reply-To: <1253898992.12875.77.camel@corn.betterworld.us> References: <1253854110.12875.33.camel@corn.betterworld.us> <67628d690909242244w2b736358u92f34dc465641961@mail.gmail.com> <1253894612.12875.61.camel@corn.betterworld.us> <67628d690909250922s34151762l8a4b6d8492a53a74@mail.gmail.com> <1253898992.12875.77.camel@corn.betterworld.us> Message-ID: <67628d690909251029m1c6cd3dcpe4f6b763b22994f5@mail.gmail.com> > >From a web interface point of view, I thought there would be a way to > add a new user directly. ?As far as I can tell, there isn't. > > It seems one must first create a Pier Users component, and then work > within it. Yes, there are several components to edit users, to edit groups, to change various settings, to import/export the site, to observe the server state, to search for broken links, etc. > I was a little surprised the Pier Users component seemed to use the > existing users list, rather than create a new one. Why would they create a new one? Pier-Security models a unix-like security system, there is a single global list of users/groups stored in the kernel (root). The ACL based security package could define users/groups locally, by adding user/group structures. > I think what this means is that I could produce a quick and dirty widget > that was also a model (holds directory and pattern for files, knows how > to figure out which files are relevant), or I could have an explicit > Magritte object with the model. ?But then do I need another widget to > display the magritte object, e.g., for editing the instance variables? You can embed any Seaside component into Pier. It does not need to use Magritte. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ross at biostat.ucsf.edu Fri Sep 25 19:31:13 2009 From: ross at biostat.ucsf.edu (Ross Boylan) Date: Fri, 25 Sep 2009 10:31:13 -0700 Subject: handling components In-Reply-To: <67628d690909250922s34151762l8a4b6d8492a53a74@mail.gmail.com> References: <1253854110.12875.33.camel@corn.betterworld.us> <67628d690909242244w2b736358u92f34dc465641961@mail.gmail.com> <1253894612.12875.61.camel@corn.betterworld.us> <67628d690909250922s34151762l8a4b6d8492a53a74@mail.gmail.com> Message-ID: <1253899873.12875.83.camel@corn.betterworld.us> On Fri, 2009-09-25 at 18:22 +0200, Lukas Renggli wrote: > >> > The concrete problem motivating these questions is that I want to > >> > display a list of files whose name match a certain pattern in a > certain > >> > directory. The pattern and the directory could be hardcoded, but > it > >> > would be more interesting if they were editable in the web. > >> > >> You can do this with something like this: > >> > >> +value:children|link|target=/path/to/directory|select=File+ > > Let's see if I understand. > > Do parameters like |foo=bar get translated into method calls foo: > "bar"? > > And |foo=bar|with=blah becomes sends of foo: "bar" and then with: > > "blah", rather than foo: "bar" with: "blah"? > > No method calls. Value links (PRValueLink) are just a special kind of > link that embeds some dynamically created content, similar to a > component but without state. See the documentation at > . Yes, I saw that. But I don't understand what happens with the parameters. Are you saying the +value...+ above will work without any new code on my part? Somehow I have to create the children to iterate over, don't I? > > > These are directed to my component, not the children? But the thing > > with +value:children...+ is a PRPage, not my component, so that > won't > > work. So maybe my component should subclass PRPage? > > PRPage is a model object. > WAComponent is a view object. > > See for details. From marianopeck at gmail.com Fri Sep 25 19:43:33 2009 From: marianopeck at gmail.com (Mariano Martinez Peck) Date: Fri, 25 Sep 2009 16:43:33 -0100 Subject: [Pharo-project] pharo1.0-10451-BETAweb09.09.3 in FireFox In-Reply-To: <84f77e270909251039md29beddub77e7f6ccbfefb42@mail.gmail.com> References: <84f77e270909251039md29beddub77e7f6ccbfefb42@mail.gmail.com> Message-ID: You should ask also in Pier mailing list. I cc to it. 2009/9/25 Dennis Schetinin > I can't log in at the 'main' page (http://127.0.0.1:8080/seaside/pier) in > Pier. It just ignores all the inputs (both correct and incorrect) simply > redirecting from input form back to the main page. But from the Blog or > About page it works correctly. It's all using FireFox 3.5.3. With Chrome > it's ok everywhere, including 'main' page... > > What can be the cause of the problem? > > -- > Dennis Schetinin > > _______________________________________________ > Pharo-project mailing list > Pharo-project at lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dtrussardi at tiscali.it Sat Sep 26 13:32:29 2009 From: dtrussardi at tiscali.it (Dario Trussardi) Date: Sat, 26 Sep 2009 13:32:29 +0200 Subject: Recaptcha as MAgritte component Message-ID: <6A8C74C990D14D3D9EB106B4CB293CD3@istcamuno> Hi, On Wed, 2009-06-17 at 12:22 -0300, Sebastian Van Lacke wrote: >> Hi, I need to generate some graphics dinamically for my application >> and Gemstone doesn't provide draw classes. >> Specifically I want to implement a Captcha validation in a form, with >> a distorted text. >> >> How can I do it? >> > If you don't need to do it on your own you can use the recaptcha > service (http://www.recaptcha.net). Fortunately I wrote a component > for this last week. This is available at > > http://selfish.org/software/recaptcha > > It runs in Glass-dkh.231. If you have problems using it I'm happy > to help out. > > Norbert Now i use Recaptcha and it work well. But i,m interesting to use it as Magritte component ( only for simply use with other MADescription ) and i have do: 1) I copy the RSRecaptchaComponent to MARSRecaptchaComponent ( as subclass of MAElementComponent ). 2) I create MARSRecaptchaComponentDescription with: defaultComponentClass -> MARSRecaptchaComponent kind -> RSRecaptcha 3) Now when rendering a component with a description based on MARSRecaptchaComponentDescription : task call: ( collectionOfDescription asComponentOn: model ) adValidateForm; addMessage: 'testo'; yourself. The rendering work well ( i see MARSRecaptchaComponent right ) But when test the hasValidateResponse with : validateSpecific: anObject super validateSpecific: anObject. anObject hasValidateResponse ifTrue:[ ] . the requestBody ( RSRecaptcha method ) go in error: The anRSRecaptcha parameters dictionary have : 'challenge' ->nil 'response' -> nil. I think registerCallbacksOn: html d'ont work well. Thank for any consideration. Dario -------------- next part -------------- An HTML attachment was scrubbed... URL: From anlarionov at gmail.com Sun Sep 27 13:38:03 2009 From: anlarionov at gmail.com (Andrey Larionov) Date: Sun, 27 Sep 2009 15:38:03 +0400 Subject: Fwd: [Pharo-project] pharo1.0-10451-BETAweb09.09.3 in FireFox In-Reply-To: <84f77e270909251039md29beddub77e7f6ccbfefb42@mail.gmail.com> References: <84f77e270909251039md29beddub77e7f6ccbfefb42@mail.gmail.com> Message-ID: To Pier List ---------- Forwarded message ---------- From: Dennis Schetinin Date: 2009/9/25 Subject: [Pharo-project] pharo1.0-10451-BETAweb09.09.3 in FireFox To: pharo-project at lists.gforge.inria.fr I can't log in at the 'main' page (http://127.0.0.1:8080/seaside/pier) in Pier. It just ignores all the inputs (both correct and incorrect) simply redirecting from input form back to the main page. But from the Blog or About page it works correctly. It's all using FireFox 3.5.3. With Chrome it's ok everywhere, including 'main' page... What can be the cause of the problem? -- Dennis Schetinin _______________________________________________ Pharo-project mailing list Pharo-project at lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project From mbany at cincom.com Mon Sep 28 10:26:45 2009 From: mbany at cincom.com (Bany, Michel) Date: Mon, 28 Sep 2009 09:26:45 +0100 Subject: Conditional visibility Message-ID: I have a requirement for a Magritte-generated Seaside component where the visibility of some of the model's property is dependent on the values of other properties. Something like this. descriptionMaidenName ^(MAStringDescription new) selectorAccessor: 'maidenName'; label: 'Maiden name'; visible: [:aModel | aModel isVisibleInComponent]; yourself I am still using lr.251 and asking the following questions to the list. 1) Is there a response to my requirement in more recent Magritte versions? 2) Has this topic already been covered in this list? Thanks, Michel. -------------- next part -------------- An HTML attachment was scrubbed... URL: From renggli at gmail.com Mon Sep 28 10:43:49 2009 From: renggli at gmail.com (Lukas Renggli) Date: Mon, 28 Sep 2009 10:43:49 +0200 Subject: Conditional visibility In-Reply-To: References: Message-ID: <67628d690909280143x52195bd4i810b62a660a5708e@mail.gmail.com> > I am still using lr.251 and asking the following questions to the list. > 1) Is there a response to my requirement in more recent Magritte versions? No. > 2) Has this topic already been covered in this list? Yes, also see the first question on . Lukas -- Lukas Renggli http://www.lukas-renggli.ch From mbany at cincom.com Mon Sep 28 13:43:40 2009 From: mbany at cincom.com (Bany, Michel) Date: Mon, 28 Sep 2009 12:43:40 +0100 Subject: Conditional visibility In-Reply-To: <67628d690909280143x52195bd4i810b62a660a5708e@mail.gmail.com> References: <67628d690909280143x52195bd4i810b62a660a5708e@mail.gmail.com> Message-ID: Thanks Lukas, I already knew about that trick. But it only works when the component is initially built, and I would need the component to change its view as the model changes without creating a new component. So it looks as if I will have to extend the framework somehow. > -----Original Message----- > From: smallwiki-bounces at iam.unibe.ch > [mailto:smallwiki-bounces at iam.unibe.ch] On Behalf Of Lukas Renggli > Sent: lundi, 28. septembre 2009 10:44 > To: Magritte, Pier and Related Tools ... > Subject: Re: Conditional visibility > > > I am still using lr.251 and asking the following questions > to the list. > > 1) Is there a response to my requirement in more recent > Magritte versions? > > No. > > > 2) Has this topic already been covered in this list? > > Yes, also see the first question on > . > > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > From chaetal at gmail.com Mon Sep 28 16:13:57 2009 From: chaetal at gmail.com (Dennis Schetinin) Date: Mon, 28 Sep 2009 18:13:57 +0400 Subject: Pier for Seaside 3.0 plans Message-ID: <84f77e270909280713l4e4371a4lf976de9155c629d0@mail.gmail.com> ... are there any? As there are plans of porting (recent) Pier to VW, maybe it's better to port a newer version (if it exist in any form ofcourse)? -- Dennis Schetinin -------------- next part -------------- An HTML attachment was scrubbed... URL: From renggli at gmail.com Mon Sep 28 16:35:16 2009 From: renggli at gmail.com (Lukas Renggli) Date: Mon, 28 Sep 2009 16:35:16 +0200 Subject: Pier for Seaside 3.0 plans In-Reply-To: <84f77e270909280713l4e4371a4lf976de9155c629d0@mail.gmail.com> References: <84f77e270909280713l4e4371a4lf976de9155c629d0@mail.gmail.com> Message-ID: <67628d690909280735k6ca619d5q4e345132582746ce@mail.gmail.com> > ... are there any? Julian is currently working on integrating Pier with Seaside 3.0. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ducasse at iam.unibe.ch Mon Sep 28 22:36:25 2009 From: ducasse at iam.unibe.ch (=?ISO-8859-1?Q?st=E9phane_ducasse?=) Date: Mon, 28 Sep 2009 22:36:25 +0200 Subject: Pier for Seaside 3.0 plans In-Reply-To: <84f77e270909280713l4e4371a4lf976de9155c629d0@mail.gmail.com> References: <84f77e270909280713l4e4371a4lf976de9155c629d0@mail.gmail.com> Message-ID: On Sep 28, 2009, at 4:13 PM, Dennis Schetinin wrote: > ... are there any? > > As there are plans of porting (recent) Pier to VW, who wants to do that? > maybe it's better to port a newer version (if it exist in any form > ofcourse)? > > -- > Dennis Schetinin > _______________________________________________ > Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From keith_hodges at yahoo.co.uk Tue Sep 29 02:45:40 2009 From: keith_hodges at yahoo.co.uk (keith) Date: Tue, 29 Sep 2009 01:45:40 +0100 Subject: Conditional visibility In-Reply-To: <67628d690909280143x52195bd4i810b62a660a5708e@mail.gmail.com> References: <67628d690909280143x52195bd4i810b62a660a5708e@mail.gmail.com> Message-ID: <95157C61-679E-4737-88F6-7614AFAFAB87@yahoo.co.uk> On 28 Sep 2009, at 09:43, Lukas Renggli wrote: >> I am still using lr.251 and asking the following questions to the >> list. >> 1) Is there a response to my requirement in more recent Magritte >> versions? > > No. > >> 2) Has this topic already been covered in this list? > > Yes, also see the first question on > . > > Lukas > The magritte-scriptaculous package does what you want dynamically. This defines additional properties on the accessor as in the following example. descriptionLicenceForCA ^MAStringDescription new accessor: (#licenceForCA asAccessor visible: #isInCalifornia); label: 'Licence # (California)'; addCondition: [ :v | v size between: 5 and: 10 ] labelled: 'Please enter licence number'; priority: 80; bePersisted; beRequired; beEditable; yourself The sub-accessors are stored as properties of the main accessor. Additional sub-accessors available are: #tooltip: #readonly: #visible: #options: (dynamically compiled lists for select lists) #cssClasses: Mementos ======== Since the additional accessors refer to methods on the real model object you cant use the conventional mementos because they hold the state of the form in a dictionary and this has none of the behaviour of a real object. To solve this there is an alternative Magritte- RealMemento package which supplies almost equivalent mementos which use copies of the actual model object to store the cached state. e.g. MARealCheckedMemento etc. The main difference being that only one cache of the whole object structure is kept in the MARealCheckedMemento, related objects (sub- forms aka internal/external edited objects) must use an MAStraitMemento. A little care has to be taken to make the mementos work with sub-form objects. The #copyForMemento method is available for any fine tuning of the memento creation process. For example related objects need to be copied, and any internal structure within the object needs to be consistent. In the example bellow the related objects are explicitly copied, and the internal relationship between the personal, and billing object is re-established between the copies. E.g. copyForRealMemento super copyForRealMemento. shipping := shipping copyForRealMemento. billing := billing copyForRealMemento. personal syncPersonalWithBilling: billing Components ========== descriptionState ^ super descriptionState beRequired; componentClass: MASelectListComponentSU; yourself MASelectListComponentSU - differs from the standard SelectList in that it triggers an scriptaculous update of the entire form, when the selection is changed. In this case, when the user selects the state of california in the billing address sub-form, the "Licence for CA" field appears in the personal data sub-form. best regards Keith From keith_hodges at yahoo.co.uk Tue Sep 29 02:55:31 2009 From: keith_hodges at yahoo.co.uk (keith) Date: Tue, 29 Sep 2009 01:55:31 +0100 Subject: Conditional visibility In-Reply-To: <95157C61-679E-4737-88F6-7614AFAFAB87@yahoo.co.uk> References: <67628d690909280143x52195bd4i810b62a660a5708e@mail.gmail.com> <95157C61-679E-4737-88F6-7614AFAFAB87@yahoo.co.uk> Message-ID: > erratum > copyForRealMemento > postCopyForRealMemento super postCopyForRealMemento. > shipping := shipping copyForRealMemento. > billing := billing copyForRealMemento. > personal syncPersonalWithBilling: billing Keith -------------- next part -------------- An HTML attachment was scrubbed... URL: From chaetal at gmail.com Tue Sep 29 08:52:33 2009 From: chaetal at gmail.com (Dennis Schetinin) Date: Tue, 29 Sep 2009 10:52:33 +0400 Subject: Pier for Seaside 3.0 plans In-Reply-To: References: <84f77e270909280713l4e4371a4lf976de9155c629d0@mail.gmail.com> Message-ID: <84f77e270909282352x689589f9h9616595a5f1ac29d@mail.gmail.com> >> ... are there any? >> >> As there are plans of porting (recent) Pier to VW, > > who wants to do that? It's in Cincom, AFAIK. I'm not yet sure it's ok to discuss details, and anyway I don't know much... -- Dennis Schetinin From keith_hodges at yahoo.co.uk Tue Sep 29 19:41:35 2009 From: keith_hodges at yahoo.co.uk (keith) Date: Tue, 29 Sep 2009 18:41:35 +0100 Subject: Conditional visibility In-Reply-To: References: <67628d690909280143x52195bd4i810b62a660a5708e@mail.gmail.com> <95157C61-679E-4737-88F6-7614AFAFAB87@yahoo.co.uk> Message-ID: addendum: The Magritte-Scriptaculous package also defines a third accessor to all objects. in addition to readUsing: and write:Using: there is added update:Using. This allows the changing component (e.g. MASelectListComponentSU to apply any changes to a different selector, so that the model can respond dynamically to the change. E.g. description010CustomerName ^ MAStringDescription new accessor: (#customerName asAccessor update: #customerNameChangedTo; options: #customerNamesAvailable); label: 'Customer Name'; fieldSize: 30; propertyAt: #filter put: #matchLeft; componentClass: MAAutoCompletingTextInputComponent; beSearchable; bePersisted; yourself best regards Keith