From renggli at iam.unibe.ch Sat Oct 1 14:59:40 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Sat, 1 Oct 2005 14:59:40 +0200 Subject: Magritte Descriptions In-Reply-To: <24C40DFA333DC44882F9FB0115F33D8F1653C3@ARGON.insario.local> References: <43353FC8.8020308@gmx.net> <79B25513-DC4F-4097-808C-710F3A7DB359@iam.unibe.ch> <24C40DFA333DC44882F9FB0115F33D8F1653C3@ARGON.insario.local> Message-ID: > Anyone know offhand how to create a description for a field that is > another object with it's own descriptions, or a collection of > objects with their own descriptions? Well, that is not supported, but I am currently working on it. If you feel courageous, you can have a look at the very latest code. It says in the comment you should not load because it is broken. This is true for a big part. It requires the latest Seaside code from the SqueakSource directory, try Seaside2.6a2-lr.29.mcz. Then have a look a look at the subclasses of MAReferenceDescription, however I think only the MASingleOptionDescription is working right now. I will post a detailed list of changes of the re-factoring I was doing in the past few weeks, as soon as I have something more useable. So be patient, please. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ducasse at iam.unibe.ch Sat Oct 1 16:13:43 2005 From: ducasse at iam.unibe.ch (=?ISO-8859-1?Q?st=E9phane_ducasse?=) Date: Sat, 1 Oct 2005 16:13:43 +0200 Subject: favicon in smallwiki Message-ID: <35A55DB3-BA62-4D57-BC25-898AB97C1304@iam.unibe.ch> Hi I wanted to know how we can get favicon in SW1 Stef From renggli at iam.unibe.ch Sat Oct 1 16:44:02 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Sat, 1 Oct 2005 16:44:02 +0200 Subject: favicon in smallwiki In-Reply-To: <35A55DB3-BA62-4D57-BC25-898AB97C1304@iam.unibe.ch> References: <35A55DB3-BA62-4D57-BC25-898AB97C1304@iam.unibe.ch> Message-ID: <90F8B42E-10AA-4FBB-A857-FCC9CB33E912@iam.unibe.ch> > I wanted to know how we can get favicon in SW1 You have to create a resource in the root directory with the title 'favicon.ico' and upload the icon, that should be the easiest. For www.esug.org I serve the icon with apache however. Lukas -- Lukas Renggli http://www.lukas-renggli.ch From rleon at insario.com Sat Oct 1 19:39:06 2005 From: rleon at insario.com (Ramon Leon) Date: Sat, 1 Oct 2005 10:39:06 -0700 Subject: Magritte Descriptions References: <43353FC8.8020308@gmx.net> <79B25513-DC4F-4097-808C-710F3A7DB359@iam.unibe.ch> <24C40DFA333DC44882F9FB0115F33D8F1653C3@ARGON.insario.local> Message-ID: <24C40DFA333DC44882F9FB0115F33D8F1653C4@ARGON.insario.local> Certainly, take your time, better done right than done fast. I'll take a look at the latest code. -----Original Message----- From: owner-smallwiki at iam.unibe.ch on behalf of Lukas Renggli Sent: Sat 10/1/2005 5:59 AM To: smallwiki at iam.unibe.ch Subject: Re: Magritte Descriptions > Anyone know offhand how to create a description for a field that is > another object with it's own descriptions, or a collection of > objects with their own descriptions? Well, that is not supported, but I am currently working on it. If you feel courageous, you can have a look at the very latest code. It says in the comment you should not load because it is broken. This is true for a big part. It requires the latest Seaside code from the SqueakSource directory, try Seaside2.6a2-lr.29.mcz. Then have a look a look at the subclasses of MAReferenceDescription, however I think only the MASingleOptionDescription is working right now. I will post a detailed list of changes of the re-factoring I was doing in the past few weeks, as soon as I have something more useable. So be patient, please. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/ms-tnef Size: 3170 bytes Desc: not available Url : http://www.iam.unibe.ch/pipermail/smallwiki/attachments/20051001/e6ddfe5f/attachment.bin From renggli at iam.unibe.ch Fri Oct 14 08:51:33 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Fri, 14 Oct 2005 08:51:33 +0200 Subject: Quick Question about Magritte In-Reply-To: <24C40DFA333DC44882F9FB0115F33D8F1653C8@ARGON.insario.local> References: <4050EA129753C34B8BC944B9F7C902039C68D5@sandtonsvr.aircom.co.za> <67628d690510102314v38fbec68j1162f9d41d8340fc@mail.gmail.com> <24C40DFA333DC44882F9FB0115F33D8F1653C8@ARGON.insario.local> Message-ID: > Since reference descriptors aren't working yet, I'm wondering how I > can fake it manually. Is there a way to take several objects and > combine their descriptions and then generate a component from > that? Currently if I ask for (anOrder description, anOrder address > description) asComponent, I get an editor for the descriptions > rather than the instances. > Yes, that is possible: combined := obj1 description , obj2 description. Probably you need to modify the description of the referenced object, somehow like this (untested, just quickly put together): combined := obj1 description , (obj2 description collect: [ :ea | " change accessors of obj2 go trough the selector #reference that is called on obj1 " ea accessor: (MACascadeAccessor accessor: (MASelectorAccessor selector: #reference) next: ea accessor) ]. Hope this helps, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From rleon at insario.com Fri Oct 14 20:54:41 2005 From: rleon at insario.com (Ramon Leon) Date: Fri, 14 Oct 2005 11:54:41 -0700 Subject: Quick Question about Magritte References: <4050EA129753C34B8BC944B9F7C902039C68D5@sandtonsvr.aircom.co.za> <67628d690510102314v38fbec68j1162f9d41d8340fc@mail.gmail.com> <24C40DFA333DC44882F9FB0115F33D8F1653C8@ARGON.insario.local> Message-ID: <24C40DFA333DC44882F9FB0115F33D8F1653CC@ARGON.insario.local> Ok, this seems to work, slight modification from yours to prevent the cascade accessor from being added more than once, otherwise every render built up long chains of cascading accessors, does this seem right? Also, any way to add a label or something to each group of fields? orderView := (anOrder description , (anOrder billingAddress description collect: [:ea | (ea accessor isKindOf: MACascadeAccessor) ifFalse: [ea accessor: (MACascadeAccessor accessor: (MASelectorAccessor selector: #billingAddress) next: ea accessor)]. ea]) , (anOrder shippingAddress description collect: [:ea | (ea accessor isKindOf: MACascadeAccessor) ifFalse: [ea accessor: (MACascadeAccessor accessor: (MASelectorAccessor selector: #shippingAddress) next: ea accessor)]. ea]) asComponentOn: anOrder) addValidatedForm: #(#update #cancel ) ________________________________ From: Lukas Renggli [mailto:renggli at iam.unibe.ch] Sent: Thu 10/13/2005 11:51 PM To: Ramon Leon Cc: SmallWiki Mailing List Subject: Re: Quick Question about Magritte > Since reference descriptors aren't working yet, I'm wondering how I > can fake it manually. Is there a way to take several objects and > combine their descriptions and then generate a component from > that? Currently if I ask for (anOrder description, anOrder address > description) asComponent, I get an editor for the descriptions > rather than the instances. > Yes, that is possible: combined := obj1 description , obj2 description. Probably you need to modify the description of the referenced object, somehow like this (untested, just quickly put together): combined := obj1 description , (obj2 description collect: [ :ea | " change accessors of obj2 go trough the selector #reference that is called on obj1 " ea accessor: (MACascadeAccessor accessor: (MASelectorAccessor selector: #reference) next: ea accessor) ]. Hope this helps, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Sat Oct 15 18:02:07 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Sat, 15 Oct 2005 18:02:07 +0200 Subject: Quick Question about Magritte In-Reply-To: <24C40DFA333DC44882F9FB0115F33D8F1653CC@ARGON.insario.local> References: <4050EA129753C34B8BC944B9F7C902039C68D5@sandtonsvr.aircom.co.za> <67628d690510102314v38fbec68j1162f9d41d8340fc@mail.gmail.com> <24C40DFA333DC44882F9FB0115F33D8F1653C8@ARGON.insario.local> <24C40DFA333DC44882F9FB0115F33D8F1653CC@ARGON.insario.local> Message-ID: <36F5D68E-51EA-4395-9C5C-04EBDEC6F305@iam.unibe.ch> > Ok, this seems to work, slight modification from yours to prevent > the cascade accessor from being added more than once, otherwise > every render built up long chains of cascading accessors, does this > seem right? Also, any way to add a label or something to each > group of fields? Aha, I see the problem. Sorry, I didn't think that far in my first example. It would be probably easier to copy the descriptions before modifying them: orderView := (anOrder description ***copy*** addAll: (anOrder billingAddress description collect: [ :each | each ***copy*** accessor: (MACascadeAccessor accessor: (MASelectorAccessor selector: #billingAddress) next: each accessor) ]); addAll: (anOrder shippingAddress description collect: [ :each | each ***copy*** accessor: (MACascadeAccessor accessor: (MASelectorAccessor selector: #shippingAddress) next: each accessor) ]); asComponentOn: anOrder) addValidatedForm: #(#update #cancel ). I see that this is commonly used pattern, in fact I am using such code quite a lot in our web-applications. I see two possibilities to make this easier: 1. Introduce a method in MAContainer doing exactly what we saw above: (anOrder description flatten: (MASelectorAccessor selector: #billingAddress)) flatten: (MASelectorAccessor selector: #shippingAddress) ... 2. Introduce a special description doing the same: Order>>descriptionBillingAddress ^ (MAComposedDescription selector: #billingAddress) reference: Address description; yourself. Order>>descriptionShippingAddress ^ (MAComposedDescription selector: #shippingAddress) reference: Address description; yourself. The first approach can lead to _duplicated_ code and tends to _waste_ memory. The problem with the second approach is that you have those referenced objects _always_ in the description of Order, maybe you don't want this. Probably we need both? Any thoughts? Lukas -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Sat Oct 15 18:02:07 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Sat, 15 Oct 2005 18:02:07 +0200 Subject: Quick Question about Magritte In-Reply-To: <24C40DFA333DC44882F9FB0115F33D8F1653CC@ARGON.insario.local> References: <4050EA129753C34B8BC944B9F7C902039C68D5@sandtonsvr.aircom.co.za> <67628d690510102314v38fbec68j1162f9d41d8340fc@mail.gmail.com> <24C40DFA333DC44882F9FB0115F33D8F1653C8@ARGON.insario.local> <24C40DFA333DC44882F9FB0115F33D8F1653CC@ARGON.insario.local> Message-ID: <36F5D68E-51EA-4395-9C5C-04EBDEC6F305@iam.unibe.ch> > Ok, this seems to work, slight modification from yours to prevent > the cascade accessor from being added more than once, otherwise > every render built up long chains of cascading accessors, does this > seem right? Also, any way to add a label or something to each > group of fields? Aha, I see the problem. Sorry, I didn't think that far in my first example. It would be probably easier to copy the descriptions before modifying them: orderView := (anOrder description ***copy*** addAll: (anOrder billingAddress description collect: [ :each | each ***copy*** accessor: (MACascadeAccessor accessor: (MASelectorAccessor selector: #billingAddress) next: each accessor) ]); addAll: (anOrder shippingAddress description collect: [ :each | each ***copy*** accessor: (MACascadeAccessor accessor: (MASelectorAccessor selector: #shippingAddress) next: each accessor) ]); asComponentOn: anOrder) addValidatedForm: #(#update #cancel ). I see that this is commonly used pattern, in fact I am using such code quite a lot in our web-applications. I see two possibilities to make this easier: 1. Introduce a method in MAContainer doing exactly what we saw above: (anOrder description flatten: (MASelectorAccessor selector: #billingAddress)) flatten: (MASelectorAccessor selector: #shippingAddress) ... 2. Introduce a special description doing the same: Order>>descriptionBillingAddress ^ (MAComposedDescription selector: #billingAddress) reference: Address description; yourself. Order>>descriptionShippingAddress ^ (MAComposedDescription selector: #shippingAddress) reference: Address description; yourself. The first approach can lead to _duplicated_ code and tends to _waste_ memory. The problem with the second approach is that you have those referenced objects _always_ in the description of Order, maybe you don't want this. Probably we need both? Any thoughts? Lukas -- Lukas Renggli http://www.lukas-renggli.ch From saidani at info.unicaen.fr Sun Oct 16 23:45:52 2005 From: saidani at info.unicaen.fr (Samir Saidani) Date: Sun, 16 Oct 2005 23:45:52 +0200 Subject: Contributing to SmallWiki 1 In-Reply-To: <62498.141.30.201.110.1129478032.squirrel@www.beine-computer.de> (chris@chrisburkert.de's message of "Sun, 16 Oct 2005 17:53:52 +0200 (CEST)") References: <2528291.1129313809169.JavaMail.cortneay@mac.com> <16060664.1129313887058.JavaMail.jborden23@mac.com> <62498.141.30.201.110.1129478032.squirrel@www.beine-computer.de> Message-ID: <87r7aluodr.fsf_-_@info.unicaen.fr> Hi, Here is a proposal for contributing to SW1. Contributing to SW1 should be done in squeaksource : check the description project of SmallWikiEnh and SmallWiki1 to know how to add a feature. When we are sure that the latest mcz package is quite stable, we should consider publishing it to squeakmap for end users. SmallWikiEnh: ************* Various smallwiki enhancements. Used for testing enhancements before inclusion in the SW1 mainstream. Please describe clearly the features added in the mcz logfile. In global read/write access, so you don't need to ask for an account, feel free to use it ! SmallWiki1: *********** SW1 repository You will find here the latest version of SW1. Adding a feature: we suggest that to add a quite complex feature, we use first the SmallWikiEnh repository, to allow further tests (like image stability, side effects and so one). For trivial feature, or bug fixing: use this repository, and add to the repository version comment what you exactly did. You don't have to ask for an account, this repository is in global read/write access. As this is the mainstream, please be very careful, and if something is wrong and you don't manage to repare things, don't feel guilty ! Just post a mail to tell what is the problem and we will work together. Please describe in the mcz logfile the fixed bugs and the minor features added. For major features, please use SmallWikiEnh if possible, and you *really* can not, maybe should you test *extensively* the new mcz package to be sure that the image is really stable. Another thing, maybe should we consider to break the SW1 mcz package into small packages, like SW1-kernel.mcz and so one, so if someone has an idea... Cheers, Samir From damien.cassou at laposte.net Tue Oct 18 17:45:07 2005 From: damien.cassou at laposte.net (Damien Cassou) Date: Tue, 18 Oct 2005 17:45:07 +0200 Subject: [SW2] How to specialize an editCommand Message-ID: <43551883.5060107@laposte.net> Hi, I've created a SWGAlbum which inherit from SW2Page. This class has an instance variable called renderer. I want the user to be able to modify this instance variable selecting a value in a list : descriptionRenderer ^ (MASingleSelectionDescription selector: #renderer label: 'Type' priority: 110 default: SWGAlbumViewer) options: (MADynamicObject on: [ SWGAlbumViewer withAllConcreteClasses ]); beRequired; yourself. So I have created a specialized SWGEditAlbumCommand which inherit from SW2EditPageCommand. I have also created a SWGAlbum>>editCommand returning a new SWGEditAlbumCommand. My problem is that 2 'Edit' links appears in the command widget. One from SW2EditPageCommand and one from SWGEditAlbumCommand. How can I hide the one from SW2EditPageCommand ? Other question, how can I replace the 'Edit' button on top-left of the window (next to 'View') for it to launch my SWGEditAlbumCommand and not SW2EditPageCommand ? Thank you -- Damien From renggli at iam.unibe.ch Tue Oct 18 19:32:22 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 18 Oct 2005 19:32:22 +0200 Subject: [SW2] How to specialize an editCommand In-Reply-To: <43551883.5060107@laposte.net> References: <43551883.5060107@laposte.net> Message-ID: <4A622474-9803-431F-8DD8-92C6F5BAA856@iam.unibe.ch> > So I have created a specialized SWGEditAlbumCommand which inherit > from SW2EditPageCommand. I have also created a > SWGAlbum>>editCommand returning a new SWGEditAlbumCommand. > > My problem is that 2 'Edit' links appears in the command widget. > One from SW2EditPageCommand and one from SWGEditAlbumCommand. How > can I hide the one from SW2EditPageCommand ? That is a problem, that is not easy and nice to solve. It should work out of the box if you directly subclass SW2EditCommand, but obviously you want to reuse code from SW2EditPageCommand. You might want to try something like: SWGAlbum>>isValidCommand: aCommandClass in: aContext ^ (super isValidCommand: aCommandClass in: aContext) and: [ aCommandClass ~= SW2EditPageCommand ]. > Other question, how can I replace the 'Edit' button on top-left of > the window (next to 'View') for it to launch my SWGEditAlbumCommand > and not SW2EditPageCommand ? That should work with the above code, no? Lukas -- Lukas Renggli http://www.lukas-renggli.ch From philippe.marschall at gmail.com Tue Oct 18 21:48:31 2005 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Tue, 18 Oct 2005 21:48:31 +0200 Subject: [SW2] How to specialize an editCommand In-Reply-To: <43551883.5060107@laposte.net> References: <43551883.5060107@laposte.net> Message-ID: <66666f210510181248w621e5dc8s@mail.gmail.com> We have several hacks for this kind of stuff in Spielverderber. We have several commands that we don't want to show, either because it makes no sense or because to user has no permission. You might might want to look there for ideas. On a general note I'd appreciate it if the commands in the commands widget were sorted by label name. 2005/10/18, Damien Cassou : > Hi, > > I've created a SWGAlbum which inherit from SW2Page. This class has an > instance variable called renderer. I want the user to be able to modify > this instance variable selecting a value in a list : > > descriptionRenderer > ^ (MASingleSelectionDescription selector: #renderer label: 'Type' > priority: 110 default: SWGAlbumViewer) > options: (MADynamicObject on: [ SWGAlbumViewer > withAllConcreteClasses ]); > beRequired; > yourself. > > So I have created a specialized SWGEditAlbumCommand which inherit from > SW2EditPageCommand. I have also created a SWGAlbum>>editCommand > returning a new SWGEditAlbumCommand. > > My problem is that 2 'Edit' links appears in the command widget. One > from SW2EditPageCommand and one from SWGEditAlbumCommand. How can I hide > the one from SW2EditPageCommand ? > > Other question, how can I replace the 'Edit' button on top-left of the > window (next to 'View') for it to launch my SWGEditAlbumCommand and not > SW2EditPageCommand ? > > > Thank you > > -- > Damien > > From ducasse at iam.unibe.ch Tue Oct 18 22:17:18 2005 From: ducasse at iam.unibe.ch (=?ISO-8859-1?Q?st=E9phane_ducasse?=) Date: Tue, 18 Oct 2005 22:17:18 +0200 Subject: [SW2] How to specialize an editCommand In-Reply-To: <66666f210510181248w621e5dc8s@mail.gmail.com> References: <43551883.5060107@laposte.net> <66666f210510181248w621e5dc8s@mail.gmail.com> Message-ID: <1EDDC896-E116-4728-9CAF-F3AC01508965@iam.unibe.ch> May be this indicated that a isVisible protocol is missing on command? On 18 oct. 05, at 21:48, Philippe Marschall wrote: > We have several hacks for this kind of stuff in Spielverderber. We > have several commands that we don't want to show, either because it > makes no sense or because to user has no permission. > You might might want to look there for ideas. > > On a general note I'd appreciate it if the commands in the commands > widget were sorted by label name. > > > 2005/10/18, Damien Cassou : > >> Hi, >> >> I've created a SWGAlbum which inherit from SW2Page. This class has an >> instance variable called renderer. I want the user to be able to >> modify >> this instance variable selecting a value in a list : >> >> descriptionRenderer >> ^ (MASingleSelectionDescription selector: #renderer label: 'Type' >> priority: 110 default: SWGAlbumViewer) >> options: (MADynamicObject on: [ SWGAlbumViewer >> withAllConcreteClasses ]); >> beRequired; >> yourself. >> >> So I have created a specialized SWGEditAlbumCommand which inherit >> from >> SW2EditPageCommand. I have also created a SWGAlbum>>editCommand >> returning a new SWGEditAlbumCommand. >> >> My problem is that 2 'Edit' links appears in the command widget. One >> from SW2EditPageCommand and one from SWGEditAlbumCommand. How can >> I hide >> the one from SW2EditPageCommand ? >> >> Other question, how can I replace the 'Edit' button on top-left of >> the >> window (next to 'View') for it to launch my SWGEditAlbumCommand >> and not >> SW2EditPageCommand ? >> >> >> Thank you >> >> -- >> Damien >> >> >> > > From damien.cassou at laposte.net Tue Oct 18 22:28:10 2005 From: damien.cassou at laposte.net (Damien Cassou) Date: Tue, 18 Oct 2005 22:28:10 +0200 Subject: [SW2] How to specialize an editCommand In-Reply-To: <1EDDC896-E116-4728-9CAF-F3AC01508965@iam.unibe.ch> References: <43551883.5060107@laposte.net> <66666f210510181248w621e5dc8s@mail.gmail.com> <1EDDC896-E116-4728-9CAF-F3AC01508965@iam.unibe.ch> Message-ID: <43555ADA.8040500@laposte.net> st?phane ducasse a ?crit : > May be this indicated that a isVisible protocol is missing on command? The problem is how this method could be coded since some structures want some commands and not others. From ducasse at iam.unibe.ch Tue Oct 18 23:07:54 2005 From: ducasse at iam.unibe.ch (=?ISO-8859-1?Q?st=E9phane_ducasse?=) Date: Tue, 18 Oct 2005 23:07:54 +0200 Subject: [SW2] How to specialize an editCommand In-Reply-To: <43555ADA.8040500@laposte.net> References: <43551883.5060107@laposte.net> <66666f210510181248w621e5dc8s@mail.gmail.com> <1EDDC896-E116-4728-9CAF-F3AC01508965@iam.unibe.ch> <43555ADA.8040500@laposte.net> Message-ID: <64E2D5FB-ECF9-4A01-982C-ECD591882553@iam.unibe.ch> Double dispatch? Stef On 18 oct. 05, at 22:28, Damien Cassou wrote: > st?phane ducasse a ?crit : > > >> May be this indicated that a isVisible protocol is missing on >> command? >> > > The problem is how this method could be coded since some structures > want some commands and not others. > > From philippe.marschall at gmail.com Tue Oct 18 23:24:41 2005 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Tue, 18 Oct 2005 23:24:41 +0200 Subject: [SW2] How to specialize an editCommand In-Reply-To: <1EDDC896-E116-4728-9CAF-F3AC01508965@iam.unibe.ch> References: <43551883.5060107@laposte.net> <66666f210510181248w621e5dc8s@mail.gmail.com> <1EDDC896-E116-4728-9CAF-F3AC01508965@iam.unibe.ch> Message-ID: <66666f210510181424t4431b6e5v@mail.gmail.com> 2005/10/18, st?phane ducasse : > May be this indicated that a isVisible protocol is missing on command? Yeah, we added that ;) And we changed #isValidCommand:in: for some structures. And we check a command for #isAllowed before rendering it about the sorting my suggestion is: SW2CommandsWidget class >> #defaultCommandClasses ^ SW2Command withAllConcreteClasses sort: [ :a :b | a asLabel <= b asLabel ]. From renggli at iam.unibe.ch Wed Oct 19 00:27:59 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Wed, 19 Oct 2005 00:27:59 +0200 Subject: [ANN][MA] Magritte 1.0.0-alpha on SqueakMap Message-ID: Hi, I just published a first version of Magritte on SqueakMap, it is still an unofficial and incomplete version, but it is closer to release than ever. Some things are still broken (the morphic view does not work anymore, reports are still under construction, ...), but that will improve certainly! The package includes all the requirements to use Magritte within a 3.8 image, probably it also works in 3.7 and 3.9. The installer will ask in the beginning if Seaside should be installed, if you tell so it will automatically go through all the requirements and load DynamicBindings, KomServices, KomHttpServer, Seaside and SeasideAsync. Seaside is included with the distribution, because a newer release than the one on SqueakMap is required. Start Seaside using "WAKom startOn: 8888" and fire up a browser on "http://localhost:8888/seaside/examplebrowser" to play with the meta- meta-model of Magritte and a few other smaller examples ... I will publish a similar package for SmallWiki 2 soon ;-) Lukas -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Wed Oct 19 00:30:30 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Wed, 19 Oct 2005 00:30:30 +0200 Subject: [ANN][MA] Magritte 1.0.0-alpha on SqueakMap In-Reply-To: References: Message-ID: > I just published a first version of Magritte on SqueakMap, it is > still an unofficial and incomplete version, but it is closer to > release than ever. Some things are still broken (the morphic view > does not work anymore, reports are still under construction, ...), > but that will improve certainly! There are certainly a lot more things that might not work as expected, such as the MATableDescription and MADurationDescription ... I re-factored those (and other) parts quite heavily ... -- Lukas Renggli http://www.lukas-renggli.ch From avi.bryant at gmail.com Wed Oct 19 00:46:43 2005 From: avi.bryant at gmail.com (Avi Bryant) Date: Tue, 18 Oct 2005 15:46:43 -0700 Subject: [ANN][MA] Magritte 1.0.0-alpha on SqueakMap In-Reply-To: References: Message-ID: <716FD2CA-55DF-4065-9ECF-0486B0FDCE2A@gmail.com> On Oct 18, 2005, at 3:27 PM, Lukas Renggli wrote: > Hi, > > I just published a first version of Magritte on SqueakMap, it is > still an unofficial and incomplete version, but it is closer to > release than ever. Some things are still broken (the morphic view > does not work anymore, reports are still under construction, ...), > but that will improve certainly! > > The package includes all the requirements to use Magritte within a > 3.8 image, probably it also works in 3.7 and 3.9. The installer > will ask in the beginning if Seaside should be installed, if you > tell so it will automatically go through all the requirements and > load DynamicBindings, KomServices, KomHttpServer, Seaside and > SeasideAsync. Seaside is included with the distribution, because a > newer release than the one on SqueakMap is required. > > Start Seaside using "WAKom startOn: 8888" and fire up a browser on > "http://localhost:8888/seaside/examplebrowser" to play with the > meta-meta-model of Magritte and a few other smaller examples ... > > I will publish a similar package for SmallWiki 2 soon ;-) Cool. I'd recommend publishing a pre-built image while you're at it (and we can link to it from the Seaside images download page). Avi From damien.cassou at laposte.net Wed Oct 19 06:55:02 2005 From: damien.cassou at laposte.net (Damien Cassou) Date: Wed, 19 Oct 2005 06:55:02 +0200 Subject: [ANN][MA] Magritte 1.0.0-alpha on SqueakMap In-Reply-To: <716FD2CA-55DF-4065-9ECF-0486B0FDCE2A@gmail.com> References: <716FD2CA-55DF-4065-9ECF-0486B0FDCE2A@gmail.com> Message-ID: <4355D1A6.60807@laposte.net> > Cool. > > I'd recommend publishing a pre-built image while you're at it (and we > can link to it from the Seaside images download page). > I will do two prebuilt images : one for 3.8 and one for 3.9 today or tomorrow. Any suggestion ? From renggli at iam.unibe.ch Wed Oct 19 07:14:47 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Wed, 19 Oct 2005 07:14:47 +0200 Subject: [ANN][MA] Magritte 1.0.0-alpha on SqueakMap In-Reply-To: <4355D1A6.60807@laposte.net> References: <716FD2CA-55DF-4065-9ECF-0486B0FDCE2A@gmail.com> <4355D1A6.60807@laposte.net> Message-ID: >> Cool. >> >> I'd recommend publishing a pre-built image while you're at it (and >> we can link to it from the Seaside images download page). > > I will do two prebuilt images : one for 3.8 and one for 3.9 today > or tomorrow. Any suggestion ? Hep, that Magritte package probably doesn't work together with the latest SmallWiki. I didn't have the time to test that yet ;-) >> I'd recommend publishing a pre-built image while you're at it (and >> we can link to it from the Seaside images download page). I don't know if it scales to have prebuilt images ready all the time? Loading the SAR-Installer for Magritte from SqueakMap should turn an "empty" Squeak-3.8 (without many user-interactions) into a useable environment, without having to load any other package manually. Maybe the installer requires some more sophisticated code to decide wether or not a part should be loaded ... right now it looks like: (PasteUpMorph confirm: ''Would you like to install Seaside?'') ifTrue: [ self fileInMonticelloZipVersionNamed: ''DynamicBindings.mcz'' ]. (Smalltalk includesKey: #DynamicBindings) ifTrue: [ self fileInMonticelloZipVersionNamed: ''KomServices.mcz'' ]. (Smalltalk includesKey: #TcpService) ifTrue: [ self fileInMonticelloZipVersionNamed: ''KomHttpServer.mcz'' ]. (Smalltalk includesKey: #HttpService) ifTrue: [ self fileInMonticelloZipVersionNamed: ''Seaside2.mcz'' ]. (Smalltalk includesKey: #WAComponent) ifTrue: [ self fileInMonticelloZipVersionNamed: ''SeasideAsync.mcz'' ]. (true) ifTrue: [ self fileInMonticelloZipVersionNamed: ''Magritte- Model.mcz'' ]. (Smalltalk includesKey: #TestCase) ifTrue: [ self fileInMonticelloZipVersionNamed: ''Magritte-Tests.mcz'' ]. (Smalltalk includesKey: #Morph) ifTrue: [ self fileInMonticelloZipVersionNamed: ''Magritte-Morph.mcz'' ]. (Smalltalk includesKey: #WAComponent) ifTrue: [ self fileInMonticelloZipVersionNamed: ''Magritte-Seaside.mcz'' ]. Any ideas for improvement? Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From ducasse at iam.unibe.ch Wed Oct 19 08:56:21 2005 From: ducasse at iam.unibe.ch (=?ISO-8859-1?Q?st=E9phane_ducasse?=) Date: Wed, 19 Oct 2005 08:56:21 +0200 Subject: [ANN][MA] Magritte 1.0.0-alpha on SqueakMap In-Reply-To: References: Message-ID: Cooooool I really want to see that. Stef On 19 oct. 05, at 00:27, Lukas Renggli wrote: > Hi, > > I just published a first version of Magritte on SqueakMap, it is > still an unofficial and incomplete version, but it is closer to > release than ever. Some things are still broken (the morphic view > does not work anymore, reports are still under construction, ...), > but that will improve certainly! > > The package includes all the requirements to use Magritte within a > 3.8 image, probably it also works in 3.7 and 3.9. The installer > will ask in the beginning if Seaside should be installed, if you > tell so it will automatically go through all the requirements and > load DynamicBindings, KomServices, KomHttpServer, Seaside and > SeasideAsync. Seaside is included with the distribution, because a > newer release than the one on SqueakMap is required. > > Start Seaside using "WAKom startOn: 8888" and fire up a browser on > "http://localhost:8888/seaside/examplebrowser" to play with the > meta-meta-model of Magritte and a few other smaller examples ... > > I will publish a similar package for SmallWiki 2 soon ;-) > > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > From philippe.marschall at gmail.com Wed Oct 19 21:29:26 2005 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Wed, 19 Oct 2005 21:29:26 +0200 Subject: [ANN][MA] Magritte 1.0.0-alpha on SqueakMap In-Reply-To: <4355D1A6.60807@laposte.net> References: <716FD2CA-55DF-4065-9ECF-0486B0FDCE2A@gmail.com> <4355D1A6.60807@laposte.net> Message-ID: <66666f210510191229j44d893f5q@mail.gmail.com> > I will do two prebuilt images : one for 3.8 and one for 3.9 today or > tomorrow. Any suggestion ? Yeah, let us know if you have a working version of SW2 ;) I tried SW2-All-lr.97 and be comment is right. But I could get a lr.96 working with some fixes and commited it as pmm.97. Ok, working is a bit much. Add, Edit and Remove work. Copy/Move don't work and InplaceEdit throws an exception. BTW the SW2 FAQ seems messed up: http://smallwiki.unibe.ch/smallwiki/smallwiki2/f.a.q./ From philippe.marschall at gmail.com Mon Oct 24 10:10:03 2005 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Mon, 24 Oct 2005 10:10:03 +0200 Subject: Fun With HTTP Headers Message-ID: <66666f210510240110h12e74203o@mail.gmail.com> http://www.nextthing.org/archives/2005/08/07/fun-with-http-headers We need those in SW2 too ;) From renggli at iam.unibe.ch Mon Oct 24 10:39:22 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Mon, 24 Oct 2005 10:39:22 +0200 Subject: Fun With HTTP Headers In-Reply-To: <66666f210510240110h12e74203o@mail.gmail.com> References: <66666f210510240110h12e74203o@mail.gmail.com> Message-ID: Wow, that's amazing, thanks for that interesting link. I almost can't believe ;-) For those that didn't don't want to read the whole page, I copied the interesting part. It is sort of an analyze about non-standard fields of http responses: > Contrary to popular belief, there are people out there using > Smalltalk on the web. Two of them. One Smalltalk software company > running a web server written in Smalltalk, and another: > > Server: Swazoo 0.9 (Columbus) > X-WIKI-ENGINE: SmallWiki 1.0 > CACHE-CONTROL: no-cache > X-WIKI-COPYRIGHT: Software Composition Group, University of Berne, > 2003 > running a Smalltalk user?s group web site with a wiki written on > Smalltalk on a web server written in, you guessed it: Smalltalk. Cool. On 24 Oct 2005, at 10:10, Philippe Marschall wrote: > http://www.nextthing.org/archives/2005/08/07/fun-with-http-headers > We need those in SW2 too ;) There is something like that in SmallWiki 2 already, not in the http- header but in the html-header as meta-fields: aHtmlRoot addHeadElement: ((WAHtmlElement named: 'meta') attributeAt: 'name' put: 'generator'; attributeAt: 'content' put: SW2Kernel version; yourself). Lukas -- Lukas Renggli http://www.lukas-renggli.ch From tudor.girba at iam.unibe.ch Tue Oct 25 21:09:09 2005 From: tudor.girba at iam.unibe.ch (Tudor Girba) Date: Tue, 25 Oct 2005 21:09:09 +0200 Subject: unauthorized to execute the requested action Message-ID: Hi, I am trying to edit a wiki page at http://smallwiki.unibe.ch/ ese2005lecturesmallwiki/ese1homework/ but I get "Unauthorized to execute the requested action". If I login as administrator, I can edit it though. Can anyone help? Thanks. Doru -- Tudor Adrian Girba Software Composition Group (www.iam.unibe.ch/~girba) University of Bern, Switzerland "What we can governs what we wish." From renggli at iam.unibe.ch Tue Oct 25 21:50:08 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Tue, 25 Oct 2005 21:50:08 +0200 Subject: unauthorized to execute the requested action In-Reply-To: References: Message-ID: <9BAAAFFE-25EE-4CE6-AF03-8685D98D02EF@iam.unibe.ch> > I am trying to edit a wiki page at http://smallwiki.unibe.ch/ > ese2005lecturesmallwiki/ese1homework/ but I get "Unauthorized to > execute the requested action". If I login as administrator, I can > edit it though. This is a common problem in SmallWiki 1: You have got a Smalltalk- Block in your page and only admins are allowed to save a page containing Smalltalk-Code. If you do not intend to include Smalltalk you should escape $[: \[ese1] homework Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch From damien.cassou at laposte.net Thu Oct 27 17:00:38 2005 From: damien.cassou at laposte.net (Damien Cassou) Date: Thu, 27 Oct 2005 17:00:38 +0200 Subject: [SW2] FAQ disappeared Message-ID: <4360EB96.4070408@laposte.net> Hi, the SmallWiki 2 FAQ has disappeared : http://smallwiki.unibe.ch/smallwiki/smallwiki2/f.a.q./ Does somebody know how to put it back ? Thanks -- Damien From damien.cassou at laposte.net Thu Oct 27 17:23:38 2005 From: damien.cassou at laposte.net (Damien Cassou) Date: Thu, 27 Oct 2005 17:23:38 +0200 Subject: [SW2] Example Browser Message-ID: <4360F0FA.5060202@laposte.net> The example browser (http://localhost:8080/seaside/examplebrowser) is crashing with the following error : MAFileUploadComponent(Object)>>doesNotUnderstand: #upload It is because "MAFileUploadComponent>>renderUploadOn:" uses the #upload method on self, but this method doesn't exist (there is a #upload: instead) From nirs at freeshell.org Sun Oct 30 02:53:34 2005 From: nirs at freeshell.org (Nir Soffer) Date: Sun, 30 Oct 2005 02:53:34 +0200 Subject: Unicode support Message-ID: <990374B4-48DF-11DA-B6D6-000A95B45AA0@freeshell.org> Is there any Unicode support in SmallWiki under Squeak 3.8? I would like to set the html encoding to utf-8. Best Regards, Nir Soffer From damien.cassou at laposte.net Mon Oct 31 17:57:26 2005 From: damien.cassou at laposte.net (Damien Cassou) Date: Mon, 31 Oct 2005 17:57:26 +0100 Subject: [SW2] Example browser bug Message-ID: <43664CF6.7060903@laposte.net> Open : http://localhost:8080/seaside/examplebrowser Change "exampleEditor" to "exampleMeta" in the list and click 'ok'. MAStringReader class(Object)>>doesNotUnderstand: #label Receiver: MAStringReader Arguments and temporary variables: aMessage: label Receiver's instance variables: superclass: MAReader methodDict: a MethodDictionary(#read:description:->a CompiledMethod (524) #visi...etc... format: 134 instanceVariables: nil organization: ('visiting' read:description:) ('visiting-description' visitBoole...etc... subclasses: nil name: #MAStringReader classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: nil MAStringWriter>>visitClassDescription: Receiver: a MAStringWriter Arguments and temporary variables: aDescription: a MAClassDescription label: nil comment: nil Receiver's instance variables: stream: a WriteStream '' object: MAStringReader MAClassDescription>>acceptMagritte: Receiver: a MAClassDescription label: nil comment: nil Arguments and temporary variables: aVisitor: a MAStringWriter Receiver's instance variables: properties: a Dictionary() accessor: nil MAStringWriter(MAVisitor)>>visit: Receiver: a MAStringWriter Arguments and temporary variables: anObject: a MAClassDescription label: nil comment: nil Receiver's instance variables: stream: a WriteStream '' object: MAStringReader --- The full stack --- MAStringReader class(Object)>>doesNotUnderstand: #label MAStringWriter>>visitClassDescription: MAClassDescription>>acceptMagritte: MAStringWriter(MAVisitor)>>visit: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MAStringWriter(MAWriter)>>write:description:to: MAStringWriter>>write:description:to: MAStringWriter(MAWriter)>>write:description: MAStringWriter class(MAWriter class)>>write:description: MAClassDescription(MADescription)>>toString:writer: MAClassDescription(MADescription)>>toString: [] in MASelectListComponent>>renderEditorOn: {[:value | self reference toString: value]} WASelectTag(WACollectionTag)>>labelForOption: [] in WASelectTag>>with: {[:each | canvas option selected: (self isSelected: each); callback: [...]} OrderedCollection>>do: [] in WASelectTag>>with: {[self isOptional ifTrue: [canvas option selected: selected = nil; ...]} BlockContext>>renderOn: WASelectTag(WATagBrush)>>within: [] in WASelectTag(WATagBrush)>>with: {[self within: aBlock]} BlockContext>>renderOn: WARenderCanvas(WACanvas)>>nest: WASelectTag(WABrush)>>with: WASelectTag(WATagBrush)>>with: WASelectTag>>with: WASelectTag(WABrush)>>close WARenderCanvas(WACanvas)>>flush WARenderCanvas>>close MASelectListComponent(WAPresenter)>>renderWithContext: [] in MASelectListComponent(WAComponent)>>renderOn: {[:each | each renderWithContext: aRenderer context]} MASelectListComponent(WAComponent)>>decorationChainDo: MASelectListComponent(WAComponent)>>renderOn: WARenderCanvas>>render: MATableRenderer(MAComponentRenderer)>>renderControl: [] in MATableRenderer>>renderControl: {[super renderControl: aDescription]} BlockContext>>renderOn: WATableDataTag(WATagBrush)>>within: [] in WATableDataTag(WATagBrush)>>with: {[self within: aBlock]} BlockContext>>renderOn: WARenderCanvas(WACanvas)>>nest: WATableDataTag(WABrush)>>with: WATableDataTag(WATagBrush)>>with: MATableRenderer>>renderControl: MATableRenderer(MAComponentRenderer)>>renderElement: [] in MATableRenderer>>renderElement: {[super renderElement: aDescription]} BlockContext>>renderOn: WAGenericTag(WATagBrush)>>within: [] in WAGenericTag(WATagBrush)>>with: {[self within: aBlock]} BlockContext>>renderOn: WARenderCanvas(WACanvas)>>nest: WAGenericTag(WABrush)>>with: WAGenericTag(WATagBrush)>>with: MATableRenderer>>renderElement: MATableRenderer(MAComponentRenderer)>>visitElementDescription: MATableRenderer(MAVisitor)>>visitReferenceDescription: MATableRenderer(MAVisitor)>>visitOptionDescription: MATableRenderer(MAVisitor)>>visitSingleOptionDescription: MASingleOptionDescription>>acceptMagritte: MATableRenderer(MAVisitor)>>visit: [] in MATableRenderer(MAVisitor)>>visitAll: {[:each | self visit: each]} ...etc... From renggli at iam.unibe.ch Mon Oct 31 21:21:25 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Mon, 31 Oct 2005 21:21:25 +0100 Subject: [SW2] Example browser bug In-Reply-To: <43664CF6.7060903@laposte.net> References: <43664CF6.7060903@laposte.net> Message-ID: <17D4A1FA-8387-4E43-8E0B-98207972D403@iam.unibe.ch> > Open : http://localhost:8080/seaside/examplebrowser > Change "exampleEditor" to "exampleMeta" in the list and click 'ok'. This has been fixed with the latest versions on SqueakMap and in the Monticello Reporsitory. -- Lukas Renggli http://www.lukas-renggli.ch From renggli at iam.unibe.ch Mon Oct 31 21:21:25 2005 From: renggli at iam.unibe.ch (Lukas Renggli) Date: Mon, 31 Oct 2005 21:21:25 +0100 Subject: [SW2] Example browser bug In-Reply-To: <43664CF6.7060903@laposte.net> References: <43664CF6.7060903@laposte.net> Message-ID: <17D4A1FA-8387-4E43-8E0B-98207972D403@iam.unibe.ch> > Open : http://localhost:8080/seaside/examplebrowser > Change "exampleEditor" to "exampleMeta" in the list and click 'ok'. This has been fixed with the latest versions on SqueakMap and in the Monticello Reporsitory. -- Lukas Renggli http://www.lukas-renggli.ch From saidani at squeakfr.org Mon Oct 31 19:18:32 2005 From: saidani at squeakfr.org (Samir Saidani) Date: Mon, 31 Oct 2005 19:18:32 +0100 Subject: Unicode support In-Reply-To: <990374B4-48DF-11DA-B6D6-000A95B45AA0@freeshell.org> (Nir Soffer's message of "Sun, 30 Oct 2005 02:53:34 +0200") References: <990374B4-48DF-11DA-B6D6-000A95B45AA0@freeshell.org> Message-ID: <87br15ft3b.fsf@info.unicaen.fr> Check the latest release in squeaksource : http://www.squeaksource.com/SmallWiki1 Cheers, Samir Nir Soffer writes: > Is there any Unicode support in SmallWiki under Squeak 3.8? > > I would like to set the html encoding to utf-8. > > > Best Regards, > > Nir Soffer From nirs at freeshell.org Mon Oct 31 23:37:18 2005 From: nirs at freeshell.org (Nir Soffer) Date: Tue, 1 Nov 2005 00:37:18 +0200 Subject: Unicode support In-Reply-To: <87br15ft3b.fsf@info.unicaen.fr> References: <990374B4-48DF-11DA-B6D6-000A95B45AA0@freeshell.org> <87br15ft3b.fsf@info.unicaen.fr> Message-ID: Great! it works with Hebrew :-) Creation of new pages is still little broken: 1. You go to the root folder 2. Click contents 3. Add a page with Hebrew name 4. The name is converted to gibberish ??? -> ? Workaround: 1. Edit the page 2. Rename Also, the language list does not contain he. On 31 Oct, 2005, at 20:18, Samir Saidani wrote: > > Check the latest release in squeaksource : > http://www.squeaksource.com/SmallWiki1 > > Cheers, > Samir > > Nir Soffer writes: > >> Is there any Unicode support in SmallWiki under Squeak 3.8? >> >> I would like to set the html encoding to utf-8. >> >> >> Best Regards, >> >> Nir Soffer >> Best Regards, Nir Soffer From nirs at freeshell.org Mon Oct 31 23:51:28 2005 From: nirs at freeshell.org (Nir Soffer) Date: Tue, 1 Nov 2005 00:51:28 +0200 Subject: Page name to url trnasformation In-Reply-To: <87br15ft3b.fsf@info.unicaen.fr> References: <990374B4-48DF-11DA-B6D6-000A95B45AA0@freeshell.org> <87br15ft3b.fsf@info.unicaen.fr> Message-ID: I noticed that when you create "Page Name", the url "pagename" is created. This is quite wrong behavior: 1. Whitespace is important - for example, ãó òáøé -> ãóòáøé is not readable 2. Capitalization is important 3. "PageName" is a valid url 4. "Page%20Name" is also valid (even displayed as "Page Name" in Safari) 5. It creates problems later when you create "Page Name" and then try to create "pagename" - your new page is accessible as "pagename1" Some wikis treat "Page Name" and "Page_Name" as equal. Local names use natural spaces, while urls are converted to "Page_Name", which are nicer then "Page%20Name". This system works great for both MediaWiki and MoinMoin wiki engines. Here is how MoinMoin treat page names, I think its a good solution: http://moinmoin.wikiwikiweb.de/PageNames Best Regards, Nir Soffer