From j.squeak at cyberhaus.us Sat Sep 1 17:42:17 2007 From: j.squeak at cyberhaus.us (Jimmie Houchin) Date: Sat, 01 Sep 2007 10:42:17 -0500 Subject: Attempting example - Adaptive Forms 3.6.3 Message-ID: <46D98859.20602@cyberhaus.us> Hello, I am attempting to implement the example for Adaptive Forms in Lukas' thesis in Chapter 3 on Pier. 3.6.3 Adaptive Forms I created a Category, MyPier-Tutorial with the Classes, MyForm and EditMyFormCommand attempting to implement the example as written with the exception of it being PRCommand and PRStructure. When I add a page to Pier with 'MyForm' and save it. Then I click on the command 'Edit MyForm' I get this stack trace which I truncated somewhat. I do not understand why I am getting this message. I have the class method in EditMyFormCommand. label ^ 'Edit MyForm' Any help in understanding, greatly appreciated. If I did not include enough of the stack trace, let me know. Also included is a fileout of my attempt. Are there any small Pier tutorials or applications which can be filed in for educational purposes? I get lost in all the Pier, Magritte, framework code attempting to find examples. Where in the code can I find where the Pier frontpage is implemented? I tried to find it for an example. But am overlooking it somewhere. Or else I am still lacking understanding somewhere. Thanks for any help. Jimmie Houchin MessageNotUnderstood: EditMyFormCommand>>label Debug Proceed Possible Causes * you sent a message this type of object doesn't understand Stack Trace 1. thisContext EditMyFormCommand(Object)>>doesNotUnderstand: #label self an EditMyFormCommand aMessage label 2. thisContext MASelectorAccessor>>read: self (MASelectorAccessor read: #label write: #label:) aModel an EditMyFormCommand 3. thisContext EditMyFormCommand(Object)>>readUsing: self an EditMyFormCommand aDescription a MAStringDescription label: 'Label' comment: nil 4. thisContext [] in MACheckedMemento(MAMemento)>>pullRaw {[:each | result at: each put: (self model readUsing:...etc... self a MACheckedMemento model: an EditMyFormCommand result a Dictionary(a MAStringDescription label: 'Kind' comment: nil->'Edit MyForm' ) each a MAStringDescription label: 'Label' comment: nil 5. thisContext SortedCollection(OrderedCollection)>>do: self a SortedCollection(a MAStringDescription label: 'Kind' comment: nil a MAStringDescription label: 'La...etc... aBlock [] in MACheckedMemento(MAMemento)>>pullRaw {[:each | result at: each put: (self model readUsing:...etc... index 4 6. thisContext MAPriorityContainer(MAContainer)>>do: self a MAPriorityContainer label: 'Container' comment: nil aBlock -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: MyPier-Tutorial.st Url: http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070901/d69db3b0/MyPier-Tutorial.ksh From tapplek at gmail.com Sat Sep 1 18:39:30 2007 From: tapplek at gmail.com (Matthew Fulmer) Date: Sat, 1 Sep 2007 09:39:30 -0700 Subject: Attempting example - Adaptive Forms 3.6.3 In-Reply-To: <46D98859.20602@cyberhaus.us> References: <46D98859.20602@cyberhaus.us> Message-ID: <20070901163930.GS8394@tacobell.ph.cox.net> On Sat, Sep 01, 2007 at 10:42:17AM -0500, Jimmie Houchin wrote: > Hello, > > I am attempting to implement the example for Adaptive Forms in Lukas' > thesis in Chapter 3 on Pier. 3.6.3 Adaptive Forms I tried that too a while ago. Lukas replied that Pier has changed a bit since then. The up-to-date code is in the pier MC repository. The code is: http://source.lukas-renggli.ch/pier/Pier-Forms-lr.20.mcz -- Matthew Fulmer -- http://mtfulmer.wordpress.com/ Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808 From renggli at iam.unibe.ch Tue Sep 4 09:19:50 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 4 Sep 2007 09:19:50 +0200 Subject: Pier-EditorEnh integration In-Reply-To: <531fa66e0709031645h74f2784ck6d633f9458729df0@mail.gmail.com> References: <531fa66e0709031645h74f2784ck6d633f9458729df0@mail.gmail.com> Message-ID: Hi Nicolas, > I'm writing a blog engine using Magritte and the Pier parser. do you know the package Pier-Blog in ? > Is there a simple way to include Pier-EditorEnh into my app ? The magic happens in PREditCommand>>#updateRoot, where the JavaScript is embedded. The rest of the magic is done in JavaScript, where the toolbar is added on all elements that match the CSS selector textarea.wiki. HTH, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Tue Sep 4 13:17:59 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 4 Sep 2007 13:17:59 +0200 Subject: Pier-EditorEnh integration In-Reply-To: <531fa66e0709040323g29a8efa1i59c295a1efc1a136@mail.gmail.com> References: <531fa66e0709031645h74f2784ck6d633f9458729df0@mail.gmail.com> <531fa66e0709040323g29a8efa1i59c295a1efc1a136@mail.gmail.com> Message-ID: <8D832B11-F61A-46C0-9324-E30FA3AD2D2D@iam.unibe.ch> Please write your questions to the Magritte/Pier mailing list. > > I'm writing a blog engine using Magritte and the Pier parser. > > do you know the package Pier-Blog in pier>? > > Yes I know it and I really love Pier ! I think Pier is one of one > of the best Seaside apps. > I'm doing my own blog engine bacause I want a multiblog server, > dedicated to this. What is a muliblog server? With Pier-Blog you can already put as many blogs as you want on one site. Or do I misunderstand something? In any case, it would probably make sense that you improve Pier-Blog to make it suit your needs (it is a public write repository). Lukas -- Lukas Renggli http://www.lukas-renggli.ch From j.squeak at cyberhaus.us Tue Sep 4 17:40:06 2007 From: j.squeak at cyberhaus.us (Jimmie Houchin) Date: Tue, 04 Sep 2007 10:40:06 -0500 Subject: Editing the Components? Message-ID: <46DD7C56.606@cyberhaus.us> Hello, I am trying to learn the Pier setup. I am having a hard time finding how to edit the components that are in the default Pier setup. For example. In the default Pier install it says Pier in the Header. How do I grab the header to change that? I've toggled halos, inspected objects, etc. but have apparently missed where I can edit its contents and not its ComponentClass. Now I see that if I go to Navigation and go to Environment and do 'Edit' that I have a contents box with the html. I can edit some of the stuff there. But not the header. I know I am missing something. Any help in understanding this is greatly appreciated. Also, is there any level of undo or persistence of these objects when edited? Say I decide to change the 'Environment' html. But I decide I liked it better before. I do not see anything like that. Is there anything like that in the framework machinery? Any wisdom greatly appreciated. Thanks. Jimmie From damien.pollet at gmail.com Tue Sep 4 18:12:16 2007 From: damien.pollet at gmail.com (Damien Pollet) Date: Tue, 4 Sep 2007 18:12:16 +0200 Subject: Editing the Components? In-Reply-To: <46DD7C56.606@cyberhaus.us> References: <46DD7C56.606@cyberhaus.us> Message-ID: <34b4844b0709040912t59dc0ce2u967adc4797f65c8b@mail.gmail.com> On 04/09/07, Jimmie Houchin wrote: > Now I see that if I go to Navigation and go to Environment and do 'Edit' > that I have a contents box with the html. I can edit some of the stuff > there. But not the header. the contents of Environment just includes (+ link instead of *) the Header component, which is just another structure (I have it at /Environment/Header here). If you edit that you can change its title. There are a few macros that you can use to display the kernel name or the current structure title etc. Look at class PRMacroExpander > Also, is there any level of undo or persistence of these objects when > edited? Say I decide to change the 'Environment' html. But I decide I > liked it better before. I do not see anything like that. Is there > anything like that in the framework machinery? I don't think so -- Damien Pollet type less, do more [ | ] http://typo.cdlm.fasmz.org From j.squeak at cyberhaus.us Tue Sep 4 19:24:10 2007 From: j.squeak at cyberhaus.us (Jimmie Houchin) Date: Tue, 04 Sep 2007 12:24:10 -0500 Subject: Editing the Components? In-Reply-To: <34b4844b0709040912t59dc0ce2u967adc4797f65c8b@mail.gmail.com> References: <46DD7C56.606@cyberhaus.us> <34b4844b0709040912t59dc0ce2u967adc4797f65c8b@mail.gmail.com> Message-ID: <46DD94BA.1020201@cyberhaus.us> Hello Damien, Thanks for the reply. Damien Pollet wrote: > On 04/09/07, Jimmie Houchin wrote: >> Now I see that if I go to Navigation and go to Environment and do 'Edit' >> that I have a contents box with the html. I can edit some of the stuff >> there. But not the header. > > the contents of Environment just includes (+ link instead of *) the > Header component, which is just another structure (I have it at > /Environment/Header here). If you edit that you can change its title. > There are a few macros that you can use to display the kernel name or > the current structure title etc. Look at class PRMacroExpander I've been there. Unfortunately the 'Title' of the 'header' is not what is displayed as its contents. When I click on edit and I edit the 'Title' of 'header' the only changes made are to the list of items under the Environment node in the Navigation tree. The contents of the header remain the same. I'll have to take a look at PRMacroExpander. Currently the 'header' displays the Kernel name as its contents. In fact it seems that the Kernel name is attached to the Header Component. If I go to add my own header using the 'add', then I 'edit' it and give it a uniqueTitle, then it still displays the Kernel name as its contents. And the edit form does not have a 'Contents' edit box. It seems to me that if there is displayed content, that such content should be editable somewhere in the interface. :( I'm still missing something. Or that's a place Pier hasn't gotten to yet. >> Also, is there any level of undo or persistence of these objects when >> edited? Say I decide to change the 'Environment' html. But I decide I >> liked it better before. I do not see anything like that. Is there >> anything like that in the framework machinery? > > I don't think so :( Thanks again. Jimmie From jason.johnson.081 at gmail.com Tue Sep 4 19:45:51 2007 From: jason.johnson.081 at gmail.com (Jason Johnson) Date: Tue, 4 Sep 2007 19:45:51 +0200 Subject: Editing the Components? In-Reply-To: <46DD94BA.1020201@cyberhaus.us> References: <46DD7C56.606@cyberhaus.us> <34b4844b0709040912t59dc0ce2u967adc4797f65c8b@mail.gmail.com> <46DD94BA.1020201@cyberhaus.us> Message-ID: Is it not the case that the title stuff is done with CSS? If you have Mozzilla you can go into the View menu and turn off styles. I think you will see then that the title is just plain text, and I think it is set in a component. I use Pier on my site but I don't think I have a single component in my web site that comes from the stock install. I have modified everything and unless you log in as me you wouldn't even know it was Pier. On 9/4/07, Jimmie Houchin wrote: > Hello Damien, > > Thanks for the reply. > > Damien Pollet wrote: > > On 04/09/07, Jimmie Houchin wrote: > >> Now I see that if I go to Navigation and go to Environment and do 'Edit' > >> that I have a contents box with the html. I can edit some of the stuff > >> there. But not the header. > > > > the contents of Environment just includes (+ link instead of *) the > > Header component, which is just another structure (I have it at > > /Environment/Header here). If you edit that you can change its title. > > There are a few macros that you can use to display the kernel name or > > the current structure title etc. Look at class PRMacroExpander > > I've been there. Unfortunately the 'Title' of the 'header' is not what > is displayed as its contents. When I click on edit and I edit the > 'Title' of 'header' the only changes made are to the list of items under > the Environment node in the Navigation tree. The contents of the header > remain the same. > > I'll have to take a look at PRMacroExpander. > > Currently the 'header' displays the Kernel name as its contents. > > In fact it seems that the Kernel name is attached to the Header > Component. If I go to add my own header using the 'add', then I 'edit' > it and give it a uniqueTitle, then it still displays the Kernel name as > its contents. And the edit form does not have a 'Contents' edit box. > > It seems to me that if there is displayed content, that such content > should be editable somewhere in the interface. > > :( I'm still missing something. Or that's a place Pier hasn't gotten to > yet. > > >> Also, is there any level of undo or persistence of these objects when > >> edited? Say I decide to change the 'Environment' html. But I decide I > >> liked it better before. I do not see anything like that. Is there > >> anything like that in the framework machinery? > > > > I don't think so > > :( > > Thanks again. > > Jimmie > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > From renggli at iam.unibe.ch Tue Sep 4 20:20:24 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 4 Sep 2007 20:20:24 +0200 Subject: Editing the Components? In-Reply-To: <46DD94BA.1020201@cyberhaus.us> References: <46DD7C56.606@cyberhaus.us> <34b4844b0709040912t59dc0ce2u967adc4797f65c8b@mail.gmail.com> <46DD94BA.1020201@cyberhaus.us> Message-ID: >>> Now I see that if I go to Navigation and go to Environment and do >>> 'Edit' >>> that I have a contents box with the html. I can edit some of the >>> stuff >>> there. But not the header. >> >> the contents of Environment just includes (+ link instead of *) the >> Header component, which is just another structure (I have it at >> /Environment/Header here). If you edit that you can change its title. >> There are a few macros that you can use to display the kernel name or >> the current structure title etc. Look at class PRMacroExpander > > I've been there. Unfortunately the 'Title' of the 'header' is not what > is displayed as its contents. When I click on edit and I edit the > 'Title' of 'header' the only changes made are to the list of items > under > the Environment node in the Navigation tree. The contents of the > header > remain the same. Check out settings of the 'header'. > In fact it seems that the Kernel name is attached to the Header > Component. If I go to add my own header using the 'add', then I 'edit' > it and give it a uniqueTitle, then it still displays the Kernel > name as > its contents. And the edit form does not have a 'Contents' edit box. The kernel name comes trough one of these macros that were mentioned. Of course you can put any string there, the title of the current page, the command, etc. > It seems to me that if there is displayed content, that such content > should be editable somewhere in the interface. This is the settings command. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From j.squeak at cyberhaus.us Tue Sep 4 21:19:37 2007 From: j.squeak at cyberhaus.us (Jimmie Houchin) Date: Tue, 04 Sep 2007 14:19:37 -0500 Subject: Editing the Components? In-Reply-To: References: <46DD7C56.606@cyberhaus.us> <34b4844b0709040912t59dc0ce2u967adc4797f65c8b@mail.gmail.com> <46DD94BA.1020201@cyberhaus.us> Message-ID: <46DDAFC9.5060407@cyberhaus.us> Hello Lukas, Thanks very much for the reply. Lukas Renggli wrote: >>>> Now I see that if I go to Navigation and go to Environment and do >>>> 'Edit' that I have a contents box with the html. >>>> I can edit some of the stuff there. But not the header. [snip] >> I've been there. Unfortunately the 'Title' of the 'header' is not what >> is displayed as its contents. When I click on edit and I edit the >> 'Title' of 'header' the only changes made are to the list of items >> under the Environment node in the Navigation tree. The contents of the >> header remain the same. > > Check out settings of the 'header'. Okay, I've done that too. There was no place to edit the content of the header. Now I've gone back and forth so many times exploring that I have forgotten some of the things I've tried. When you mentioned it above I did not remember that I had tried that until I went and did it again. And lo and behold, it was there 'heading' which contained the displayed contents. Yay!!! So I went back and opened up the a default latest squeak-web image which is what I've been using, (but I just recently updated everything from the repository on the image I'm working with). Went to Navigation -> Environment - Header, Settings, and there is no 'heading' to edit. That explains my previous experience. I then went to your repository and updated the Pier version to the latest Pier-Seaside and then tried it again and 'heading' was there. Somewhere along the way you made changes which enabled/fixed this, that haven't made it to the squeak-web Pier version. OLD: Settings Menu: Hide: Hide Environment: Title: Command Classes: NEW: Settings Visibility: Hide from menus Navigation Title: Environment: Heading: Command Classes: >> In fact it seems that the Kernel name is attached to the Header >> Component. If I go to add my own header using the 'add', then I 'edit' >> it and give it a uniqueTitle, then it still displays the Kernel >> name as its contents. And the edit form does not have a 'Contents' edit box. > > The kernel name comes trough one of these macros that were mentioned. > Of course you can put any string there, the title of the current > page, the command, etc. Yes, I could see the %k when I inspected the object via the halos. But I couldn't see how I could edit it. I'm not really sure what you can do there with the doit and inspectit buttons. >> It seems to me that if there is displayed content, that such content >> should be editable somewhere in the interface. > > This is the settings command. Thank you for this information and for providing this in whatever update you put it in. Thanks for all the work you put into Pier. I am so ready to see it fulfill its potential. I think it could deliver the best out of box end user experience available. It could be a totally awesome way for an end user to do some interesting things. Hopefully, as a fumble around I can learn enough to help with some docs on this. Again thanks. Jimmie From norbert at hartl.name Thu Sep 6 23:49:14 2007 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 06 Sep 2007 23:49:14 +0200 Subject: Pier v. Plone In-Reply-To: <6c4e07720708240826rd645d1fybcba793b6bc1d098@mail.gmail.com> References: <46C21A71.9020204@cyberhaus.us> <46C23065.9080702@moedae.com> <46C2D0C5.8020702@fjkonrad.de> <46C430E5.8060701@fjkonrad.de> <46CD7F2F.7010301@fjkonrad.de> <6c4e07720708240826rd645d1fybcba793b6bc1d098@mail.gmail.com> Message-ID: <1189115354.5406.21.camel@localhost> On Fri, 2007-08-24 at 11:26 -0400, Dave Bauer wrote: > On 8/24/07, Lukas Renggli wrote: > > The stemming library is also > > interesting, but I am afraid that this only works for english > > sources? Maybe there are multilingual stemming libraries where we can > > just pipe the results from the converters? > > Snowball can do stemming for multiple languages > http://snowball.tartarus.org/ > > The PostgreSQL full text indexer tsearch2 uses it. > I can report that I'm using the german stemmer in postgresql from squeak to read stuff from the database. It works really good. so far, Norbert From sop2 at hotmail.fr Fri Sep 7 20:56:43 2007 From: sop2 at hotmail.fr (sop soptwo) Date: Fri, 7 Sep 2007 20:56:43 +0200 Subject: Magritte question Message-ID: Hi, First of all, please excuze me if it's a stupid question, I'm a newbie with Magritte. Is there a way to add conditions do descriptions "on the fly"? For example I have an object with descriptions, and when I do asComponent addValidatedForm, I would like to add a condition to a description, but this time only. Cheers, Sop _________________________________________________________________ Retrouvez tous les services Windows Live sur votre mobile ! http://mobile.live.fr/ -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070907/e45cbe24/attachment.html From ramon.leon at allresnet.com Fri Sep 7 23:19:31 2007 From: ramon.leon at allresnet.com (Ramon Leon) Date: Fri, 7 Sep 2007 14:19:31 -0700 Subject: Magritte question In-Reply-To: References: Message-ID: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> ct: Magritte question > > Hi, > > First of all, please excuse me if it's a stupid question, I'm > a newbie with Magritte. > > Is there a way to add conditions do descriptions "on the > fly"? For example I have an object with descriptions, and > when I do asComponent addValidatedForm, I would like to add a > condition to a description, but this time only. > > Cheers, > > Sop buildEditorFor: aModel ^(aModel description addCondition:[:memento | ]; asComponentOn: aModel) addValidatedForm; yourself Ramon Leon http://onsmalltalk.com From sop2 at hotmail.fr Sat Sep 8 02:54:22 2007 From: sop2 at hotmail.fr (sop soptwo) Date: Sat, 8 Sep 2007 02:54:22 +0200 Subject: Magritte question In-Reply-To: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> Message-ID: > From: ramon.leon at allresnet.com > To: smallwiki at iam.unibe.ch > Subject: RE: Magritte question > Date: Fri, 7 Sep 2007 14:19:31 -0700 > > ct: Magritte question > > > > Hi, > > > > First of all, please excuse me if it's a stupid question, I'm > > a newbie with Magritte. > > > > Is there a way to add conditions do descriptions "on the > > fly"? For example I have an object with descriptions, and > > when I do asComponent addValidatedForm, I would like to add a > > condition to a description, but this time only. > > > > Cheers, > > > > Sop > > buildEditorFor: aModel > ^(aModel description > addCondition:[:memento | ]; > asComponentOn: aModel) > addValidatedForm; > yourself Thanks, I Tried this : buildEditorFor: anItem (anItem description addCondition: [:item | (Item repository contains: [:each | each id = item id) not]; asComponentOn: anItem) addValidatedForm; yourself It seems to work fine, but the condition dosen't disappear until the session expires. What am I missing ? > > Ramon Leon > http://onsmalltalk.com > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki _________________________________________________________________ T?l?chargez gratuitement l'?conomiseur d'?cran Les Simson Le film ! http://specials.divertissements.fr.msn.com/lessimpsonlefilm/economiseur.aspx -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070908/5226052a/attachment.html From ramon.leon at allresnet.com Sat Sep 8 04:46:44 2007 From: ramon.leon at allresnet.com (Ramon Leon) Date: Fri, 7 Sep 2007 19:46:44 -0700 Subject: Magritte question In-Reply-To: References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> Message-ID: <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> > Thanks, I Tried this : > > buildEditorFor: anItem > (anItem description > addCondition: [:item | (Item repository contains: [:each | > each id = item id) not]; > asComponentOn: anItem) > addValidatedForm; > yourself > > It seems to work fine, but the condition dosen't disappear > until the session expires. > What am I missing ? > > > > Ramon Leon > > http://onsmalltalk.com Likely that you're using the same component for the entire length of the session. You may want to copy the description as well, I don't recall if Magritte still caches its descriptions, so say anItem description copy addCondtion. Ramon Leon http://onsmalltalk.com From renggli at iam.unibe.ch Sat Sep 8 11:42:15 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Sat, 8 Sep 2007 11:42:15 +0200 Subject: Magritte question In-Reply-To: <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> Message-ID: > Likely that you're using the same component for the entire length > of the > session. You may want to copy the description as well, I don't > recall if > Magritte still caches its descriptions, so say anItem description copy > addCondtion. Yes, you have to copy the description, else your globally cached description ends up with a whole set of conditions. Caching can be disabled by using a different description-builder, however need the descriptions a lot (e.g. searching, persistency) it is really worth to let Magritte only build them once and then cache them. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From sop2 at hotmail.fr Sat Sep 8 15:31:57 2007 From: sop2 at hotmail.fr (sop soptwo) Date: Sat, 8 Sep 2007 15:31:57 +0200 Subject: Magritte question In-Reply-To: References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> Message-ID: > From: renggli at iam.unibe.ch > Subject: Re: Magritte question > Date: Sat, 8 Sep 2007 11:42:15 +0200 > To: smallwiki at iam.unibe.ch > > > Likely that you're using the same component for the entire length > > of the > > session. You may want to copy the description as well, I don't > > recall if > > Magritte still caches its descriptions, so say anItem description copy > > addCondtion. > > Yes, you have to copy the description, else your globally cached > description ends up with a whole set of conditions. > > Caching can be disabled by using a different description-builder, > however need the descriptions a lot (e.g. searching, persistency) it > is really worth to let Magritte only build them once and then cache > them. > Thank you for your help. Now I have another problem : buildEditorFor: anItem ^(anItem description copy addCondition: [:memento | (Item repository contains: [:each | memento model id = each not]) not] labelled: 'An item with that id already exists'; asComponentOn: anItem) addValidatedForm; yourself The memento model id doesn't change it's value when I edit it. I saw MACheckedMemento has a #cache and a #original method, maybe I should use them, but I don't know how. Sebastien > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki _________________________________________________________________ Cr?ez un blog Messenger pour partager facilement toutes vos photos de vacances ! http://www.windowslive.fr/spaces/default.asp -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070908/a2cb7de6/attachment.html From sop2 at hotmail.fr Sat Sep 8 16:13:10 2007 From: sop2 at hotmail.fr (sop soptwo) Date: Sat, 8 Sep 2007 16:13:10 +0200 Subject: Magritte question In-Reply-To: References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> Message-ID: From: sop2 at hotmail.fr To: smallwiki at iam.unibe.ch Subject: RE: Magritte question Date: Sat, 8 Sep 2007 15:31:57 +0200 > From: renggli at iam.unibe.ch > Subject: Re: Magritte question > Date: Sat, 8 Sep 2007 11:42:15 +0200 > To: smallwiki at iam.unibe.ch > > > Likely that you're using the same component for the entire length > > of the > > session. You may want to copy the description as well, I don't > > recall if > > Magritte still caches its descriptions, so say anItem description copy > > addCondtion. > > Yes, you have to copy the description, else your globally cached > description ends up with a whole set of conditions. > > Caching can be disabled by using a different description-builder, > however need the descriptions a lot (e.g. searching, persistency) it > is really worth to let Magritte only build them once and then cache > them. > Thank you for your help. Now I have another problem : buildEditorFor: anItem ^(anItem description copy addCondition: [:memento | (Item repository contains: [:each | memento model id = each not]) not] labelled: 'An item with that id already exists'; asComponentOn: anItem) addValidatedForm; yourself Of course it was : contains: [:each | memento model id = each id]) not] The memento model id doesn't change it's value when I edit it. I saw MACheckedMemento has a #cache and a #original method, maybe I should use them, but I don't know how. Sebastien > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki Besoin d'un e-mail ? Cr?ez gratuitement un compte Windows Live Hotmail et b?n?ficiez de 2 Go de stockage ! Windows Live Hotmail _________________________________________________________________ Cr?ez un blog Messenger pour partager facilement toutes vos photos de vacances ! http://www.windowslive.fr/spaces/default.asp -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070908/1877fd35/attachment-0001.html From ramon.leon at allresnet.com Sat Sep 8 22:46:46 2007 From: ramon.leon at allresnet.com (Ramon Leon) Date: Sat, 8 Sep 2007 13:46:46 -0700 Subject: Magritte question In-Reply-To: References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com><009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> Message-ID: <012e01c7f259$5f642c00$f000a8c0@hq.allresnet.com> > Thank you for your help. > > Now I have another problem : > > buildEditorFor: anItem > ^(anItem description copy > addCondition: [:memento | (Item repository > contains: [:each | memento model id = each not]) not] > labelled: 'An item with that id already exists'; > asComponentOn: anItem) > addValidatedForm; > yourself > > The memento model id doesn't change it's value when I edit > it. I saw MACheckedMemento has a #cache and a #original > method, maybe I should use them, but I don't know how. > > Sebastien That's because the memento doesn't write to the model until after it passes all its validations. You need to check the pending values, which are in the memento keyed by your descriptions. You don't want to say "memento model id" in your rule, you want to say "memento cache at: YouModel descriptionId" to see it's pending value. Ramon Leon http://onsmalltalk.com From sop2 at hotmail.fr Sun Sep 9 01:03:32 2007 From: sop2 at hotmail.fr (sop soptwo) Date: Sun, 9 Sep 2007 01:03:32 +0200 Subject: Magritte question In-Reply-To: <012e01c7f259$5f642c00$f000a8c0@hq.allresnet.com> References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com><009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> <012e01c7f259$5f642c00$f000a8c0@hq.allresnet.com> Message-ID: > From: ramon.leon at allresnet.com > To: smallwiki at iam.unibe.ch > Subject: RE: Magritte question > Date: Sat, 8 Sep 2007 13:46:46 -0700 > > > Thank you for your help. > > > > Now I have another problem : > > > > buildEditorFor: anItem > > ^(anItem description copy > > addCondition: [:memento | (Item repository > > contains: [:each | memento model id = each not]) not] > > labelled: 'An item with that id already exists'; > > asComponentOn: anItem) > > addValidatedForm; > > yourself > > > > The memento model id doesn't change it's value when I edit > > it. I saw MACheckedMemento has a #cache and a #original > > method, maybe I should use them, but I don't know how. > > > > Sebastien > > That's because the memento doesn't write to the model until after it passes > all its validations. You need to check the pending values, which are in the > memento keyed by your descriptions. You don't want to say "memento model > id" in your rule, you want to say "memento cache at: YouModel descriptionId" > to see it's pending value. > Thank you very much Ramon ! > Ramon Leon > http://onsmalltalk.com > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki _________________________________________________________________ Cr?ez un blog Messenger pour partager facilement toutes vos photos de vacances ! http://www.windowslive.fr/spaces/default.asp -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070909/1e8b83d5/attachment.html From keith_hodges at yahoo.co.uk Mon Sep 10 16:25:16 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Mon, 10 Sep 2007 15:25:16 +0100 Subject: Magritte question In-Reply-To: References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> Message-ID: <46E553CC.5090607@yahoo.co.uk> > Yes, you have to copy the description, else your globally cached > description ends up with a whole set of conditions. > > Caching can be disabled by using a different description-builder, > Hi Lukas, Here you are suggesting the idea of providing a specialized description-builder. May I take the liberty of pointing out again that since the existing description builder uses a class var for "Default" rather than a class instance var as would be preferable for subclassing the existing description builder. best regards Keith > however need the descriptions a lot (e.g. searching, persistency) it > is really worth to let Magritte only build them once and then cache > them. > > Lukas > > From renggli at iam.unibe.ch Mon Sep 10 17:02:15 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Mon, 10 Sep 2007 17:02:15 +0200 Subject: Magritte question In-Reply-To: <46E553CC.5090607@yahoo.co.uk> References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> <46E553CC.5090607@yahoo.co.uk> Message-ID: <9C478FC7-AE1E-4849-AF85-03E2B56A52DE@iam.unibe.ch> > May I take the liberty of pointing out again that since the existing > description builder uses a class var for "Default" rather than a class > instance var as would be preferable for subclassing the existing > description builder. Yes, that's exactly the reason I use a class var ;-) All the users of a description builder use MADescriptionBuilder default If you want to use your own custom description builder, you assign a different one to be used as default: MADescriptionBuilder default: SpecialBuilder new Regards, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From keith_hodges at yahoo.co.uk Mon Sep 10 18:49:04 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Mon, 10 Sep 2007 17:49:04 +0100 Subject: Magritte question In-Reply-To: <9C478FC7-AE1E-4849-AF85-03E2B56A52DE@iam.unibe.ch> References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> <46E553CC.5090607@yahoo.co.uk> <9C478FC7-AE1E-4849-AF85-03E2B56A52DE@iam.unibe.ch> Message-ID: <46E57580.9000905@yahoo.co.uk> Lukas Renggli wrote: >> May I take the liberty of pointing out again that since the existing >> description builder uses a class var for "Default" rather than a class >> instance var as would be preferable for subclassing the existing >> description builder. >> > > Yes, that's exactly the reason I use a class var ;-) > > All the users of a description builder use > > MADescriptionBuilder default > > If you want to use your own custom description builder, you assign a > different one to be used as default: > > MADescriptionBuilder default: SpecialBuilder new > > Regards, > Lukas > > Ah I see. My typical use case is to use my specialized builder in specific circumstances. I do a SpecialBuilder default to obtain the builder that I want, so I shall change that to SpecialBuilder instance, instead and have instance as the class instance var. thanks Keith From damien.pollet at gmail.com Mon Sep 10 18:53:43 2007 From: damien.pollet at gmail.com (Damien Pollet) Date: Mon, 10 Sep 2007 18:53:43 +0200 Subject: Magritte description for a file on the server's FS ? Message-ID: <34b4844b0709100953x4efd779an1f56e8de630bdde3@mail.gmail.com> Hi, I'd like to describe a field that should point to a file on the server's disk. The precise use-case is that I have a seaside component to displays bibliographies in Pier, and I would like to have it display the contents of a .bib file, which is under SVN or similar version/replication control (so it will be updated sometimes without going through Squeak). Currently I'm using MAFileDescription new kind: MAExternalFileModel; ... but that makes Pier ask for a file to upload, when I'd like to specify a server-specific file path. I was thinking of subclassing MAFileModel but now I suspect that defining MAServerFileChooserComponent is the way... correct ? PS. why does MAFileUploadComponent>>#isMultipart actually mean "no file yet"? -- Damien Pollet type less, do more [ | ] http://typo.cdlm.fasmz.org From keith_hodges at yahoo.co.uk Mon Sep 10 19:00:44 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Mon, 10 Sep 2007 18:00:44 +0100 Subject: Magritte question In-Reply-To: <46E57580.9000905@yahoo.co.uk> References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> <46E553CC.5090607@yahoo.co.uk> <9C478FC7-AE1E-4849-AF85-03E2B56A52DE@iam.unibe.ch> <46E57580.9000905@yahoo.co.uk> Message-ID: <46E5783C.2030601@yahoo.co.uk> I have updated the CustomBuilder pacakge and posted it to the magritteaddons repository. Could you do me a favour and delete the version mistakenly posted to pier addons. many thanks Keith From keith_hodges at yahoo.co.uk Mon Sep 10 19:07:53 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Mon, 10 Sep 2007 18:07:53 +0100 Subject: Magritte question In-Reply-To: <46E5783C.2030601@yahoo.co.uk> References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> <46E553CC.5090607@yahoo.co.uk> <9C478FC7-AE1E-4849-AF85-03E2B56A52DE@iam.unibe.ch> <46E57580.9000905@yahoo.co.uk> <46E5783C.2030601@yahoo.co.uk> Message-ID: <46E579E9.7060605@yahoo.co.uk> Keith Hodges wrote: > I have updated the CustomBuilder pacakge and posted it to the > magritteaddons repository. > > Could you do me a favour and delete the version mistakenly posted to > pier addons. > > many thanks > > Keith > actually, hold fire on that, I am struggling to access magritteaddons for some reason, though pier addons is fine. Keith From renggli at iam.unibe.ch Mon Sep 10 19:10:24 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Mon, 10 Sep 2007 19:10:24 +0200 Subject: Magritte question In-Reply-To: <46E57580.9000905@yahoo.co.uk> References: <006d01c7f194$c7cb9410$f000a8c0@hq.allresnet.com> <009301c7f1c2$7e6c6190$f000a8c0@hq.allresnet.com> <46E553CC.5090607@yahoo.co.uk> <9C478FC7-AE1E-4849-AF85-03E2B56A52DE@iam.unibe.ch> <46E57580.9000905@yahoo.co.uk> Message-ID: > Ah I see. > > My typical use case is to use my specialized builder in specific > circumstances. > I do a > > SpecialBuilder default > > to obtain the builder that I want, so I shall change that to > SpecialBuilder instance, instead and have instance as the class > instance > var. Indeed. I had a different use-case in mind than you do. Of course we can have both strategies together. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Mon Sep 10 19:15:23 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Mon, 10 Sep 2007 19:15:23 +0200 Subject: Magritte description for a file on the server's FS ? In-Reply-To: <34b4844b0709100953x4efd779an1f56e8de630bdde3@mail.gmail.com> References: <34b4844b0709100953x4efd779an1f56e8de630bdde3@mail.gmail.com> Message-ID: > I'd like to describe a field that should point to a file on the > server's disk. > > The precise use-case is that I have a seaside component to displays > bibliographies in Pier, and I would like to have it display the > contents of a .bib file, which is under SVN or similar > version/replication control (so it will be updated sometimes without > going through Squeak). > > Currently I'm using MAFileDescription new kind: > MAExternalFileModel; ... > but that makes Pier ask for a file to upload, when I'd like to specify > a server-specific file path. > > I was thinking of subclassing MAFileModel but now I suspect that > defining MAServerFileChooserComponent is the way... correct ? Yes, in your case you certainly need to create your own file chooser dialog. I don't exactly remember the details on how MAExternalFileModel is implemented, probably you need to subclass the model as well (unless it supports to freely specify the location). > PS. why does MAFileUploadComponent>>#isMultipart actually mean "no > file yet"? This is used by Seaside to determine if the form has to be a multi- part form. There is only a file-upload control if there is "no file yet" and therefor the form only needs to be multipart in that case. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From damien.pollet at gmail.com Tue Sep 11 17:36:43 2007 From: damien.pollet at gmail.com (Damien Pollet) Date: Tue, 11 Sep 2007 17:36:43 +0200 Subject: Magritte description for a file on the server's FS ? In-Reply-To: References: <34b4844b0709100953x4efd779an1f56e8de630bdde3@mail.gmail.com> Message-ID: <34b4844b0709110836q3c65d527i6d4a579dce3f7e40@mail.gmail.com> On 10/09/2007, Lukas Renggli wrote: > > I'd like to describe a field that should point to a file on the > > server's disk. [snip] > Yes, in your case you certainly need to create your own file chooser > dialog. I don't exactly remember the details on how > MAExternalFileModel is implemented, probably you need to subclass the > model as well (unless it supports to freely specify the location). OK, thanks! I have a first implementation in Citezen-Seaside at http://www.squeaksource.com/Citezen.html I created MAReferenceFileModel (subclass of MAExternalFileModel with settable location) and MAServerFileChooserComponent to work with it. I used Rio to manipulate file paths because it seemed easier; should I remove the dependancy before committing the code to the Magritte repository ? -- Damien Pollet type less, do more [ | ] http://typo.cdlm.fasmz.org From renggli at iam.unibe.ch Tue Sep 11 18:13:12 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 11 Sep 2007 18:13:12 +0200 Subject: Magritte description for a file on the server's FS ? In-Reply-To: <34b4844b0709110836q3c65d527i6d4a579dce3f7e40@mail.gmail.com> References: <34b4844b0709100953x4efd779an1f56e8de630bdde3@mail.gmail.com> <34b4844b0709110836q3c65d527i6d4a579dce3f7e40@mail.gmail.com> Message-ID: On 11 Sep 2007, at 17:36, Damien Pollet wrote: > On 10/09/2007, Lukas Renggli wrote: >>> I'd like to describe a field that should point to a file on the >>> server's disk. > [snip] >> Yes, in your case you certainly need to create your own file chooser >> dialog. I don't exactly remember the details on how >> MAExternalFileModel is implemented, probably you need to subclass the >> model as well (unless it supports to freely specify the location). > > OK, thanks! > I have a first implementation in Citezen-Seaside at > http://www.squeaksource.com/Citezen.html > > I created MAReferenceFileModel (subclass of MAExternalFileModel with > settable location) and MAServerFileChooserComponent to work with it. > > I used Rio to manipulate file paths because it seemed easier; should I > remove the dependancy before committing the code to the Magritte > repository ? It depends if you code is in a separate package or not? I would prefer to keep Magritte-Core, Magritte-Seaside and Magritte-Tests as portable as possible. There are ports to VisualWorks and GemStone and such a dependency would make portability much harder. File access in general is a bad story anyway. For extension packages I think it is fine to have dependencies, as long as it is documented somewhere. Please go ahead an publish it to one of the Magritte repositories. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From jason.johnson.081 at gmail.com Thu Sep 13 09:27:01 2007 From: jason.johnson.081 at gmail.com (Jason Johnson) Date: Thu, 13 Sep 2007 09:27:01 +0200 Subject: Multiple displays via Magritte Message-ID: Hi all, I am making a web store. The store will have domain classes like "Item", and these will need a different "display" or "view" depending on where they are shown. For example, one view will be to customers so it will show things like pictures and descriptions. Another view will be for administration so it will be for editing this information, or creating new items. What is the best way to do this with Magritte? I know you have like the "description" method that makes the whole component view, and I seem to recall that you can change the name of that method, so I was wondering if I could have several such methods and use the one I want depending on where I am displaying the object? Thanks for any help you can provide, Jason From jason.johnson.081 at gmail.com Thu Sep 13 09:40:54 2007 From: jason.johnson.081 at gmail.com (Jason Johnson) Date: Thu, 13 Sep 2007 09:40:54 +0200 Subject: Multiple displays via Magritte In-Reply-To: References: Message-ID: Doah, silly me. It was explained in Ramon's latest blog entry [1]. I even had that very page open when I sent this question. :) [1] http://onsmalltalk.com/programming/smalltalk/using-magritte-with-seaside/ On 9/13/07, Jason Johnson wrote: > Hi all, > > I am making a web store. The store will have domain classes like > "Item", and these will need a different "display" or "view" depending > on where they are shown. For example, one view will be to customers > so it will show things like pictures and descriptions. Another view > will be for administration so it will be for editing this information, > or creating new items. > > What is the best way to do this with Magritte? I know you have like > the "description" method that makes the whole component view, and I > seem to recall that you can change the name of that method, so I was > wondering if I could have several such methods and use the one I want > depending on where I am displaying the object? > > Thanks for any help you can provide, > Jason > From renggli at iam.unibe.ch Thu Sep 13 09:51:03 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Thu, 13 Sep 2007 09:51:03 +0200 Subject: Multiple displays via Magritte In-Reply-To: References: Message-ID: <012A0D0D-A2E4-4BC4-B5FA-668018E88F91@iam.unibe.ch> > I am making a web store. The store will have domain classes like > "Item", and these will need a different "display" or "view" depending > on where they are shown. For example, one view will be to customers > so it will show things like pictures and descriptions. Another view > will be for administration so it will be for editing this information, > or creating new items. > > What is the best way to do this with Magritte? I know you have like > the "description" method that makes the whole component view, and I > seem to recall that you can change the name of that method, so I was > wondering if I could have several such methods and use the one I want > depending on where I am displaying the object? There are different ways to do this and people have posted different solutions to this very problem to the list (check out the archive). The approach I am using most of the time (you can see it for example in Pier) is the following one: - Sending #description to an object returns all the available descriptions of this object. This is what Magritte does by default. - To create separate sub-sets of descriptions I tag them using the property framework. So for example I define my descriptions like: SomeDescription new ... propertyAt: #reported put: true; propertyAt: #visitor put: false; propertyAt: #administrator put: true; ... To make the code look nicer, you would create helper method for each tag as a class extension to MADescription. - Now to create a view with the elements for a 'visitor' I would write code like this: description := aModel description select: [ :each | each propertyAt: #visitor ifAbsent: [ false ] ]. component := description asComponentOn: aModel. Again with the help of some dedicated helper methods you can make your code look much simpler. This is just the full implementation to communicate the general idea. HTH, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From keith_hodges at yahoo.co.uk Thu Sep 13 13:10:57 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Thu, 13 Sep 2007 12:10:57 +0100 Subject: Multiple displays via Magritte In-Reply-To: <012A0D0D-A2E4-4BC4-B5FA-668018E88F91@iam.unibe.ch> References: <012A0D0D-A2E4-4BC4-B5FA-668018E88F91@iam.unibe.ch> Message-ID: <46E91AC1.6080302@yahoo.co.uk> > There are different ways to do this and people have posted different > solutions to this very problem to the list (check out the archive). > The approach I am using most of the time (you can see it for example > in Pier) is the following one: > Another solution is to use a custom builder, see Magritte-CustomBuilder (currently in the pieraddons repository). Use (and hence initialize) your custom builder like so: MyClass-class-#mgViewActions ^ (MACustomDescriptionBuilder prefix: #mgViewActions) for: self This will work exactly as a standard builder, so results are cached as normal. It is faster and more efficient than the normal builder dues to a selectors lookup optimization (it stops looking at Object class, and doesnt go any higher, thus avoiding building and searching sets with thousands of entries) As you can see the hardest part of this solution is to come up with a decent method prefix as an alternative to #description! Having used this for a while, I think it works quite well. However, unless I can come up with some better naming conventions, I am thinking of reverting to the method which Lukas describes. i.e. define MADescription-#beViewAction ^ self propertyAt: #isViewAction put: true MADescription-isViewAction ^ self propertyAt: #isViewAction ifAbsent: false and MyClass-class-#viewActions ^ self description select: [ :each | each | isViewAction ]. best regards Keith From jason.johnson.081 at gmail.com Thu Sep 13 18:44:19 2007 From: jason.johnson.081 at gmail.com (Jason Johnson) Date: Thu, 13 Sep 2007 18:44:19 +0200 Subject: Multiple displays via Magritte In-Reply-To: <46E91AC1.6080302@yahoo.co.uk> References: <012A0D0D-A2E4-4BC4-B5FA-668018E88F91@iam.unibe.ch> <46E91AC1.6080302@yahoo.co.uk> Message-ID: Yea thanks Keith and Lukas. I will play around with these to see what fits my problem best. On 9/13/07, Keith Hodges wrote: > > > There are different ways to do this and people have posted different > > solutions to this very problem to the list (check out the archive). > > The approach I am using most of the time (you can see it for example > > in Pier) is the following one: > > > Another solution is to use a custom builder, see Magritte-CustomBuilder > (currently in the pieraddons repository). > > Use (and hence initialize) your custom builder like so: > > MyClass-class-#mgViewActions > > ^ (MACustomDescriptionBuilder prefix: #mgViewActions) for: self > > This will work exactly as a standard builder, so results are cached as > normal. It is faster and more efficient than the normal builder dues to > a selectors lookup optimization (it stops looking at Object class, and > doesnt go any higher, thus avoiding building and searching sets with > thousands of entries) > > As you can see the hardest part of this solution is to come up with a > decent method prefix as an alternative to #description! > > Having used this for a while, I think it works quite well. However, > unless I can come up with some better naming conventions, I am thinking > of reverting to the method which Lukas describes. i.e. define > > MADescription-#beViewAction > ^ self propertyAt: #isViewAction put: true > > MADescription-isViewAction > ^ self propertyAt: #isViewAction ifAbsent: false > > and > > MyClass-class-#viewActions > ^ self description select: [ :each | each | isViewAction ]. > > > best regards > > Keith > > > > > > > > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > From keith_hodges at yahoo.co.uk Fri Sep 14 08:55:35 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 14 Sep 2007 07:55:35 +0100 Subject: CurrentContext in description defaults Message-ID: <46EA3067.6050205@yahoo.co.uk> This doesn't seem to work for me, is it wring for me to expect it to? descriptionBelow ^ PRStructureDescription new default: [ PRCurrentContext value ifNotNilDo: [ :c | c kernel root ] ] asDynamicObject; selectorAccessor: #target; priority: 50; beSetting; yourself thanks in advance Keith From renggli at iam.unibe.ch Fri Sep 14 09:01:29 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 14 Sep 2007 09:01:29 +0200 Subject: CurrentContext in description defaults In-Reply-To: <46EA3067.6050205@yahoo.co.uk> References: <46EA3067.6050205@yahoo.co.uk> Message-ID: <8B9917F4-BE6A-48A1-8585-9FB787010943@iam.unibe.ch> > This doesn't seem to work for me, is it wring for me to expect it to? - What do you expect it to do? - What do you get instead? Sorry, I don't understand your question. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From keith_hodges at yahoo.co.uk Fri Sep 14 09:42:36 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 14 Sep 2007 08:42:36 +0100 Subject: CurrentContext in description defaults In-Reply-To: <8B9917F4-BE6A-48A1-8585-9FB787010943@iam.unibe.ch> References: <46EA3067.6050205@yahoo.co.uk> <8B9917F4-BE6A-48A1-8585-9FB787010943@iam.unibe.ch> Message-ID: <46EA3B6C.4070404@yahoo.co.uk> Lukas Renggli wrote: >> This doesn't seem to work for me, is it wring for me to expect it to? >> > > - What do you expect it to do? > - What do you get instead? > > Sorry, I don't understand your question. > > Lukas > erm... I get never ending conflict errors when editing the components settings. Keith From renggli at iam.unibe.ch Fri Sep 14 09:58:19 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 14 Sep 2007 09:58:19 +0200 Subject: CurrentContext in description defaults In-Reply-To: <46EA3B6C.4070404@yahoo.co.uk> References: <46EA3067.6050205@yahoo.co.uk> <8B9917F4-BE6A-48A1-8585-9FB787010943@iam.unibe.ch> <46EA3B6C.4070404@yahoo.co.uk> Message-ID: >>> This doesn't seem to work for me, is it wring for me to expect it >>> to? >>> >> >> - What do you expect it to do? >> - What do you get instead? >> >> Sorry, I don't understand your question. >> >> Lukas >> > erm... > > I get never ending conflict errors when editing the components > settings. Ahh. I copied your description to my image and editing works. I don't get any conflicts. Could it be that your #target accessor does not return consistent results when being called? E.g. it is necessary that aStructure target = aStructure target. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From keith_hodges at yahoo.co.uk Fri Sep 14 10:15:50 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 14 Sep 2007 09:15:50 +0100 Subject: CurrentContext in description defaults In-Reply-To: References: <46EA3067.6050205@yahoo.co.uk> <8B9917F4-BE6A-48A1-8585-9FB787010943@iam.unibe.ch> <46EA3B6C.4070404@yahoo.co.uk> Message-ID: <46EA4336.9020605@yahoo.co.uk> Lukas Renggli wrote: >>>> This doesn't seem to work for me, is it wring for me to expect it >>>> to? >>>> >>>> >>> - What do you expect it to do? >>> - What do you get instead? >>> >>> Sorry, I don't understand your question. >>> >>> Lukas >>> >>> >> erm... >> >> I get never ending conflict errors when editing the components >> settings. >> > > Ahh. I copied your description to my image and editing works. I don't > get any conflicts. > > Could it be that your #target accessor does not return consistent > results when being called? E.g. it is necessary that aStructure > target = aStructure target. > > Lukas > My target accessor is simply, target ^ self read: #descriptionBelow so I am none the wiser. Keith From renggli at iam.unibe.ch Fri Sep 14 11:01:05 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 14 Sep 2007 11:01:05 +0200 Subject: CurrentContext in description defaults In-Reply-To: <46EA4336.9020605@yahoo.co.uk> References: <46EA3067.6050205@yahoo.co.uk> <8B9917F4-BE6A-48A1-8585-9FB787010943@iam.unibe.ch> <46EA3B6C.4070404@yahoo.co.uk> <46EA4336.9020605@yahoo.co.uk> Message-ID: <1C5DF953-2B9F-4C6E-8AF8-BE919E8604DF@iam.unibe.ch> Fixed in: Name: Pier-Seaside-lr.206 Author: lr Time: 14 September 2007, 10:59:05 am UUID: ebe8b395-1ae3-4224-990d-4e3ce271eaae Ancestors: Pier-Seaside-lr.205 - make sure to resolve dynamic proxies in PRComponent (thanks to Keith Hodges for reporting) Lukas On 14 Sep 2007, at 10:15, Keith Hodges wrote: > Lukas Renggli wrote: >>>>> This doesn't seem to work for me, is it wring for me to expect it >>>>> to? >>>>> >>>>> >>>> - What do you expect it to do? >>>> - What do you get instead? >>>> >>>> Sorry, I don't understand your question. >>>> >>>> Lukas >>>> >>>> >>> erm... >>> >>> I get never ending conflict errors when editing the components >>> settings. >>> >> >> Ahh. I copied your description to my image and editing works. I don't >> get any conflicts. >> >> Could it be that your #target accessor does not return consistent >> results when being called? E.g. it is necessary that aStructure >> target = aStructure target. >> >> Lukas >> > My target accessor is simply, > > target > ^ self read: #descriptionBelow > > so I am none the wiser. > > Keith > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Lukas Renggli http://www.lukas-renggli.ch From keith_hodges at yahoo.co.uk Fri Sep 14 11:22:49 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 14 Sep 2007 10:22:49 +0100 Subject: CurrentContext in description defaults In-Reply-To: <1C5DF953-2B9F-4C6E-8AF8-BE919E8604DF@iam.unibe.ch> References: <46EA3067.6050205@yahoo.co.uk> <8B9917F4-BE6A-48A1-8585-9FB787010943@iam.unibe.ch> <46EA3B6C.4070404@yahoo.co.uk> <46EA4336.9020605@yahoo.co.uk> <1C5DF953-2B9F-4C6E-8AF8-BE919E8604DF@iam.unibe.ch> Message-ID: <46EA52E9.3030705@yahoo.co.uk> loading the latest Pier-Model I get Keith --- 14 September 2007 2:21:37 am VM: Win32 - a SmalltalkImage Image: Squeak3.10beta [latest update: #7137] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir D:\Squeak\ws Trusted Dir D:\Squeak\ws\administrator Untrusted Dir C:\My Squeak\administrator PRCompatibility class(Object)>>doesNotUnderstand: #allSubInstancesOf:do: Receiver: PRCompatibility Arguments and temporary variables: aMessage: allSubInstancesOf: PRLink do: [] in PRMigrations class>>migrateLinkPa...etc... Receiver's instance variables: superclass: MACompatibility methodDict: a MethodDictionary() format: 2 instanceVariables: nil organization: ('as yet unclassified') subclasses: nil name: #PRCompatibility classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Pier-Model-Core' traitComposition: {} localSelectors: nil PRMigrations class>>migrateLinkParameters Receiver: PRMigrations Arguments and temporary variables: each: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary() format: 2 instanceVariables: nil organization: ('as yet unclassified') subclasses: nil name: #PRMigrations classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Pier-Model-Core' traitComposition: {} localSelectors: nil PRMigrations class>>initialize Receiver: PRMigrations Arguments and temporary variables: Receiver's instance variables: superclass: Object methodDict: a MethodDictionary() format: 2 instanceVariables: nil organization: ('as yet unclassified') subclasses: nil name: #PRMigrations classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Pier-Model-Core' traitComposition: {} localSelectors: nil MCMethodInitializerDefinition>>postinstall Receiver: a MCMethodInitializerDefinition(PRMigrations class>>initialize{initialization}) Arguments and temporary variables: Receiver's instance variables: classIsMeta: true source: 'initialize self migrateLinkParameters' category: #initialization selector: #initialize className: #PRMigrations timeStamp: 'lr 8/27/2007 10:19' methodAndNode: a CompiledMethodWithNode requestor: nil compiledMethod: a CompiledMethod (3848) priorMethodOrNil: nil compiledSelector: #initialize properties: an IdentityDictionary() isInstalled: nil priorMethodCategory: nil theClass: PRMigrations class defnToInstall: a MCMethodInitializerDefinition(PRMigrations class>>initialize{i...etc... From keith_hodges at yahoo.co.uk Fri Sep 14 11:27:19 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 14 Sep 2007 10:27:19 +0100 Subject: I just did that! arg! Message-ID: <46EA53F7.4030308@yahoo.co.uk> never mind eh! Name: Pier-Seaside-lr.201 Author: lr Time: 12 September 2007, 11:15:01 pm UUID: dc85224a-30ee-4a23-8b96-d8abeb04061b Ancestors: Pier-Seaside-lr.200 - added a simple tag cloud component From keith_hodges at yahoo.co.uk Fri Sep 14 11:34:17 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 14 Sep 2007 10:34:17 +0100 Subject: settings vunerable to changes Message-ID: <46EA5599.5000707@yahoo.co.uk> I have found it difficult to change the settings descriptions for existing components. In case you are interested I added this to help Keith ---- PRWidget-readUsing: aDescription ^ self properties at: aDescription ifAbsent: [ self properties keysAndValuesDo: [ :k :v | (k accessor selector = aDescription accessor selector) ifTrue: [ ^v ]. (k label = aDescription label) ifTrue: [ ^ v ]. ]. aDescription default yourself ] From keith_hodges at yahoo.co.uk Fri Sep 14 12:10:39 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 14 Sep 2007 11:10:39 +0100 Subject: Migration needed Message-ID: <46EA5E1F.9050005@yahoo.co.uk> Existing PRContents widgets get upset due to uninitialized beenHere instVar Keith From keith_hodges at yahoo.co.uk Fri Sep 14 12:25:51 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 14 Sep 2007 11:25:51 +0100 Subject: Tag Cloud Message-ID: <46EA61AF.7060002@yahoo.co.uk> I guess I am gifted at breaking things. It appears that the Tag Cloud treats tags with hyphens in as separate words. I am not sure if this is a standard Tag Cloud-ism Keith From renggli at iam.unibe.ch Fri Sep 14 13:25:31 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 14 Sep 2007 13:25:31 +0200 Subject: CurrentContext in description defaults In-Reply-To: <46EA52E9.3030705@yahoo.co.uk> References: <46EA3067.6050205@yahoo.co.uk> <8B9917F4-BE6A-48A1-8585-9FB787010943@iam.unibe.ch> <46EA3B6C.4070404@yahoo.co.uk> <46EA4336.9020605@yahoo.co.uk> <1C5DF953-2B9F-4C6E-8AF8-BE919E8604DF@iam.unibe.ch> <46EA52E9.3030705@yahoo.co.uk> Message-ID: You have to update Magritte first. On 14 Sep 2007, at 11:22, Keith Hodges wrote: > loading the latest Pier-Model I get > > Keith > > --- > > 14 September 2007 2:21:37 am > > VM: Win32 - a SmalltalkImage > Image: Squeak3.10beta [latest update: #7137] > > SecurityManager state: > Restricted: false > FileAccess: true > SocketAccess: true > Working Dir D:\Squeak\ws > Trusted Dir D:\Squeak\ws\administrator > Untrusted Dir C:\My Squeak\administrator > > PRCompatibility class(Object)>>doesNotUnderstand: > #allSubInstancesOf:do: > Receiver: PRCompatibility > Arguments and temporary variables: > aMessage: allSubInstancesOf: PRLink do: [] in PRMigrations > class>>migrateLinkPa...etc... > Receiver's instance variables: > superclass: MACompatibility > methodDict: a MethodDictionary() > format: 2 > instanceVariables: nil > organization: ('as yet unclassified') > > subclasses: nil > name: #PRCompatibility > classPool: nil > sharedPools: nil > environment: a SystemDictionary(lots of globals) > category: #'Pier-Model-Core' > traitComposition: {} > localSelectors: nil > > PRMigrations class>>migrateLinkParameters > Receiver: PRMigrations > Arguments and temporary variables: > each: nil > Receiver's instance variables: > superclass: Object > methodDict: a MethodDictionary() > format: 2 > instanceVariables: nil > organization: ('as yet unclassified') > > subclasses: nil > name: #PRMigrations > classPool: nil > sharedPools: nil > environment: a SystemDictionary(lots of globals) > category: #'Pier-Model-Core' > traitComposition: {} > localSelectors: nil > > PRMigrations class>>initialize > Receiver: PRMigrations > Arguments and temporary variables: > > Receiver's instance variables: > superclass: Object > methodDict: a MethodDictionary() > format: 2 > instanceVariables: nil > organization: ('as yet unclassified') > > subclasses: nil > name: #PRMigrations > classPool: nil > sharedPools: nil > environment: a SystemDictionary(lots of globals) > category: #'Pier-Model-Core' > traitComposition: {} > localSelectors: nil > > MCMethodInitializerDefinition>>postinstall > Receiver: a MCMethodInitializerDefinition(PRMigrations > class>>initialize{initialization}) > Arguments and temporary variables: > > Receiver's instance variables: > classIsMeta: true > source: 'initialize > self migrateLinkParameters' > category: #initialization > selector: #initialize > className: #PRMigrations > timeStamp: 'lr 8/27/2007 10:19' > methodAndNode: a CompiledMethodWithNode > requestor: nil > compiledMethod: a CompiledMethod (3848) > priorMethodOrNil: nil > compiledSelector: #initialize > properties: an IdentityDictionary() > isInstalled: nil > priorMethodCategory: nil > theClass: PRMigrations class > defnToInstall: a MCMethodInitializerDefinition > (PRMigrations > class>>initialize{i...etc... > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Fri Sep 14 13:28:57 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 14 Sep 2007 13:28:57 +0200 Subject: settings vunerable to changes In-Reply-To: <46EA5599.5000707@yahoo.co.uk> References: <46EA5599.5000707@yahoo.co.uk> Message-ID: <02A75184-B974-4D1F-B1FF-AD99037D1CFD@iam.unibe.ch> > I have found it difficult to change the settings descriptions for > existing components. > > In case you are interested I added this to help I don't know what you mean by changing the settings descriptions? If you want to customize or disable descriptions from an extension you can do it the standard way: Foo class>>descriptionFoo (in the original package) ^ MADescription ... Foo class>>descriptionFooExtension: aDescription (in your extension, shares the same prefix as the original method) ^ aDescription changeSomething Lukas > > Keith > > ---- > > PRWidget-readUsing: aDescription > ^ self properties at: aDescription ifAbsent: [ > > self properties keysAndValuesDo: [ :k :v | > > (k accessor selector = aDescription accessor selector) > ifTrue: [ ^v ]. > (k label = aDescription label) ifTrue: [ ^ v ]. > ]. > > aDescription default yourself > ] > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Fri Sep 14 13:29:15 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 14 Sep 2007 13:29:15 +0200 Subject: Migration needed In-Reply-To: <46EA5E1F.9050005@yahoo.co.uk> References: <46EA5E1F.9050005@yahoo.co.uk> Message-ID: <0DB98842-F9B9-4056-9B0B-A522B210ED7C@iam.unibe.ch> You need to start a new session. On 14 Sep 2007, at 12:10, Keith Hodges wrote: > Existing PRContents widgets get upset due to uninitialized beenHere > instVar > > Keith > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Fri Sep 14 13:31:46 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 14 Sep 2007 13:31:46 +0200 Subject: Tag Cloud In-Reply-To: <46EA61AF.7060002@yahoo.co.uk> References: <46EA61AF.7060002@yahoo.co.uk> Message-ID: <05246B97-0BF7-4E76-8571-0F60D7E90817@iam.unibe.ch> > I guess I am gifted at breaking things. It appears that the Tag Cloud > treats tags with hyphens in as separate words. > I am not sure if this is a standard Tag Cloud-ism I don't know. I don't even do stemming. I just take all the consecutive alpha characters and consider this as a word. Then I use list of stop-words that get removed from the resulting list. Btw, I moved the tag-cloud widget from Pier-Seaside into its own package at: http://source.lukas-renggli.ch/pieraddons Lukas -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Fri Sep 14 13:39:51 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 14 Sep 2007 13:39:51 +0200 Subject: Tag Cloud In-Reply-To: <05246B97-0BF7-4E76-8571-0F60D7E90817@iam.unibe.ch> References: <46EA61AF.7060002@yahoo.co.uk> <05246B97-0BF7-4E76-8571-0F60D7E90817@iam.unibe.ch> Message-ID: <609AD582-8A24-4A35-B289-1F2EE0B17D37@iam.unibe.ch> Fixed in: Name: Pier-TagCloud-lr.3 Author: lr Time: 14 September 2007, 1:39:34 pm UUID: 7c35e0f2-160a-494a-b340-a91132dcdb5b Ancestors: Pier-TagCloud-lr.2 - allow hyphens within words On 14 Sep 2007, at 13:31, Lukas Renggli wrote: >> I guess I am gifted at breaking things. It appears that the Tag Cloud >> treats tags with hyphens in as separate words. >> I am not sure if this is a standard Tag Cloud-ism > > I don't know. I don't even do stemming. I just take all the > consecutive alpha characters and consider this as a word. Then I use > list of stop-words that get removed from the resulting list. > > Btw, I moved the tag-cloud widget from Pier-Seaside into its own > package at: > > http://source.lukas-renggli.ch/pieraddons > > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Lukas Renggli http://www.lukas-renggli.ch From keith_hodges at yahoo.co.uk Mon Sep 17 17:47:53 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Mon, 17 Sep 2007 16:47:53 +0100 Subject: scriptaculousification of the list composition component Message-ID: <46EEA1A9.6060703@yahoo.co.uk> I posted a version of the list composition component which uses scriptaculous to the http://mc.lukas.renggli.ch/pieraddons repository. The code works but I am not conviced it is entirely the correct/best way to do it. cheers Keith p.s. Also, I am unable to access the magritteaddons repository, but pieraddons is fine. Does anyone else have the same problem? From philippe.marschall at gmail.com Mon Sep 17 18:29:00 2007 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Mon, 17 Sep 2007 18:29:00 +0200 Subject: scriptaculousification of the list composition component In-Reply-To: <46EEA1A9.6060703@yahoo.co.uk> References: <46EEA1A9.6060703@yahoo.co.uk> Message-ID: <66666f210709170929m443458b0qadceba6f5b14eddb@mail.gmail.com> 2007/9/17, Keith Hodges : > I posted a version of the list composition component which uses > scriptaculous to the http://mc.lukas.renggli.ch/pieraddons repository. > > The code works but I am not conviced it is entirely the correct/best way > to do it. > > cheers > > Keith > > > p.s. Also, I am unable to access the magritteaddons repository, but > pieraddons is fine. Does anyone else have the same problem? Yes. > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > From cnantais at gmail.com Mon Sep 17 21:11:50 2007 From: cnantais at gmail.com (cnantais) Date: Mon, 17 Sep 2007 12:11:50 -0700 (PDT) Subject: Remove colon after description label Message-ID: <12743130.post@talk.nabble.com> How do I stop the colon from automatically appearing after the label string in Magritte forms? Chad -- View this message in context: http://www.nabble.com/Remove-colon-after-description-label-tf4469358.html#a12743130 Sent from the SmallWiki mailing list archive at Nabble.com. From renggli at iam.unibe.ch Mon Sep 17 22:41:41 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Mon, 17 Sep 2007 22:41:41 +0200 Subject: Remove colon after description label In-Reply-To: <12743130.post@talk.nabble.com> References: <12743130.post@talk.nabble.com> Message-ID: > How do I stop the colon from automatically appearing after the > label string > in Magritte forms? MATableRenderer adds the colon #renderLabel: You can for example use a different renderer class. To start with patching the default Magritte rendering class is probably fine too. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From brian at murphydye.com Tue Sep 18 00:15:07 2007 From: brian at murphydye.com (Brian Murphy-Dye) Date: Mon, 17 Sep 2007 16:15:07 -0600 Subject: PRHtmlWriter? In-Reply-To: <4EAB8943-E111-4C28-A7AE-D5FEEB4094F8@cox.net> References: <4EAB8943-E111-4C28-A7AE-D5FEEB4094F8@cox.net> Message-ID: Is there a way to translate a Pier document to html? For example, PRWikiWriter write: (PRDocumentParser parse: '!Hello World') translates into the original Pier document. Is there something like PRHtmlWriter that would translate the above into '

Hello World

'? Thanks, Brian. From renggli at iam.unibe.ch Tue Sep 18 08:10:24 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 18 Sep 2007 08:10:24 +0200 Subject: PRHtmlWriter? In-Reply-To: References: <4EAB8943-E111-4C28-A7AE-D5FEEB4094F8@cox.net> Message-ID: > Is there a way to translate a Pier document to html? For example, > > PRWikiWriter write: (PRDocumentParser parse: '!Hello World') > > translates into the original Pier document. Is there something like > PRHtmlWriter that would translate the above into '

Hello World h1>'? r := PRViewRenderer new. d := WAHtmlStreamDocument new. d stream: String new writeStream. r renderer: (WAStaticHtmlCanvas document: d). r start: (PRDocumentParser parse: '!Hello World'). d stream contents This only works as long as you don't have anchors and other interactions that require a full Seaside renderer. If you need a more sophisticated plain HTML renderer, then it is probably worth to write your own Visitor class. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From damien.pollet at gmail.com Tue Sep 18 10:34:32 2007 From: damien.pollet at gmail.com (Damien Pollet) Date: Tue, 18 Sep 2007 10:34:32 +0200 Subject: PRHtmlWriter? In-Reply-To: References: <4EAB8943-E111-4C28-A7AE-D5FEEB4094F8@cox.net> Message-ID: <34b4844b0709180134l4f3662fdwe44798b44cb93ee2@mail.gmail.com> On 18/09/2007, Lukas Renggli wrote: > > Is there a way to translate a Pier document to html? For example, > This only works as long as you don't have anchors and other > interactions that require a full Seaside renderer. If you need a more > sophisticated plain HTML renderer, then it is probably worth to write > your own Visitor class. Hi Brian, Last year ond of our students did precisely that as a project. Have a look at http://www.squeaksource.com/StaticPierGen.html -- Damien Pollet type less, do more [ | ] http://typo.cdlm.fasmz.org From brian at murphydye.com Tue Sep 18 16:56:52 2007 From: brian at murphydye.com (Brian Murphy-Dye) Date: Tue, 18 Sep 2007 08:56:52 -0600 Subject: PRHtmlWriter? In-Reply-To: <34b4844b0709180134l4f3662fdwe44798b44cb93ee2@mail.gmail.com> References: <4EAB8943-E111-4C28-A7AE-D5FEEB4094F8@cox.net> <34b4844b0709180134l4f3662fdwe44798b44cb93ee2@mail.gmail.com> Message-ID: Thanks Lukas and Damien, StaticPierGen looks like just the tool I need; however, am having trouble with this line in SPGStructureVisitor>>initialize: currentDirectory := Cwd / 'staticPier'. Cwd appears to be a global intended to be the current working directory, but FileDirectory doesn't have a #/ method. Any hints on what Cwd is? Thanks in advance, Brian. On Sep 18, 2007, at 2:34 AM, Damien Pollet wrote: > On 18/09/2007, Lukas Renggli wrote: >>> Is there a way to translate a Pier document to html? For example, >> This only works as long as you don't have anchors and other >> interactions that require a full Seaside renderer. If you need a more >> sophisticated plain HTML renderer, then it is probably worth to write >> your own Visitor class. > > Hi Brian, > > Last year ond of our students did precisely that as a project. Have > a look at > http://www.squeaksource.com/StaticPierGen.html > > -- > Damien Pollet > type less, do more [ | ] http://typo.cdlm.fasmz.org > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From damien.pollet at gmail.com Tue Sep 18 17:43:28 2007 From: damien.pollet at gmail.com (Damien Pollet) Date: Tue, 18 Sep 2007 17:43:28 +0200 Subject: PRHtmlWriter? In-Reply-To: References: <4EAB8943-E111-4C28-A7AE-D5FEEB4094F8@cox.net> <34b4844b0709180134l4f3662fdwe44798b44cb93ee2@mail.gmail.com> Message-ID: <34b4844b0709180843s2e2802bbw259f86f8283da276@mail.gmail.com> On 18/09/2007, Brian Murphy-Dye wrote: > Cwd appears to be a global intended to be the current working > directory, but FileDirectory doesn't have a #/ method. Any hints on > what Cwd is? That's Rio, also available from SqueakSource. It's a library for files inspired from Ruby. > On Sep 18, 2007, at 2:34 AM, Damien Pollet wrote: > > > On 18/09/2007, Lukas Renggli wrote: > >>> Is there a way to translate a Pier document to html? For example, > >> This only works as long as you don't have anchors and other > >> interactions that require a full Seaside renderer. If you need a more > >> sophisticated plain HTML renderer, then it is probably worth to write > >> your own Visitor class. > > > > Hi Brian, > > > > Last year ond of our students did precisely that as a project. Have > > a look at > > http://www.squeaksource.com/StaticPierGen.html > > > > -- > > Damien Pollet > > type less, do more [ | ] http://typo.cdlm.fasmz.org > > > > > _______________________________________________ > > SmallWiki, Magritte, Pier and Related Tools ... > > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > -- Damien Pollet type less, do more [ | ] http://typo.cdlm.fasmz.org From keith_hodges at yahoo.co.uk Tue Sep 18 19:14:57 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Tue, 18 Sep 2007 18:14:57 +0100 Subject: Magritte bug? Message-ID: <46F00791.1060904@yahoo.co.uk> I find MAWriter-visitReferenceDescription: anObject self visitElementDescription: anObject should that be? MAWriter-visitReferenceDescription: anObject self visitElementDescription: anObject reference Keith From renggli at iam.unibe.ch Tue Sep 18 19:27:09 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 18 Sep 2007 19:27:09 +0200 Subject: Magritte bug? In-Reply-To: <46F00791.1060904@yahoo.co.uk> References: <46F00791.1060904@yahoo.co.uk> Message-ID: > I find > > MAWriter-visitReferenceDescription: anObject > self visitElementDescription: anObject > > should that be? > > MAWriter-visitReferenceDescription: anObject > self visitElementDescription: anObject reference No, MAWriter is an abstract class inheriting this method from MAVisitor. The code is the default behavior of the visitor without any interpretation. MAStringWriter, a subclass of MAWriter, changes this for example to: MAStringWriter>>visitToOneRelationDescription: aDescription self visit: self object description Lukas -- Lukas Renggli http://www.lukas-renggli.ch From keith_hodges at yahoo.co.uk Tue Sep 18 19:31:02 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Tue, 18 Sep 2007 18:31:02 +0100 Subject: Magritte bug? In-Reply-To: <46F00791.1060904@yahoo.co.uk> References: <46F00791.1060904@yahoo.co.uk> Message-ID: <46F00B56.6000105@yahoo.co.uk> Keith Hodges wrote: > I find > > MAWriter-visitReferenceDescription: anObject > self visitElementDescription: anObject > > should that be? > > MAWriter-visitReferenceDescription: anObject > self visitElementDescription: anObject reference > > > Keith > Ok, thats not quite correct. I am trying to get an MASingleOptionDescription to write out its values according to its reference deescription Keith From keith_hodges at yahoo.co.uk Tue Sep 18 20:24:03 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Tue, 18 Sep 2007 19:24:03 +0100 Subject: Magritte bug? In-Reply-To: <46F00B56.6000105@yahoo.co.uk> References: <46F00791.1060904@yahoo.co.uk> <46F00B56.6000105@yahoo.co.uk> Message-ID: <46F017C3.7070305@yahoo.co.uk> Keith Hodges wrote: > Keith Hodges wrote: > >> I find >> >> MAWriter-visitReferenceDescription: anObject >> self visitElementDescription: anObject >> >> should that be? >> >> MAWriter-visitReferenceDescription: anObject >> self visitElementDescription: anObject reference >> >> >> Keith >> >> > Ok, thats not quite correct. > > I am trying to get an MASingleOptionDescription to write out its values > according to its reference deescription > > Keith > Which it does, unless you happen to set your default to something odd. I was attempting to set the default of a MASingleOptionDescription using a dynamic object. Keith From keith_hodges at yahoo.co.uk Thu Sep 20 16:07:20 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Thu, 20 Sep 2007 15:07:20 +0100 Subject: scriptaculousification of the list composition component In-Reply-To: <46EEA1A9.6060703@yahoo.co.uk> References: <46EEA1A9.6060703@yahoo.co.uk> Message-ID: <46F27E98.5080608@yahoo.co.uk> Keith Hodges wrote: > I posted a version of the list composition component which uses scriptaculous to the http://mc.lukas.renggli.ch/pieraddons repository. > package: Magritte-Scriptaculous Thanks to Lukas' help this component now works very well. Keith From norbert at hartl.name Thu Sep 20 16:21:45 2007 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 20 Sep 2007 16:21:45 +0200 Subject: componentclass for a subset of descriptions Message-ID: <1190298105.4504.10.camel@localhost> Hi, I have an Object which has descriptions for: Route - name - text - track - locations I need to edit track and locations at the same time. That means I want to have a componentclass for those two fields. Usually this would be an extra object containing of those two. But I like to avoid to build an extra class just to be able to edit the fields separate. Is there a way to arrange the descriptions to accomplish that? I tried to build two subsets of the Route descriptions (name, text) and (route,track). But it isn't possible to add the one container to the other, or is it? thanks in advance, Norbert From renggli at iam.unibe.ch Thu Sep 20 16:39:25 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Thu, 20 Sep 2007 16:39:25 +0200 Subject: componentclass for a subset of descriptions In-Reply-To: <1190298105.4504.10.camel@localhost> References: <1190298105.4504.10.camel@localhost> Message-ID: > Is there a way to arrange the descriptions to accomplish > that? I tried to build two subsets of the Route descriptions > (name, text) and (route,track). But it isn't possible to > add the one container to the other, or is it? I don't think I fully understand your question. It is possible to embed containers into each other by using MAInternalEditorComponent instead of the default MAExternalEditorComponent. There is an example in the tutorial at at MAPersonModel class>>#descriptionOfficeAddress and #descriptionHomeAddress. Hope this helps? Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ramon.leon at allresnet.com Thu Sep 20 16:42:44 2007 From: ramon.leon at allresnet.com (Ramon Leon) Date: Thu, 20 Sep 2007 07:42:44 -0700 Subject: componentclass for a subset of descriptions In-Reply-To: <1190298105.4504.10.camel@localhost> References: <1190298105.4504.10.camel@localhost> Message-ID: <02f501c7fb94$81ad0540$c1fda8c0@hq.allresnet.com> > -----Original Message----- > From: smallwiki-bounces at iam.unibe.ch > [mailto:smallwiki-bounces at iam.unibe.ch] On Behalf Of Norbert Hartl > Sent: Thursday, September 20, 2007 7:22 AM > To: Smallwiki List > Subject: componentclass for a subset of descriptions > > Hi, > > I have an Object which has descriptions for: > > Route > - name > - text > - track > - locations > > I need to edit track and locations at the same time. That > means I want to have a componentclass for those two fields. > Usually this would be an extra object containing of those > two. But I like to avoid to build an extra class just to be > able to edit the fields separate. > > Is there a way to arrange the descriptions to accomplish > that? I tried to build two subsets of the Route descriptions > (name, text) and (route,track). But it isn't possible to add > the one container to the other, or is it? > > thanks in advance, > > Norbert http://onsmalltalk.com/programming/smalltalk/using-magritte-with-seaside/ From renggli at iam.unibe.ch Thu Sep 20 16:51:52 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Thu, 20 Sep 2007 16:51:52 +0200 Subject: Magritte book In-Reply-To: <08E42E90-CAD7-45EA-8E5C-26F181E0E922@iam.unibe.ch> References: <46CE081C.2040006@cyberhaus.us> <08E42E90-CAD7-45EA-8E5C-26F181E0E922@iam.unibe.ch> Message-ID: >> I know this is asking a lot. But I also hate to ask Lukas to do >> all of the work by himself. > > I also thought about the need of updating the documentation, > however I have to check with the University in what form this is > possible. I will do that when I am back from ESUG. Ping me in case > I forget. I finally checked with the university. There is no problem to open- source the thesis, as I own the full copyright and can do with it whatever I want. > The sources are all in LaTeX. The documentation in the back is > automatically built from the class and method comments, but I don't > know if this is useful at all? Would it make sense to release it under the Creative Commons Attribution-Noncommercial-Share Alike [1] license? Lukas [1] http://creativecommons.org/licenses/by-nc-sa/3.0/ -- Lukas Renggli http://www.lukas-renggli.ch From matthias.berth at googlemail.com Thu Sep 20 17:10:24 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Thu, 20 Sep 2007 17:10:24 +0200 Subject: Magritte book In-Reply-To: References: <46CE081C.2040006@cyberhaus.us> <08E42E90-CAD7-45EA-8E5C-26F181E0E922@iam.unibe.ch> Message-ID: <9aa6ae270709200810t4ed39511v89650420edafb259@mail.gmail.com> Hi Lukas, Creative Commons Attribution-Noncommercial-Share Alike would be fine with me. AFAIK, Pier is under MIT style license, so the documentation in the back would have to mention that as well. Having current class and method comments as part of the book is very valuable IMHO. heers Matthias On 9/20/07, Lukas Renggli wrote: > > > Would it make sense to release it under the Creative Commons > Attribution-Noncommercial-Share Alike [1] license? > > Lukas > > [1] http://creativecommons.org/licenses/by-nc-sa/3.0/ > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > From norbert at hartl.name Thu Sep 20 17:15:14 2007 From: norbert at hartl.name (Norbert Hartl) Date: Thu, 20 Sep 2007 17:15:14 +0200 Subject: componentclass for a subset of descriptions In-Reply-To: References: <1190298105.4504.10.camel@localhost> Message-ID: <1190301314.4504.27.camel@localhost> On Thu, 2007-09-20 at 16:39 +0200, Lukas Renggli wrote: > > Is there a way to arrange the descriptions to accomplish > > that? I tried to build two subsets of the Route descriptions > > (name, text) and (route,track). But it isn't possible to > > add the one container to the other, or is it? > > I don't think I fully understand your question. > > It is possible to embed containers into each other by using > MAInternalEditorComponent instead of the default > MAExternalEditorComponent. There is an example in the tutorial at > at MAPersonModel > class>>#descriptionOfficeAddress and #descriptionHomeAddress. > > Hope this helps? > Ok, sorry, I was to unclear on that point. I have only one class Route which contains the four descriptions (name, text, track and location). Usually this would lead to four MAElementComponents with each having access to one of the fields. What I need is that track and locations appear as one description in order to get a componentclass which has access to both fields. The longer I think about it the more stupid it appears :) This would lead to something like having two times the same object inside a form where each componentclass accesses different selectors. Ok, I think I need a new approach. Norbert From keith_hodges at yahoo.co.uk Thu Sep 20 19:29:10 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Thu, 20 Sep 2007 18:29:10 +0100 Subject: scriptaculousification of the list composition component In-Reply-To: <46F27E98.5080608@yahoo.co.uk> References: <46EEA1A9.6060703@yahoo.co.uk> <46F27E98.5080608@yahoo.co.uk> Message-ID: <46F2ADE6.7090108@yahoo.co.uk> Keith Hodges wrote: > Keith Hodges wrote: > >> I posted a version of the list composition component which uses scriptaculous to the http://mc.lukas.renggli.ch/pieraddons repository. >> >> > package: Magritte-Scriptaculous > > Thanks to Lukas' help this component now works very well. > or so I thought.... Keith From keith_hodges at yahoo.co.uk Thu Sep 20 20:22:29 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Thu, 20 Sep 2007 19:22:29 +0100 Subject: [bug] ? Message-ID: <46F2BA65.1000102@yahoo.co.uk> I am attempting to add labels to an MASingleOptionDescription. as in: descriptionImprintChooser ^MASingleOptionDescription new auto: 'imprint'; options: [ PRCurrentContext value currentUserImprints ] asDynamicObject; propertyAt: #labels put: [ ... build a dictionary here ... ] asDynamicObject; label: 'Imprint'; priority: 140; bePersisted; yourself however I suspect that an addition of "yourself" is needed for this to work: MAOptionDescription-labelForOption: anObject self propertyAt: #labels ifPresent: [ :labels | labels /yourself/ at: anObject ifPresent: [ :value | ^ value ] ]. ^ self reference toString: anObject Instead I chose to implement the above by supplying a selector whch can be performed on the object to obtain its label... labelForOption: anObject self propertyAt: #labelSelector ifPresent: [ :selector | ^ anObject perform: #labelSelector ]. self propertyAt: #labels ifPresent: [ :labels | labels yourself at: anObject ifPresent: [ :value | ^ value ] ]. ^ self reference toString: anObject cheers Keith From keith_hodges at yahoo.co.uk Fri Sep 21 07:17:32 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 21 Sep 2007 06:17:32 +0100 Subject: Magritte to Relational DB Message-ID: <46F353EC.1090404@yahoo.co.uk> Dear All, I have been using magritte with MySql for a while. Today I discovered that something more than basic type coercion is needed for writing values described by MASingleOptionDescription's to the database, since the type is defined its #reference: . This led me to finally understand why MAStringWriter and MAStringReader are implemented as visitors. So... I figured that the task of coercing data types into and out of databases is going to be a common problem, and so I have begun a framework for doing this (properly?). http://source.lukas-renggli.ch/magritteaddons2 -- since magritteaddons is still inaccessible (lukas?) The basic scheme so far is to define visitor based reader/writers for database interfaces to use for coercion. These reader/writers are not instanciated for every value read/written, but may last the lifetime of a query (or longer) according to how the db interface makes use of them. For efficiency they also cache a single string reader and a writer for frequent re-use. I have also included a MAPriceDescription for good measure. I have got a fair bit of higher level stuff working with MySQL, but I suspect that it is not yet generic enough to be part of this framework yet. I have also posted my version of the MySql Driver which has been hacked up a bit to handle both mysql versions > 4.1 and < 4.1 If anyone finds this useful or would like to contribute their infinite db know-how please let me know. best regards Keith From renggli at iam.unibe.ch Fri Sep 21 09:39:30 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 21 Sep 2007 09:39:30 +0200 Subject: Magritte to Relational DB In-Reply-To: <46F353EC.1090404@yahoo.co.uk> References: <46F353EC.1090404@yahoo.co.uk> Message-ID: <91B8AFEC-10FE-4F93-B89D-7D0814850EAF@iam.unibe.ch> > http://source.lukas-renggli.ch/magritteaddons2 -- since > magritteaddons > is still inaccessible (lukas?) It should work again. It looked like a dictionary needed a re-hashing in the image. Very strange :-/ Lukas -- Lukas Renggli http://www.lukas-renggli.ch From philippe.marschall at gmail.com Fri Sep 21 11:23:17 2007 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Fri, 21 Sep 2007 11:23:17 +0200 Subject: Magritte to Relational DB In-Reply-To: <91B8AFEC-10FE-4F93-B89D-7D0814850EAF@iam.unibe.ch> References: <46F353EC.1090404@yahoo.co.uk> <91B8AFEC-10FE-4F93-B89D-7D0814850EAF@iam.unibe.ch> Message-ID: <66666f210709210223o6d1b1199x6a97e92b4128644a@mail.gmail.com> 2007/9/21, Lukas Renggli : > > http://source.lukas-renggli.ch/magritteaddons2 -- since > > magritteaddons > > is still inaccessible (lukas?) > > It should work again. It looked like a dictionary needed a re-hashing > in the image. Very strange :-/ Concurrent modification? > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > From renggli at gmail.com Mon Sep 24 18:29:56 2007 From: renggli at gmail.com (Lukas Renggli) Date: Mon, 24 Sep 2007 18:29:56 +0200 Subject: Fwd: [ANN] Port of Pier to VW In-Reply-To: <46f7d16c.07a6420a.4389.ffff98dbSMTPIN_ADDED@mx.google.com> References: <46f7d16c.07a6420a.4389.ffff98dbSMTPIN_ADDED@mx.google.com> Message-ID: <67628d690709240929j9803609i8b521a6e17b5fbe8@mail.gmail.com> ---------- Forwarded message ---------- From: Niall Ross Date: Sep 24, 2007 4:56 PM Subject: [ANN] Port of Pier to VW To: vwnc at cs.uiuc.edu Cc: mbany at cincom.com, seaside-dev at lists.squeakfoundation.org, renggli at iam.unibe.ch, nfr at bigwig.net A first port of the Pier CMS framework from Squeak to VW is in the Cincom open repository: It prereqs Porting-Namespaces (any version should be OK) and requires compatible versions of Magritte and MagritteForVisualWorks (anything with '...CS12.NFR...' in the version name should be OK). This version ports Pier-Model-lr.150.mcz 24 April 2007 9:28:18 pm Pier-Seaside-lr.147.mcz 28 March 2007 10:04:08 Pier-Tests-lr.69.mcz 24 April 2007 9:25:44 Pier-Security-lr.80.mcz 24 April 2007 10:27:20 I will now get the latest Squeak version and port its changes likewise. The parent version holdes a raw port of the unmodified code (with 'broken' blessing level as it will not work in VW, nor load very well). The child version holds the corresponding VW-ized code. See the blessing comments for port details. I mention some points here to invite discussion. Handling duplicate class names ===================== Where Squeak and VW have duplicate class names (e.g. Date, Color or Time) that Seaside needs, the Seaside port creates subclasses of the preferred class in the target namespace, i.e. in Seaside, to get the correct resolution. With Magritte and Pier both importing Seaside, and other namespaces being added, this seemed to demand a plethora of same-name subclasses, one for each case in each new Squeak-importing namespace, so I am trying a new approach which has worked OK for me in other cases. I have made Magritte and Pier into FirstFoundNameSpaces (see Porting-Namespaces package) and reordered their imports so that the desired resolution of any clash is the one first found. This avoids both sides of the choice of either creating spurious subclasses or make spurious simpleName-to-fullName changes in ported code. (With some minor additions, not yet published, it also makes it a lot easier to load untransformed Squeak - or other single-namespace dialect - code into VW and get correct resolution of all superclass names in class definitions and of all class names in extension methods.) The point is that code from a single namespace dialect necessarily had the same resolution of each name, so a target VW namespace that offers each preferred resolution as the first-found one in all cases is always possible. (DefaultPackageNamespaces must be used in *-Extensions packages to get correct resolutions in extension methods.) Comments welcome re whether this is useful - while porting - in general . Set and Dictionary equality ================== (This must surely have been raised before, but my attempts to find relevant past posts in any appropriate list have drawn a blank.) Some Pier test assertions rely on Squeak's implementation of equality for Dictionaries and Sets, which also checks if their contents are equal. In VW, Dictionary and Set equality do not check equality of contents. Someone porting such code cannot provide the Squeak implementations as extensions since the base VW image does not like this, producing 'memory emergency' on various operations: I deduce that some VW Dictionaries and Sets have contents whose equality tests create circularities with this. I've therefore added Set>>=@ and Dictionary>>=@ to provide the Squeak implementations, as the easiest way to edit the failing assertions. I chose =@ thinking the @ would suggest 'is equal at (its various contents)'. I made it binary only because that makes it a little less work to rewrite the tests than with a keyword method. Comments welcome, both in general and re my choice of method name. Trivial common coding style remarks ======================== Most points are already known from Seaside and other ports. One that did not arise in Seaside or Magritte AFAIK is that sort/sort: returns the sorter, not the sorted collection, in VW so needs code like ... := ... sort ... changed to ... := ... sort ... ; yourself Writing sort-in-place code this way in Squeak would make for commonality when porting is expected. Since VW's class-side #raiseSignal is already common to both it and Squeak (or already ported to Squeak), I've used it to replace the #signal method (that it calls in Squeak) in Pier code, rather than add #signal to VW. Yours faithfully Niall Ross From renggli at gmail.com Mon Sep 24 18:40:13 2007 From: renggli at gmail.com (Lukas Renggli) Date: Mon, 24 Sep 2007 18:40:13 +0200 Subject: [ANN] Port of Pier to VW In-Reply-To: <46f7d16c.07a6420a.4389.ffff98dbSMTPIN_ADDED@mx.google.com> References: <46f7d16c.07a6420a.4389.ffff98dbSMTPIN_ADDED@mx.google.com> Message-ID: <67628d690709240940s344b784fs1ef4cc1bdc1b15d8@mail.gmail.com> Hi Niall, this is great news, thanks a lot for this effort. I will update the web-site of Pier. FYI: I also forwarded your mail to seaside at lists.squeakfoundation.org (the Seaside mailing list) and smallwiki at iam.unibe.ch (the Magritte/Pier mailing list). > Set and Dictionary equality > ================== This is a portability problem I should know from Seaside and Scriptaculous. I must admit that I didn't pay attention to that in Magritte/Pier. > emergency' on various operations: I deduce that some VW Dictionaries > and Sets have contents whose equality tests create circularities with > this. I've therefore added Set>>=@ and Dictionary>>=@ to provide the > Squeak implementations, as the easiest way to edit the failing > assertions. I chose =@ thinking the @ would suggest 'is equal at (its > various contents)'. I made it binary only because that makes it a > little less work to rewrite the tests than with a keyword method. Please give me a list of methods that rely on Set/Dictionary equality, so that I can fix the code in Magritte/Pier. I guess it would be easier to make the code more portable than having the porters to patch these methods? > Trivial common coding style remarks > ======================== > Most points are already known from Seaside and other ports. One that > did not arise in Seaside or Magritte AFAIK is that sort/sort: returns > the sorter, not the sorted collection, in VW so needs code like > ... := ... sort ... > changed to > ... := ... sort ... ; yourself > Writing sort-in-place code this way in Squeak would make for commonality > when porting is expected. Indeed, a well known problem, that should be easily fixable in Squeak as well. I assume that I can find all the occurrences of this problem by looking at the senders of #sort: ? > Since VW's class-side #raiseSignal is already common to both it and > Squeak (or already ported to Squeak), I've used it to replace the > #signal method (that it calls in Squeak) in Pier code, rather than add > #signal to VW. Mhh, another thing I should know. I will fix it as well. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From brian at murphydye.com Tue Sep 25 00:56:37 2007 From: brian at murphydye.com (Brian Murphy-Dye) Date: Mon, 24 Sep 2007 16:56:37 -0600 Subject: PRHtmlWriter? In-Reply-To: <34b4844b0709180843s2e2802bbw259f86f8283da276@mail.gmail.com> References: <4EAB8943-E111-4C28-A7AE-D5FEEB4094F8@cox.net> <34b4844b0709180134l4f3662fdwe44798b44cb93ee2@mail.gmail.com> <34b4844b0709180843s2e2802bbw259f86f8283da276@mail.gmail.com> Message-ID: <16FC6061-C7FB-4FAB-981E-24614E084EA4@murphydye.com> Ah, that's kind of cool for converting a whole pier content to static files, but my needs are more modest -- just converting one wiki page to an html string. Lukas' suggestion was pretty easy to get working. Also easily created a PRComment with markup of '//' to enable embedding comments into the wiki code. It's nice how easy it is to extend; will have find more time to experiment! Brian. On Sep 18, 2007, at 9:43 AM, Damien Pollet wrote: > On 18/09/2007, Brian Murphy-Dye wrote: >> Cwd appears to be a global intended to be the current working >> directory, but FileDirectory doesn't have a #/ method. Any hints on >> what Cwd is? > > That's Rio, also available from SqueakSource. > It's a library for files inspired from Ruby. > > >> On Sep 18, 2007, at 2:34 AM, Damien Pollet wrote: >> >>> On 18/09/2007, Lukas Renggli wrote: >>>>> Is there a way to translate a Pier document to html? For example, >>>> This only works as long as you don't have anchors and other >>>> interactions that require a full Seaside renderer. If you need a >>>> more >>>> sophisticated plain HTML renderer, then it is probably worth to >>>> write >>>> your own Visitor class. >>> >>> Hi Brian, >>> >>> Last year ond of our students did precisely that as a project. Have >>> a look at >>> http://www.squeaksource.com/StaticPierGen.html >>> >>> -- >>> Damien Pollet >>> type less, do more [ | ] http://typo.cdlm.fasmz.org >>> >> >>> _______________________________________________ >>> SmallWiki, Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> >> >> _______________________________________________ >> SmallWiki, Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> > > > -- > Damien Pollet > type less, do more [ | ] http://typo.cdlm.fasmz.org > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From matthias.berth at googlemail.com Tue Sep 25 12:22:41 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Tue, 25 Sep 2007 12:22:41 +0200 Subject: Pier: mixing wiki markup and raw html Message-ID: <9aa6ae270709250322q4c7f1514me1687f21f5b604ec@mail.gmail.com> Hello, I want to mix raw HTML into Pier wiki pages, mostly for laying out some parts inside
. For example I want to put a heading and some text inside a box, like so:
!Hello
Pier uses line breaks to start new paragraphs, so this gets rendered as:

Hello

I cannot put the
at the beginning of the line because the Pier parser would not detect the !Hello as a heading then (! has to be at the start of line). I guess that there will be no perfect solution for mixing HTML and wiki markup, but I'm willing to give it a try. Here are potential solutions I could see: - do a HTML escape (put and at the start of two lines) - a bit better: do html escape and use Piers textmatcher to resolve *internal links* and +embeddings+ - change the paragraph line break convention to what's used e.g. in TeX: paragraphs are separated by two or more newlines (roughly speaking). I'd love to hear your opinions, and maybe tips about possible implementation. Cheers Matthias From goran at krampe.se Tue Sep 25 13:34:26 2007 From: goran at krampe.se (=?iso-8859-1?Q?G=F6ran_Krampe?=) Date: Tue, 25 Sep 2007 13:34:26 +0200 (CEST) Subject: Using Pier for intranet Message-ID: <52905.217.73.15.6.1190720066.squirrel@webmail.krampe.se> Howdy list! We are considering moving our relatively small (250 pages) but steadily growing ComSwiki to Pier at MSC (formerly Toolkit Software). There are several reasons for picking Pier, but it is not yet totally decided. One obvious reason is that we have been looking at integrating Pier and Gjallar, so learning more about Pier is a good thing. We also like the fact that we can "hack it" etc since we know Squeak and so on. I have a few questions: - What persistency are people using? Saving the image now and then is not enough, we are considering using Magma (since we use it a lot in Gjallar) and are interested in any reports on that. - Compared to ComSwiki, what is *missing*? I know Pier has lots of *extras* but I am more concerned about stuff *not* there. The basics we really want are of course recent changes, access to older versions (diffing not required), search, references to this page, attachment handling (versions not needed). Might have missed something in that list of course. regards, G?ran From renggli at iam.unibe.ch Tue Sep 25 14:06:35 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 25 Sep 2007 14:06:35 +0200 Subject: Using Pier for intranet In-Reply-To: <52905.217.73.15.6.1190720066.squirrel@webmail.krampe.se> References: <52905.217.73.15.6.1190720066.squirrel@webmail.krampe.se> Message-ID: > - What persistency are people using? Saving the image now and then > is not > enough, we are considering using Magma (since we use it a lot in > Gjallar) > and are interested in any reports on that. All the web sites I know use the image for persistency (including seaside.st and my personal web site). There is nothing that prevents you from using Magma. There are even some extension published in the repositories, but I don't know how reliable they work, if they are used at all, what their performance is and if they are up-to-date. > - Compared to ComSwiki, what is *missing*? Pier is not a Wiki, but a CMS ;-) > I know Pier has lots of > *extras* but I am more concerned about stuff *not* there. The > basics we > really want are of course recent changes, access to older versions > (diffing not required) This used to be there, but got lost in the process. It would be easy to add again, but I personally never felt a strong need to have it. Maybe later tonight I will give a try to see if it still works ... > search, references to this page Yes. Yes. > attachment > handling (versions not needed). Yes, it is possible to upload files. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From matthias.berth at googlemail.com Tue Sep 25 19:09:18 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Tue, 25 Sep 2007 19:09:18 +0200 Subject: Pier: Help please - cannot embed / call WATask Message-ID: <9aa6ae270709251009q1b8d85cbs7596072c55312f43@mail.gmail.com> Hi, when I call: or embed a WATask, the main area of the Pier page shows nothing. It also remains empty when I go to other pages. I have also tried to embed the sushi store example, like so: - In the Pier menu use Add... component ...name: store, then choose "Store" from combobox - embed store in another page using +store+ Same problem. Both my code and the embedding of store work without problems in my older Pier image: Seaside2.7a1-pc.227 Magritte-Model-lr.279 Magritte-Seaside-lr.238 Pier-Model-lr.162 Pier-Seaside-lr.194 Pier-Security-mberth.88 The problem occurs in a newer image (derived from the sq3.9-7067dev07.09.1.image): Seaside2.7a1-pc.227 Magritte-Model-lr.283 Magritte-Seaside-lr.238 Pier-Model-lr.168 Pier-Seaside-lr.207 Pier-Security-mberth.92 What can I do? Cheers Matthias From renggli at iam.unibe.ch Tue Sep 25 19:41:58 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 25 Sep 2007 19:41:58 +0200 Subject: Pier: Help please - cannot embed / call WATask In-Reply-To: <9aa6ae270709251009q1b8d85cbs7596072c55312f43@mail.gmail.com> References: <9aa6ae270709251009q1b8d85cbs7596072c55312f43@mail.gmail.com> Message-ID: <07003051-4D79-45E9-B14D-14FFC5314736@iam.unibe.ch> > when I call: or embed a WATask, the main area of the Pier page shows > nothing. It also remains empty when I go to other pages. I have also > tried to embed the sushi store example, like so: > > - In the Pier menu use Add... component ...name: store, then choose > "Store" from combobox > - embed store in another page using +store+ It works in my image. > The problem occurs in a newer image (derived from the > sq3.9-7067dev07.09.1.image): > > Seaside2.7a1-pc.227 > Magritte-Model-lr.283 > Magritte-Seaside-lr.238 > Pier-Model-lr.168 > Pier-Seaside-lr.207 > Pier-Security-mberth.92 I use the same configuration but together with Seaside 2.8. > What can I do? I guess that you problem comes from the fact that Seaside 2.8 backtracks state different to earlier versions. I suggest that you start from a clean image (not a dev image, the last time I tried it didn't work) and load Pier using SqueakMap. This will pull in a working configuration of Kom, Seaside, Magritte and Pier. You can then safely update to the latest versions of these packages. Hope this helps? Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ducasse at iam.unibe.ch Tue Sep 25 20:21:56 2007 From: ducasse at iam.unibe.ch (=?ISO-8859-1?Q?st=E9phane_ducasse?=) Date: Tue, 25 Sep 2007 20:21:56 +0200 Subject: Using Pier for intranet In-Reply-To: References: <52905.217.73.15.6.1190720066.squirrel@webmail.krampe.se> Message-ID: By the way lukas do not forget the esug deal to support the enhancement of pier :) Stef On 25 sept. 07, at 14:06, Lukas Renggli wrote: >> - What persistency are people using? Saving the image now and then >> is not >> enough, we are considering using Magma (since we use it a lot in >> Gjallar) >> and are interested in any reports on that. > > All the web sites I know use the image for persistency (including > seaside.st and my personal web site). There is nothing that prevents > you from using Magma. There are even some extension published in the > repositories, but I don't know how reliable they work, if they are > used at all, what their performance is and if they are up-to-date. > >> - Compared to ComSwiki, what is *missing*? > > Pier is not a Wiki, but a CMS ;-) > >> I know Pier has lots of >> *extras* but I am more concerned about stuff *not* there. The >> basics we >> really want are of course recent changes, access to older versions >> (diffing not required) > > This used to be there, but got lost in the process. It would be easy > to add again, but I personally never felt a strong need to have it. > Maybe later tonight I will give a try to see if it still works ... > >> search, references to this page > > Yes. Yes. > >> attachment >> handling (versions not needed). > > Yes, it is possible to upload files. > > Cheers, > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki From keith_hodges at yahoo.co.uk Wed Sep 26 18:21:28 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Wed, 26 Sep 2007 17:21:28 +0100 Subject: scriptaculousification of the list composition component In-Reply-To: <46F2ADE6.7090108@yahoo.co.uk> References: <46EEA1A9.6060703@yahoo.co.uk> <46F27E98.5080608@yahoo.co.uk> <46F2ADE6.7090108@yahoo.co.uk> Message-ID: <46FA8708.1030201@yahoo.co.uk> Scriptaculous version of the list composition component. Name: Magritte-Scriptaculous-kph.3 Author: kph Time: 26 September 2007, 5:19:43 pm UUID: 4ab01fa4-6c4c-11dc-8fa1-000a95edb42a Ancestors: Magritte-Scriptaculous-kph.2 - finally it works its in http://source.lukas-renggli.ch/magritteaddons Keith From matthias.berth at googlemail.com Wed Sep 26 18:54:34 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Wed, 26 Sep 2007 18:54:34 +0200 Subject: Pier: Help please - cannot embed / call WATask In-Reply-To: <07003051-4D79-45E9-B14D-14FFC5314736@iam.unibe.ch> References: <9aa6ae270709251009q1b8d85cbs7596072c55312f43@mail.gmail.com> <07003051-4D79-45E9-B14D-14FFC5314736@iam.unibe.ch> Message-ID: <9aa6ae270709260954j21b94241wc32de251dd516c6@mail.gmail.com> Hi Lukas, thanks for the hints. I started from Squeak3.9-final-7067 and installed Pier from SqueakMap. Embedding of WATask works , THANKS :-) A small problem remains: Some unit tests for Pier give errors, complaining about BlockContext>>sunitOn:do: not being there. I have tried to install www.squeaksource.com/Testing but could not find that method in any of the packages. Likewise with the 3.10 beta image: no #sunitOn:do: method there :-( So, where did you get that? FWIW: As you said, getting Seaside 2.8 via the Universe did not work. I tried to go from Seaside 2.7 to 2.8 in my existing image, squeak spinned at 100% CPU near the end of the install, Alt-. did not help. Using REPL and utils rebootMorphic brought me to Parser>>interactive not understood, there I was stuck. Cheers Matthias On 9/25/07, Lukas Renggli wrote: > > when I call: or embed a WATask, the main area of the Pier page shows > > nothing. It also remains empty when I go to other pages. I have also > > tried to embed the sushi store example, like so: > > > > - In the Pier menu use Add... component ...name: store, then choose > > "Store" from combobox > > - embed store in another page using +store+ > > It works in my image. > [...] > I suggest that you start from a clean image (not a dev image, the > last time I tried it didn't work) and load Pier using SqueakMap. This > will pull in a working configuration of Kom, Seaside, Magritte and > Pier. You can then safely update to the latest versions of these > packages. > > Hope this helps? > From renggli at iam.unibe.ch Wed Sep 26 20:25:03 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Wed, 26 Sep 2007 20:25:03 +0200 Subject: Pier: Help please - cannot embed / call WATask In-Reply-To: <9aa6ae270709260954j21b94241wc32de251dd516c6@mail.gmail.com> References: <9aa6ae270709251009q1b8d85cbs7596072c55312f43@mail.gmail.com> <07003051-4D79-45E9-B14D-14FFC5314736@iam.unibe.ch> <9aa6ae270709260954j21b94241wc32de251dd516c6@mail.gmail.com> Message-ID: <4BF9BF2A-116B-4F3B-B5E3-518FF508FD23@iam.unibe.ch> > A small problem remains: Some unit tests for Pier give errors, > complaining about BlockContext>>sunitOn:do: not being there. I have > tried to install www.squeaksource.com/Testing but could not find that > method in any of the packages. Likewise with the 3.10 beta image: no > #sunitOn:do: method there :-( So, where did you get that? It looks like you are on a very old version of Pier. Did you update SqueakMap before loading the package? > FWIW: As you said, getting Seaside 2.8 via the Universe did not work. > I tried to go from Seaside 2.7 to 2.8 in my existing image, squeak > spinned at 100% CPU near the end of the install, Alt-. did not help. > Using REPL and utils rebootMorphic brought me to Parser>>interactive > not understood, there I was stuck. Updating from Seaside 2.7 to Seaside 2.8 is tricky. Follow the instructions on the web-site, if you really want to do this. http://www.seaside.st/documentation/migration Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Thu Sep 27 10:56:14 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Thu, 27 Sep 2007 10:56:14 +0200 Subject: PRHider Message-ID: <41EDE0D7-53B5-47A1-8199-8BD9D1FFF23D@iam.unibe.ch> Hi All, in the latest commit of Pier I removed the PRHider. This class was sort of obsolete and added a lot of complexity to different parts of the code. It is easier to use a security plugin to hide particular structures. Before loading the latest version make sure that you don't have any instances of PRHider in your model. PRHider allInstancesDo: [ :ea | ea remove ] I assume that nobody will have any of these instances in their model, unless you added them manually from an inspector. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From matthias.berth at googlemail.com Thu Sep 27 19:25:47 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Thu, 27 Sep 2007 19:25:47 +0200 Subject: Pier: Help please - cannot embed / call WATask In-Reply-To: <4BF9BF2A-116B-4F3B-B5E3-518FF508FD23@iam.unibe.ch> References: <9aa6ae270709251009q1b8d85cbs7596072c55312f43@mail.gmail.com> <07003051-4D79-45E9-B14D-14FFC5314736@iam.unibe.ch> <9aa6ae270709260954j21b94241wc32de251dd516c6@mail.gmail.com> <4BF9BF2A-116B-4F3B-B5E3-518FF508FD23@iam.unibe.ch> Message-ID: <9aa6ae270709271025u48fabf0fid8f43ba6758ce0f9@mail.gmail.com> Hi Lukas, I'm happy to report that everything works fine now with Seaside 2.8 and the latest Magritte / Pier, starting from a Squeak 3.9 standard image. . On 9/26/07, Lukas Renggli wrote: > > A small problem remains: Some unit tests for Pier give errors, > > complaining about BlockContext>>sunitOn:do: [...] > > It looks like you are on a very old version of Pier. Did you update > SqueakMap before loading the package? Exactly! That was the problem. > > FWIW: As you said, getting Seaside 2.8 via the Universe did not work. > > I tried to go from Seaside 2.7 to 2.8 in my existing image, squeak > > [...] > > Updating from Seaside 2.7 to Seaside 2.8 is tricky. I rebuilt my configuration from scratch, using Installer scripts. I guess I'll try to go from standard squeak 3.9 to full Pier / Magritte again to make sure it works. It's a pity that I could not get this to run using Package Universe. Thanks again Matthias From renggli at iam.unibe.ch Thu Sep 27 20:08:22 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Thu, 27 Sep 2007 20:08:22 +0200 Subject: Pier: Help please - cannot embed / call WATask In-Reply-To: <9aa6ae270709271025u48fabf0fid8f43ba6758ce0f9@mail.gmail.com> References: <9aa6ae270709251009q1b8d85cbs7596072c55312f43@mail.gmail.com> <07003051-4D79-45E9-B14D-14FFC5314736@iam.unibe.ch> <9aa6ae270709260954j21b94241wc32de251dd516c6@mail.gmail.com> <4BF9BF2A-116B-4F3B-B5E3-518FF508FD23@iam.unibe.ch> <9aa6ae270709271025u48fabf0fid8f43ba6758ce0f9@mail.gmail.com> Message-ID: <4577F54E-59DF-4334-9252-D96E4AE87536@iam.unibe.ch> >>> FWIW: As you said, getting Seaside 2.8 via the Universe did not >>> work. >>> I tried to go from Seaside 2.7 to 2.8 in my existing image, squeak >>> [...] >> >> Updating from Seaside 2.7 to Seaside 2.8 is tricky. > > I rebuilt my configuration from scratch, using Installer scripts. I > guess I'll try to go from standard squeak 3.9 to full Pier / Magritte > again to make sure it works. It's a pity that I could not get this to > run using Package Universe. I just updated the Package Universe Definitions for Seaside, Magritte and Pier (and several of its plugins). I did not have the time to test it yet (dependencies), so I am looking for people that are willing to try and report problems ;-) Lukas -- Lukas Renggli http://www.lukas-renggli.ch -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 3774 bytes Desc: not available Url : http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070927/3abc4463/smime.bin From matthias.berth at googlemail.com Thu Sep 27 21:34:40 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Thu, 27 Sep 2007 21:34:40 +0200 Subject: Installing a current Pier version using Package Universe (was: Re: Pier: Help please - cannot embed / call WATask) Message-ID: <9aa6ae270709271234t2747b35ep95cc04f3abbcb11a@mail.gmail.com> Hi Lukas, I'm glad when I can help you, though I'm afraid it's just a little help ;-) From start to first problem it was just a few seconds: - start sq3.9-7067dev07.09.1.image using the current squeak 3.10 VM - open Package Universe - select Squeak web packages version 0.1 - press the "select package" button --> this gives a Warning: could not find necessary package: Pier I guess it's due to the splitting of Pier into several packages, so there is no global package "Pier" in the universe? The comment in the Universe browser says: snip------- Abstract package that only depends on other packages. This packages are used to build a squeak distribution for developers. Category: Web Development Depends on: Squeak dev packages Pier Scriptaculous Seaside Maintained by: Damien Cassou Downloads from: (no url) Homepage: http://damien.cassou.free.fr/ snip----------- So, what can we do? I'll go try the same thing on the clean 3.9 image immediately. Cheers Matthias PS: Yes, I updated the package list from the network this time ;-) On 9/27/07, Lukas Renggli wrote: > I just updated the Package Universe Definitions for Seaside, Magritte > and Pier (and several of its plugins). I did not have the time to > test it yet (dependencies), so I am looking for people that are > willing to try and report problems ;-) > > Lukas From renggli at iam.unibe.ch Thu Sep 27 21:51:53 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Thu, 27 Sep 2007 21:51:53 +0200 Subject: Installing a current Pier version using Package Universe (was: Re: Pier: Help please - cannot embed / call WATask) In-Reply-To: <9aa6ae270709271234t2747b35ep95cc04f3abbcb11a@mail.gmail.com> References: <9aa6ae270709271234t2747b35ep95cc04f3abbcb11a@mail.gmail.com> Message-ID: <6AA96680-4487-4E1D-A1FA-4E59A3811603@iam.unibe.ch> > - select Squeak web packages version 0.1 > - press the "select package" button I see. The problem is that I don't maintain this package that has some unresolveable dependencies due to some renamings. Please try loading 'Pier-Security' or 'Pier-Seaside', that should actually work and pull in all the necessary dependencies. Lukas > > --> this gives a Warning: could not find necessary package: Pier > > I guess it's due to the splitting of Pier into several packages, so > there is no global package "Pier" in the universe? The comment in the > Universe browser says: > > snip------- > Abstract package that only depends on other packages. This packages > are used to build a squeak distribution for developers. > > Category: Web Development > Depends on: > Squeak dev packages > Pier > Scriptaculous > Seaside > > Maintained by: Damien Cassou > Downloads from: (no url) > Homepage: http://damien.cassou.free.fr/ > snip----------- > > So, what can we do? > > I'll go try the same thing on the clean 3.9 image immediately. > > Cheers > > Matthias > > > PS: Yes, I updated the package list from the network this time ;-) > > > > On 9/27/07, Lukas Renggli wrote: >> I just updated the Package Universe Definitions for Seaside, Magritte >> and Pier (and several of its plugins). I did not have the time to >> test it yet (dependencies), so I am looking for people that are >> willing to try and report problems ;-) >> >> Lukas > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Lukas Renggli http://www.lukas-renggli.ch -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 3774 bytes Desc: not available Url : http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070927/b7bd35e7/smime-0001.bin From matthias.berth at googlemail.com Thu Sep 27 23:22:24 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Thu, 27 Sep 2007 23:22:24 +0200 Subject: Installing a current Pier version using Package Universe (was: Re: Pier: Help please - cannot embed / call WATask) In-Reply-To: <6AA96680-4487-4E1D-A1FA-4E59A3811603@iam.unibe.ch> References: <9aa6ae270709271234t2747b35ep95cc04f3abbcb11a@mail.gmail.com> <6AA96680-4487-4E1D-A1FA-4E59A3811603@iam.unibe.ch> Message-ID: <9aa6ae270709271422v4ab6df39sae7d35beab8b6b6c@mail.gmail.com> OK, it works on the clean 3.9 image: - start Squeak3.9-final-7067.image using the current squeak 3.10 VM - open Squeak Map . Update map from the net :-) - install YAXO - Install Universes - open Package Universe Browser - update list from network - install package Pier-Seaside I've played a bit around with Pier, it works. AND it works on the dev image ! - start sq3.9-7067dev07.09.1.image using the current squeak 3.10 VM - open Package Universe - update list from network - install package Pier-Seaside So far I saw no problems. Cheers Matthias PS: For my production image, I think I'll stay with my Installer script, because that is nearly 100% automated. On 9/27/07, Lukas Renggli wrote: > > - select Squeak web packages version 0.1 > > - press the "select package" button > > I see. The problem is that I don't maintain this package that has > some unresolveable dependencies due to some renamings. > > Please try loading 'Pier-Security' or 'Pier-Seaside', that should > actually work and pull in all the necessary dependencies. > > Lukas > > > > > > --> this gives a Warning: could not find necessary package: Pier > > > > I guess it's due to the splitting of Pier into several packages, so > > there is no global package "Pier" in the universe? The comment in the > > Universe browser says: > > > > snip------- > > Abstract package that only depends on other packages. This packages > > are used to build a squeak distribution for developers. > > > > Category: Web Development > > Depends on: > > Squeak dev packages > > Pier > > Scriptaculous > > Seaside > > > > Maintained by: Damien Cassou > > Downloads from: (no url) > > Homepage: http://damien.cassou.free.fr/ > > snip----------- > > > > So, what can we do? > > > > I'll go try the same thing on the clean 3.9 image immediately. > > > > Cheers > > > > Matthias > > > > > > PS: Yes, I updated the package list from the network this time ;-) > > > > > > > > On 9/27/07, Lukas Renggli wrote: > >> I just updated the Package Universe Definitions for Seaside, Magritte > >> and Pier (and several of its plugins). I did not have the time to > >> test it yet (dependencies), so I am looking for people that are > >> willing to try and report problems ;-) > >> > >> Lukas > > > > _______________________________________________ > > SmallWiki, Magritte, Pier and Related Tools ... > > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > From matthias.berth at googlemail.com Thu Sep 27 23:35:39 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Thu, 27 Sep 2007 23:35:39 +0200 Subject: Updating Squeak web packages in the universe Message-ID: <9aa6ae270709271435j4b6f216q708127e0305169c0@mail.gmail.com> Hi Damien, we've just established that the basic components of the squeak web section in the squeak-dev package universe (how can I find out which universe I'm in at the moment?) should work. However there is a problem with packge 'Pier' not being found. I'd propose to create a package called Pier that includes (depends on): Pier-Seaside Pier-Security Pier-Blog That Pier package could then be referenced by the squeak web packages. Description for the Pier package: Pier is a powerful and extensible content management and Wiki system. URL: http://www.lukas-renggli.ch/smalltalk/pier Cheers Matthias From keith_hodges at yahoo.co.uk Fri Sep 28 03:27:15 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 28 Sep 2007 02:27:15 +0100 Subject: PRHider In-Reply-To: <41EDE0D7-53B5-47A1-8199-8BD9D1FFF23D@iam.unibe.ch> References: <41EDE0D7-53B5-47A1-8199-8BD9D1FFF23D@iam.unibe.ch> Message-ID: <46FC5873.40405@yahoo.co.uk> > PRHider allInstancesDo: [ :ea | ea remove ] > > I assume that nobody will have any of these instances in their model, > unless you added them manually from an inspector. > > Cheers, > Lukas > > A couple of suggestions. How about MAExternalFileModel using class instance vars rather than Class Pool Vars to aid subclasses which have different directories. I notice that #buildChildren calls #componentsOf: twice and is the only caller. Both methods call withContext: [] Keith From keith_hodges at yahoo.co.uk Fri Sep 28 05:23:17 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 28 Sep 2007 04:23:17 +0100 Subject: External File Model In-Reply-To: <46FC5873.40405@yahoo.co.uk> References: <41EDE0D7-53B5-47A1-8199-8BD9D1FFF23D@iam.unibe.ch> <46FC5873.40405@yahoo.co.uk> Message-ID: <46FC73A5.5030705@yahoo.co.uk> Hi there Lukas, I am trying to work out why the MAExternalFileModel does what it does the way it does it. could you please explain Keith From renggli at iam.unibe.ch Fri Sep 28 07:30:31 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 28 Sep 2007 07:30:31 +0200 Subject: Installing a current Pier version using Package Universe (was: Re: Pier: Help please - cannot embed / call WATask) In-Reply-To: <9aa6ae270709271422v4ab6df39sae7d35beab8b6b6c@mail.gmail.com> References: <9aa6ae270709271234t2747b35ep95cc04f3abbcb11a@mail.gmail.com> <6AA96680-4487-4E1D-A1FA-4E59A3811603@iam.unibe.ch> <9aa6ae270709271422v4ab6df39sae7d35beab8b6b6c@mail.gmail.com> Message-ID: <42E2FF2A-B881-4E16-AACB-C4BF782F3CFF@iam.unibe.ch> > PS: For my production image, I think I'll stay with my Installer > script, because that is nearly 100% automated. Is it on the Squeak Wiki? Maybe you want to add it there? http://wiki.squeak.org/squeak/742 Lukas > > > > On 9/27/07, Lukas Renggli wrote: >>> - select Squeak web packages version 0.1 >>> - press the "select package" button >> >> I see. The problem is that I don't maintain this package that has >> some unresolveable dependencies due to some renamings. >> >> Please try loading 'Pier-Security' or 'Pier-Seaside', that should >> actually work and pull in all the necessary dependencies. >> >> Lukas >> >> >>> >>> --> this gives a Warning: could not find necessary package: Pier >>> >>> I guess it's due to the splitting of Pier into several packages, so >>> there is no global package "Pier" in the universe? The comment in >>> the >>> Universe browser says: >>> >>> snip------- >>> Abstract package that only depends on other packages. This packages >>> are used to build a squeak distribution for developers. >>> >>> Category: Web Development >>> Depends on: >>> Squeak dev packages >>> Pier >>> Scriptaculous >>> Seaside >>> >>> Maintained by: Damien Cassou >>> Downloads from: (no url) >>> Homepage: http://damien.cassou.free.fr/ >>> snip----------- >>> >>> So, what can we do? >>> >>> I'll go try the same thing on the clean 3.9 image immediately. >>> >>> Cheers >>> >>> Matthias >>> >>> >>> PS: Yes, I updated the package list from the network this time ;-) >>> >>> >>> >>> On 9/27/07, Lukas Renggli wrote: >>>> I just updated the Package Universe Definitions for Seaside, >>>> Magritte >>>> and Pier (and several of its plugins). I did not have the time to >>>> test it yet (dependencies), so I am looking for people that are >>>> willing to try and report problems ;-) >>>> >>>> Lukas >>> >>> _______________________________________________ >>> SmallWiki, Magritte, Pier and Related Tools ... >>> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> >> -- >> Lukas Renggli >> http://www.lukas-renggli.ch >> >> >> >> _______________________________________________ >> SmallWiki, Magritte, Pier and Related Tools ... >> https://www.iam.unibe.ch/mailman/listinfo/smallwiki >> >> > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Lukas Renggli http://www.lukas-renggli.ch -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 3774 bytes Desc: not available Url : http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070928/4662ca1f/smime.bin From renggli at iam.unibe.ch Fri Sep 28 07:41:45 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 28 Sep 2007 07:41:45 +0200 Subject: PRHider In-Reply-To: <46FC5873.40405@yahoo.co.uk> References: <41EDE0D7-53B5-47A1-8199-8BD9D1FFF23D@iam.unibe.ch> <46FC5873.40405@yahoo.co.uk> Message-ID: <76AAB47B-BD84-48CE-8447-2EFA26DADF30@iam.unibe.ch> > How about MAExternalFileModel using class instance vars rather than > Class Pool Vars to aid subclasses which have different directories. This is true. I will have to change the class variables to class instance variables. > I notice that #buildChildren calls #componentsOf: twice and is the > only caller. Both methods call withContext: [] Yes, but with different arguments ;-) One for the environment and one for the current page. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 3774 bytes Desc: not available Url : http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070928/a0ad79b8/smime-0001.bin From renggli at iam.unibe.ch Fri Sep 28 08:02:39 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 28 Sep 2007 08:02:39 +0200 Subject: External File Model In-Reply-To: <46FC73A5.5030705@yahoo.co.uk> References: <41EDE0D7-53B5-47A1-8199-8BD9D1FFF23D@iam.unibe.ch> <46FC5873.40405@yahoo.co.uk> <46FC73A5.5030705@yahoo.co.uk> Message-ID: <4AD24E35-3DA5-4079-B75D-7F12A6067FDD@iam.unibe.ch> > I am trying to work out why the MAExternalFileModel does what it > does the way it does it. There are different file-models that you can use with Magritte. The idea is that you set the #kind: of an MAFileDescription to one of the subclasses of MAFileModel. Earlier versions of Magritte used MAMemoryFileModel and kept all the data within a ByteArray in the memory. This is not really practicable for bigger files. MAMexternalFileModel tries to solve this problem. It manages the files on the file-system. From the programmer this looks the same as if the file would be in memory, as it is loaded and written out as necessary. - The #baseDirectory is the place where Magritte puts its file- database. Keep this value to nil to make it default to a subdirectory next to the Squeak image. (also check the method comment) - #baseUrl is a nice optimization to allow Apache (or any other Web Server) to directly serve the files. The #baseUrl is an absolute URL that is used to generate the path to the file. If you have one specified the file data does not go trough the image anymore, but instead is directly served trough the Web Server (assuming that you have a propre setup). Now you might wonder why the files are in directories like the following one? /files/9d/bsy8kyp45g0q7blphknk48zujap2wd/earthmap1k.jpg 1 2 3 4 (1) Is the #baseDirectory as specified in the settings. (2) Are 256 directories named '00' to 'FF' to avoid having thousands of files in the same directory. Unfortunately this leads to problems with the Squeak file primitives and some filesystems don't handle that well. This part is generated at random. (3) This is a secure id, similar to the Seaside session key. It is generated at random and provides sort of a security system that even works trough Apache (you have to disable directory listings of course): if you don't know the file-name you cannot access the file. (4) This is the original file-name. In the future there will be other cached versions of the file be stored there, for example resized images, etc. HTH, Lukas problems with filesystems and Squeak if there are thous So first of all > > could you please explain > > Keith > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Lukas Renggli http://www.lukas-renggli.ch -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 3774 bytes Desc: not available Url : http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070928/a4961268/smime.bin From renggli at iam.unibe.ch Fri Sep 28 08:15:45 2007 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 28 Sep 2007 08:15:45 +0200 Subject: PRHider In-Reply-To: <76AAB47B-BD84-48CE-8447-2EFA26DADF30@iam.unibe.ch> References: <41EDE0D7-53B5-47A1-8199-8BD9D1FFF23D@iam.unibe.ch> <46FC5873.40405@yahoo.co.uk> <76AAB47B-BD84-48CE-8447-2EFA26DADF30@iam.unibe.ch> Message-ID: Name: Magritte-All-lr.243 Author: lr Time: 28 September 2007, 8:15:11 am UUID: a7c84a0d-a311-4358-a2f7-71c202eda9bb Ancestors: Magritte-All-lr.242 Dependencies: Magritte-Model-lr.289, Magritte-Tests-lr.122, Magritte- Seaside-lr.243, Magritte-Morph-lr.38 - MAExternalFileModel - changed class variables to class instance variables - added some more documentation (from the mailing list) On 28 Sep 2007, at 07:41, Lukas Renggli wrote: >> How about MAExternalFileModel using class instance vars rather >> than Class Pool Vars to aid subclasses which have different >> directories. > > This is true. I will have to change the class variables to class > instance variables. > >> I notice that #buildChildren calls #componentsOf: twice and is the >> only caller. Both methods call withContext: [] > > Yes, but with different arguments ;-) > > One for the environment and one for the current page. > > Cheers, > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki -- Lukas Renggli http://www.lukas-renggli.ch -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 3774 bytes Desc: not available Url : http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20070928/a7370ba4/smime.bin From keith_hodges at yahoo.co.uk Fri Sep 28 08:30:35 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 28 Sep 2007 07:30:35 +0100 Subject: PRHider In-Reply-To: <76AAB47B-BD84-48CE-8447-2EFA26DADF30@iam.unibe.ch> References: <41EDE0D7-53B5-47A1-8199-8BD9D1FFF23D@iam.unibe.ch> <46FC5873.40405@yahoo.co.uk> <76AAB47B-BD84-48CE-8447-2EFA26DADF30@iam.unibe.ch> Message-ID: <46FC9F8B.6070603@yahoo.co.uk> Lukas Renggli wrote: >> How about MAExternalFileModel using class instance vars rather than >> Class Pool Vars to aid subclasses which have different directories. > > This is true. I will have to change the class variables to class > instance variables. > >> I notice that #buildChildren calls #componentsOf: twice and is the >> only caller. Both methods call withContext: [] > > Yes, but with different arguments ;-) > > One for the environment and one for the current page. > > Cheers, > Lukas self withContextDo: [] - is called in #buildChildren and in all of the methods #buildChildren calls or is being up all night getting to me? Keith also, how about: MAFileUploadComponent-remove remove self value ifNotNilDo: [ :fileModel | fileModel delete ]. self value: nil (and at least a dummy #delete method on MAFileModel) for those file models which handle removal. From keith_hodges at yahoo.co.uk Fri Sep 28 08:37:25 2007 From: keith_hodges at yahoo.co.uk (Keith Hodges) Date: Fri, 28 Sep 2007 07:37:25 +0100 Subject: External File Model In-Reply-To: <4AD24E35-3DA5-4079-B75D-7F12A6067FDD@iam.unibe.ch> References: <41EDE0D7-53B5-47A1-8199-8BD9D1FFF23D@iam.unibe.ch> <46FC5873.40405@yahoo.co.uk> <46FC73A5.5030705@yahoo.co.uk> <4AD24E35-3DA5-4079-B75D-7F12A6067FDD@iam.unibe.ch> Message-ID: <46FCA125.6010001@yahoo.co.uk> > > Now you might wonder why the files are in directories like the > following one? > I might > Thanks for the detailed explanation. I knew there was some logical reason for it. Keith From matthias.berth at googlemail.com Fri Sep 28 15:04:45 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Fri, 28 Sep 2007 15:04:45 +0200 Subject: About Pier on the Universe In-Reply-To: <6ac749c10709280100q602e67c9r4420ea3fb3d8d9f3@mail.gmail.com> References: <6ac749c10709280100q602e67c9r4420ea3fb3d8d9f3@mail.gmail.com> Message-ID: <9aa6ae270709280604j26a6e466p9400bacf95113070@mail.gmail.com> On 9/28/07, Damien Cassou wrote: > Hi Matthias, > > I'm not responsible for Seaside-related packages on the universe > anymore. Please ask Lukas Renggli about that. > > Thank you THANK YOU, Damien, for all the work you put into the squeak dev image and the other projects. The squeak dev image has really helped me in getting started and in getting a stable configuration to build on. Not to mention the nice things like eCompletion etc that made my life so much easier. Some of these packages were unknown to me before I saw the squeak dev image. Making things easy for beginners is not trivial, and you do a great job, Matthias From matthias.berth at googlemail.com Fri Sep 28 16:08:16 2007 From: matthias.berth at googlemail.com (Matthias Berth) Date: Fri, 28 Sep 2007 16:08:16 +0200 Subject: Installing a current Pier version using Package Universe (was: Re: Pier: Help please - cannot embed / call WATask) In-Reply-To: <42E2FF2A-B881-4E16-AACB-C4BF782F3CFF@iam.unibe.ch> References: <9aa6ae270709271234t2747b35ep95cc04f3abbcb11a@mail.gmail.com> <6AA96680-4487-4E1D-A1FA-4E59A3811603@iam.unibe.ch> <9aa6ae270709271422v4ab6df39sae7d35beab8b6b6c@mail.gmail.com> <42E2FF2A-B881-4E16-AACB-C4BF782F3CFF@iam.unibe.ch> Message-ID: <9aa6ae270709280708g4cb33367sac0b39d68925ebe0@mail.gmail.com> On 9/28/07, Lukas Renggli wrote: > > PS: For my production image, I think I'll stay with my Installer > > script, because that is nearly 100% automated. > > Is it on the Squeak Wiki? Maybe you want to add it there? > > http://wiki.squeak.org/squeak/742 I've added it, comments welcome: http://wiki.squeak.org/squeak/PierInstallerScript From jason.johnson.081 at gmail.com Sat Sep 29 21:05:43 2007 From: jason.johnson.081 at gmail.com (Jason Johnson) Date: Sat, 29 Sep 2007 21:05:43 +0200 Subject: Pier: Help please - cannot embed / call WATask In-Reply-To: <07003051-4D79-45E9-B14D-14FFC5314736@iam.unibe.ch> References: <9aa6ae270709251009q1b8d85cbs7596072c55312f43@mail.gmail.com> <07003051-4D79-45E9-B14D-14FFC5314736@iam.unibe.ch> Message-ID: On 9/25/07, Lukas Renggli wrote: > I suggest that you start from a clean image (not a dev image, the > last time I tried it didn't work) That's funny, I downloaded the Squeak-web-dev image before I went on vacation and just tried it due to this email and I was able to embed the store inside pier on the first try. The only thing I see is that it seems overly slow. From jason.johnson.081 at gmail.com Sat Sep 29 21:09:19 2007 From: jason.johnson.081 at gmail.com (Jason Johnson) Date: Sat, 29 Sep 2007 21:09:19 +0200 Subject: Installing a current Pier version using Package Universe (was: Re: Pier: Help please - cannot embed / call WATask) In-Reply-To: <6AA96680-4487-4E1D-A1FA-4E59A3811603@iam.unibe.ch> References: <9aa6ae270709271234t2747b35ep95cc04f3abbcb11a@mail.gmail.com> <6AA96680-4487-4E1D-A1FA-4E59A3811603@iam.unibe.ch> Message-ID: I wonder what the source of the complexity is here? It's just a simple dependency situation, no? Would be nice to get such things into Universes (and working) instead of scripts on Squeak Map where one can't tell if a package is really a package or some broken installer from years ago. On 9/27/07, Lukas Renggli wrote: > > - select Squeak web packages version 0.1 > > - press the "select package" button > > I see. The problem is that I don't maintain this package that has > some unresolveable dependencies due to some renamings. > > Please try loading 'Pier-Security' or 'Pier-Seaside', that should > actually work and pull in all the necessary dependencies. > > Lukas > > > > > > --> this gives a Warning: could not find necessary package: Pier > > > > I guess it's due to the splitting of Pier into several packages, so > > there is no global package "Pier" in the universe? The comment in the > > Universe browser says: > > > > snip------- > > Abstract package that only depends on other packages. This packages > > are used to build a squeak distribution for developers. > > > > Category: Web Development > > Depends on: > > Squeak dev packages > > Pier > > Scriptaculous > > Seaside > > > > Maintained by: Damien Cassou > > Downloads from: (no url) > > Homepage: http://damien.cassou.free.fr/ > > snip----------- > > > > So, what can we do? > > > > I'll go try the same thing on the clean 3.9 image immediately. > > > > Cheers > > > > Matthias > > > > > > PS: Yes, I updated the package list from the network this time ;-) > > > > > > > > On 9/27/07, Lukas Renggli wrote: > >> I just updated the Package Universe Definitions for Seaside, Magritte > >> and Pier (and several of its plugins). I did not have the time to > >> test it yet (dependencies), so I am looking for people that are > >> willing to try and report problems ;-) > >> > >> Lukas > > > > _______________________________________________ > > SmallWiki, Magritte, Pier and Related Tools ... > > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > > -- > Lukas Renggli > http://www.lukas-renggli.ch > > > > _______________________________________________ > SmallWiki, Magritte, Pier and Related Tools ... > https://www.iam.unibe.ch/mailman/listinfo/smallwiki > >