From hilaire at drgeo.eu Sun Feb 1 20:01:09 2015 From: hilaire at drgeo.eu (Hilaire) Date: Sun Feb 1 20:01:20 2015 Subject: [Seaside] Css class to Magrite generated component Message-ID: Hello, On fresh Magritte3 + Seaside 3.1. Reading the archive point to what looks like obsolete way to do it. (http://forum.world.st/Magritte-CSS-tt91775.html#a91776) Using the #cssClass: message on a description get the class added to the table cell containing the component: descriptionStreets ^ MAMemoDescription new accessor: #streets; label: 'Adresse '; priority: 80; beRequired ; cssClass: 'address' yourself. RESULT in: How should it be done to get the class added to the generated component? Thanks a lot Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From hilaire at drgeo.eu Mon Feb 2 11:07:21 2015 From: hilaire at drgeo.eu (Hilaire) Date: Mon Feb 2 11:07:33 2015 Subject: [Seaside] #seasideTranslated, which package? Message-ID: Hello, I am testing the helper package Mold for form data validation. (Thanks Phillip to copy it at Smalltalkhub) However, on a few place it sends the message #seasideTranslated. Which package should I load to get it? Thanks a lot Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From sm at planage.com Mon Feb 2 11:54:20 2015 From: sm at planage.com (Sanjay Minni) Date: Mon Feb 2 11:59:11 2015 Subject: [Seaside] JQuery-UI Datepicker challenges Message-ID: <1422878060718-4803176.post@n4.nabble.com> Hi I am using JQuery-UI Datepicker (Pharo 4) as follows: targetDate is a variable of Date class and I need to display in format dd/mm/yyyy) html textInput value: ( targetDate isNil ifFalse: [ targetDate printFormat: #(1 2 3 $/ 1 1 2) ] ); callback: [ :value | targetDate isNil ifFalse: [ targetDate := ( Date readFrom: value pattern: 'dd/mm/yyyy' ) ] ]; script: (html jQuery new datepicker dateFormat: 'dd/mm/yy'; onSelect: ( html jQuery ajax serializeThis ) ) . I am not finding the behavior very smooth - so overall is the right way to use Is there a validation available to check if the string entered by the user is a valid date - the user may enter only 1 digit for dd and mm unless there is a template to ensure leading 0's are there any other datepicker widgets that could be a good options thanks Sanjay ----- --- Regards, Sanjay -- View this message in context: http://forum.world.st/JQuery-UI-Datepicker-challenges-tp4803176.html Sent from the Seaside General mailing list archive at Nabble.com. From sm at planage.com Mon Feb 2 11:57:15 2015 From: sm at planage.com (Sanjay Minni) Date: Mon Feb 2 12:02:06 2015 Subject: [Seaside] JQuery-UI Datepicker challenges Message-ID: <1422878235911-4803179.post@n4.nabble.com> Hi I am using JQuery-UI Datepicker (Pharo 4) as follows: targetDate is a variable of Date class and I need to display in format dd/mm/yyyy) html textInput value: ( targetDate isNil ifFalse: [ targetDate printFormat: #(1 2 3 $/ 1 1 2) ] ); callback: [ :value | targetDate isNil ifFalse: [ targetDate := ( Date readFrom: value pattern: 'dd/mm/yyyy' ) ] ]; script: (html jQuery new datepicker dateFormat: 'dd/mm/yy'; onSelect: ( html jQuery ajax serializeThis ) ) . I am not finding the behavior very smooth - so overall is the right way to use Is there a validation available to check if the string entered by the user is a valid date - the user may enter only 1 digit for dd and mm unless there is a template to ensure leading 0's are there any other datepicker widgets that could be a good options thanks Sanjay ----- --- Regards, Sanjay -- View this message in context: http://forum.world.st/JQuery-UI-Datepicker-challenges-tp4803179.html Sent from the Seaside General mailing list archive at Nabble.com. From johan at inceptive.be Mon Feb 2 12:26:40 2015 From: johan at inceptive.be (Johan Brichau) Date: Mon Feb 2 12:26:48 2015 Subject: [Seaside] #seasideTranslated, which package? In-Reply-To: References: Message-ID: <38520A32-5635-45ED-A6C2-2F763267AA68@inceptive.be> That message is defined in Seaside-Gettext-Core. Use (ConfigurationOfSeaside3 project version: #stable) load: ?Gettext' Johan > On 02 Feb 2015, at 12:07, Hilaire wrote: > > Hello, > > I am testing the helper package Mold for form data validation. > (Thanks Phillip to copy it at Smalltalkhub) > > However, on a few place it sends the message #seasideTranslated. > Which package should I load to get it? > > Thanks a lot > > Hilaire > > -- > Dr. Geo - http://drgeo.eu > iStoa - http://istoa.drgeo.eu > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From sm at planage.com Mon Feb 2 13:48:01 2015 From: sm at planage.com (Sanjay Minni) Date: Mon Feb 2 13:52:52 2015 Subject: [Seaside] Re: JQuery-UI Datepicker challenges In-Reply-To: <1422878235911-4803179.post@n4.nabble.com> References: <1422878235911-4803179.post@n4.nabble.com> Message-ID: <1422884881143-4803226.post@n4.nabble.com> Sorry ... a bit of an error , correct code below (earlier I was checking if the targetDate was nil in the callback need help as I will be using date fields very heavily Sanjay Minni wrote > Hi > > I am using JQuery-UI Datepicker (Pharo 4) as follows: > > targetDate is a variable of Date class and I need to display in format > dd/mm/yyyy) > > html textInput > value: ( targetDate isNil ifFalse: [ targetDate printFormat: #(1 2 3 $/ 1 > 1 2) ] ); > callback: [ :value | value isNil > ifFalse: [ > targetDate := ( Date readFrom: value pattern: 'dd/mm/yyyy' ) ] ]; > script: (html jQuery new datepicker > dateFormat: 'dd/mm/yy'; > onSelect: ( html jQuery ajax serializeThis ) ) . > > I am not finding the behavior very smooth - so overall is the right way to > use > Is there a validation available to check if the string entered by the user > is a valid date - the user may enter only 1 digit for dd and mm unless > there is a template to ensure leading 0's > > are there any other datepicker widgets that could be a good options > > thanks > Sanjay ----- --- Regards, Sanjay -- View this message in context: http://forum.world.st/JQuery-UI-Datepicker-challenges-tp4803179p4803226.html Sent from the Seaside General mailing list archive at Nabble.com. From pdebruic at gmail.com Mon Feb 2 15:49:10 2015 From: pdebruic at gmail.com (Paul DeBruicker) Date: Mon Feb 2 15:54:01 2015 Subject: [Seaside] Re: JQuery-UI Datepicker challenges In-Reply-To: <1422878235911-4803179.post@n4.nabble.com> References: <1422878235911-4803179.post@n4.nabble.com> Message-ID: <1422892150188-4803248.post@n4.nabble.com> I would guess there is not validation code. Some browsers have native validation functions if you use the HTML5 date input rather than a plain text input. I think you will find it easier to debug if you do move the code in the callback: block into its own method, then you won't have to rerender the datepicker every time you want to test your validation code. So instead of: callback: [ :value | targetDate isNil ifFalse: [ targetDate := ( Date readFrom: value pattern: 'dd/mm/yyyy' ) ] ]; use callback: [:value | self setTargetDate: value]; then in the method #setTargetDate: you can start with the code in the callback block and re-work it until you get what you want. I'd start by changing from #readFrom:pattern: to the more general #readString: but ymmv.... Sanjay Minni wrote > Hi > > I am using JQuery-UI Datepicker (Pharo 4) as follows: > > targetDate is a variable of Date class and I need to display in format > dd/mm/yyyy) > > html textInput > value: ( targetDate isNil ifFalse: [ targetDate printFormat: #(1 2 3 $/ 1 > 1 2) ] ); > callback: [ :value | targetDate isNil > ifFalse: [ > targetDate := ( Date readFrom: value pattern: 'dd/mm/yyyy' ) ] ]; > script: (html jQuery new datepicker > dateFormat: 'dd/mm/yy'; > onSelect: ( html jQuery ajax serializeThis ) ) . > > I am not finding the behavior very smooth - so overall is the right way to > use > Is there a validation available to check if the string entered by the user > is a valid date - the user may enter only 1 digit for dd and mm unless > there is a template to ensure leading 0's > > are there any other datepicker widgets that could be a good options > > thanks > Sanjay -- View this message in context: http://forum.world.st/JQuery-UI-Datepicker-challenges-tp4803179p4803248.html Sent from the Seaside General mailing list archive at Nabble.com. From hilaire at drgeo.eu Mon Feb 2 16:22:38 2015 From: hilaire at drgeo.eu (Hilaire) Date: Mon Feb 2 16:22:51 2015 Subject: [Seaside] Re: #seasideTranslated, which package? In-Reply-To: <38520A32-5635-45ED-A6C2-2F763267AA68@inceptive.be> References: <38520A32-5635-45ED-A6C2-2F763267AA68@inceptive.be> Message-ID: Thanks for the info. What about adding in Seaside core: String>>seasideTranslated "Seaside packages dedicated to localisation can override this method" ^ self Hilaire Le 02/02/2015 13:26, Johan Brichau a ?crit : > That message is defined in Seaside-Gettext-Core. > > Use (ConfigurationOfSeaside3 project version: #stable) load: ?Gettext' > > Johan -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From stormbyte at gmail.com Mon Feb 2 16:44:36 2015 From: stormbyte at gmail.com (David Carlos Manuelda) Date: Mon Feb 2 16:44:46 2015 Subject: [Seaside] Seaside + Pharo: Someway to set a timeout? Message-ID: When you are investing time into testing seaside and pharo, if you are not an expert, like me, you usually run examples, change and implement new things and so. The problem is that, it happened to me more than 1 time, that in a test, pharo, or seaside, completelly hangs and became unresponsive. In that case, all the work is lost and it is frustrating :( Anyway to configure pharo and/or seaside to have a maximum time for being busy and forcedly end the non ending task after a timeout or something similar? I appreciate any hints on this. Thanks From hilaire at drgeo.eu Mon Feb 2 16:46:26 2015 From: hilaire at drgeo.eu (Hilaire) Date: Mon Feb 2 16:46:37 2015 Subject: [Seaside] CXOptions in Mold example Message-ID: Hello, I saw in one Mold example source a reference to an unknown CXOptions class. Do someone know what it is? Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From johan at inceptive.be Mon Feb 2 17:25:40 2015 From: johan at inceptive.be (Johan Brichau) Date: Mon Feb 2 17:25:45 2015 Subject: [Seaside] #seasideTranslated, which package? In-Reply-To: References: <38520A32-5635-45ED-A6C2-2F763267AA68@inceptive.be> Message-ID: If I understand you correctly, that means Seaside-Core will be a dirty package when I load Seaside-Gettext. When I then update to a newer version of Seaside-Core, the change by Seaside-Gettext gets lost. That?s not something you want to happen. Why would you want such a method to live in the Core ? Johan > On 02 Feb 2015, at 17:22, Hilaire wrote: > > Thanks for the info. > > What about adding in Seaside core: > > String>>seasideTranslated > "Seaside packages dedicated to localisation can override this method" > ^ self > > Hilaire > > > > Le 02/02/2015 13:26, Johan Brichau a ?crit : >> That message is defined in Seaside-Gettext-Core. >> >> Use (ConfigurationOfSeaside3 project version: #stable) load: ?Gettext' >> >> Johan > > > -- > Dr. Geo - http://drgeo.eu > iStoa - http://istoa.drgeo.eu > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From pdebruic at gmail.com Mon Feb 2 17:35:22 2015 From: pdebruic at gmail.com (Paul DeBruicker) Date: Mon Feb 2 17:40:14 2015 Subject: [Seaside] Re: Seaside + Pharo: Someway to set a timeout? In-Reply-To: References: Message-ID: <1422898522578-4803274.post@n4.nabble.com> Not sure about a timeout, but you can hit right alt + . (or right cmd + . ) to break into whatever process has locked up the UI and stop it so you can undo the change that started the unending process. David Carlos Manuelda wrote > When you are investing time into testing seaside and pharo, if you are not > an expert, like me, you usually run examples, change and implement new > things and so. > > The problem is that, it happened to me more than 1 time, that in a test, > pharo, or seaside, completelly hangs and became unresponsive. > > In that case, all the work is lost and it is frustrating :( > > Anyway to configure pharo and/or seaside to have a maximum time for being > busy and forcedly end the non ending task after a timeout or something > similar? > > I appreciate any hints on this. > > Thanks > > _______________________________________________ > seaside mailing list > seaside@.squeakfoundation > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- View this message in context: http://forum.world.st/Seaside-Pharo-Someway-to-set-a-timeout-tp4803257p4803274.html Sent from the Seaside General mailing list archive at Nabble.com. From stormbyte at gmail.com Mon Feb 2 18:45:01 2015 From: stormbyte at gmail.com (David Carlos Manuelda) Date: Mon Feb 2 18:45:11 2015 Subject: [Seaside] Re: Seaside + Pharo: Someway to set a timeout? References: <1422898522578-4803274.post@n4.nabble.com> Message-ID: Paul DeBruicker wrote: > Not sure about a timeout, but you can hit > > right alt + . (or right cmd + . ) > > to break into whatever process has locked up the UI and stop it so you can > undo the change that started the unending process. > > Oh, you are my life saviour! So simple and in front of my eyes, and did not even found it before. Many many thanks :) From hilaire at drgeo.eu Mon Feb 2 19:59:36 2015 From: hilaire at drgeo.eu (Hilaire) Date: Mon Feb 2 19:59:46 2015 Subject: [Seaside] Re: #seasideTranslated, which package? In-Reply-To: References: <38520A32-5635-45ED-A6C2-2F763267AA68@inceptive.be> Message-ID: Le 02/02/2015 18:25, Johan Brichau a ?crit : > If I understand you correctly, that means Seaside-Core will be a dirty package when I load Seaside-Gettext. > When I then update to a newer version of Seaside-Core, the change by Seaside-Gettext gets lost. You are right. > That?s not something you want to happen. > > Why would you want such a method to live in the Core ? Some packages requires #seasideTranslated but you may not need l10n/gettext in your project. Of course you can just install it and ignore it :) Thanks Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From stephan at stack.nl Tue Feb 3 13:26:27 2015 From: stephan at stack.nl (Stephan Eggermont) Date: Tue Feb 3 13:26:36 2015 Subject: [Seaside] Re: Magritte Description for a collection Message-ID: <55F21212-30AF-49ED-A007-E2EAF1AFEA86@stack.nl> Hilaire wrote: >Let's say I have a model with a single attribute as a collection of strings. > >I want a Magritte description and a Seaside component to fill this >collection and edit it when not empty: >- the user should be able to add new string in the collection with '+' >link and an appropriate text field >- if the collection contains 3 items, the component should come with 3 >text fields > >Any tips how to achieve that? 1 First the setup to work in: In an image with QCMagritte loaded (e.g. one from https://ci.inria.fr/pharo-contribution/job/QCMagritte/) Create an application and a model. QCBootstrapApplication subclass: #QCNestedDemoApplication instanceVariableNames: '' classVariableNames: '' category: 'NestedDemo' QCBootstrapApplicationModel subclass: #QCNestedDemoModel instanceVariableNames: 'parties' classVariableNames: '' category: 'NestedDemo' The application needs to know where to find the model QCNestedDemoApplication >>model ^QCNestedDemoModel default It needs a title to display in the browser bar QCNestedDemoApplication >>title ^QCMultilanguageString on: 'Nested Demo' It needs an entry point QCNestedDemoApplication class >>applicationName ^'NestedDemo' And as this is a development app where we don't care about deployment but want the developer tools and debugger QCNestedDemoApplication class >>initialize " QCNestedDemoApplication initialize " self registerForDevelopment 2 The actual answer In the model class, add lazy accessors for the parties QCNestedDemoModel >>parties: anObject parties := anObject QCNestedDemoModel >>parties ^ parties ifNil: [ parties := OrderedCollection new ] Create a domain class as a subclass of QCParentObject. (This provides a hierarchical ownership model and some default behavior) QCParentObject subclass: #QCDemoParty instanceVariableNames: 'firstName lastName adresses' classVariableNames: '' category: 'NestedDemo' Make this the entry point for the application by adding a description to the model QCNestedDemoModel >>descriptionParties ^MAToManyRelationDescription new label: 'Parties '; accessor: #parties; priority: 100; sorted: true; classes: { QCDemoParty }; yourself DoIt QCNestedDemoApplication initialize Open a web browser on http://localhost:8080/NestedDemo and see an application showing a report where new parties can be added. Click on Add to do so. Notice there are no descriptions for the fields yet. It is safe to add one. The resulting table looks like No fields, but icons representing actions for 'edit details', 'edit inline' and 'remove' They work but do nothing useful yet. Add some descriptions and accessors. The addresses are again lazily instantiated. QCDemoParty >>adresses ^ adresses ifNil: [ adresses := OrderedCollection new ] QCDemoParty >>adresses: anObject adresses := anObject QCDemoParty >>firstName ^ firstName QCDemoParty >>firstName: anObject firstName := anObject QCDemoParty >>lastName ^ lastName QCDemoParty >>lastName: anObject lastName := anObject QCDemoParty >>descriptionFirstName ^MADateDescription new priority: 100; label: 'First name'; accessor: #firstName; visibleInReport: true; yourself QCDemoParty >>descriptionLastName ^MADateDescription new priority: 200; label: 'Last name'; accessor: #lastName ; visibleInReport: true; yourself Before adding a description for the addresses, add a new class QCParentObject subclass: #QCDemoAddress instanceVariableNames: 'address' classVariableNames: '' category: 'NestedDemo' Setting ordered to true makes sure that an OrderedCollection is used in the setter. (sorted: true uses a SortedCollection) QCDemoParty >>descriptionAdresses ^MAToManyRelationDescription new label: 'Adresses '; accessor: #adresses; priority: 300; ordered: true; classes: { QCDemoAddress }; yourself Start a new session in the web browser. Notice that only the descriptions that are visibleInReport are shown. You can edit inline (the save and cancel buttons are not yet in Bootstrap style) and you can also edit the details To show something more useful than 'a QCDemoParty' in the top menu, override QCDemoParty >>displayName ^ (String streamContents: [:s | firstName ifNotNil: [s nextPutAll: firstName,' ']. lastName ifNotNil: [s nextPutAll: lastName]]) ifEmpty: [^'Party'] The addresses also need to show something more useful. Add accessors and a description QCDemoParty >>address ^ address QCDemoParty >>address: anObject address := anObject QCDemoParty >>descriptionAddress ^MAStringDescription new priority: 100; label: 'Address'; accessor: #address; visibleInReport: true; yourself Now the address lines can be edited Resulting in -------------- next part -------------- Skipped content of type multipart/related From stormbyte at gmail.com Tue Feb 3 15:13:30 2015 From: stormbyte at gmail.com (David Carlos Manuelda) Date: Tue Feb 3 15:13:39 2015 Subject: [Seaside] Completelly pharo hang with seaside3 Message-ID: In some of my examples, I subclassed WAComponent in order to test things further. I discovered that if you implement on class side the method name with self subclassResponsibility, then, pharo completelly hangs. Maybe is not a bug and is something I should not be doing, but anyways, it is not worth to hang pharo completelly, can it be reviewed? It can be tested just with that, immediatelly when you accept your changes, your pharo UI is completelly stuck (no possible user interrupts, it is completelly died) From estebanlm at gmail.com Tue Feb 3 15:17:30 2015 From: estebanlm at gmail.com (Esteban Lorenzano) Date: Tue Feb 3 15:17:34 2015 Subject: [Seaside] Completelly pharo hang with seaside3 In-Reply-To: References: Message-ID: #name is implemented in Pharo3 class side, and used internally. it was a mistake that has to be fixed in Pharo4, but for now you should not use it. Is not a problem of seaside, is a problem of pharo? and hopefully it will be fixed for Pharo4, sorry for the inconvenience. Esteban > On 03 Feb 2015, at 16:13, David Carlos Manuelda wrote: > > In some of my examples, I subclassed WAComponent in order to test things > further. > > I discovered that if you implement on class side the method name with self > subclassResponsibility, then, pharo completelly hangs. > > Maybe is not a bug and is something I should not be doing, but anyways, it > is not worth to hang pharo completelly, can it be reviewed? > > It can be tested just with that, immediatelly when you accept your changes, > your pharo UI is completelly stuck (no possible user interrupts, it is > completelly died) > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From stephan at stack.nl Tue Feb 3 16:49:44 2015 From: stephan at stack.nl (Stephan Eggermont) Date: Tue Feb 3 16:49:48 2015 Subject: [Seaside] Re: Password sent in clear text in Welcome e-mail? Message-ID: Is there anything we can do to make it more clear? Stephan -------------- next part -------------- Skipped content of type multipart/related From sven at stfx.eu Tue Feb 3 17:43:06 2015 From: sven at stfx.eu (Sven Van Caekenberghe) Date: Tue Feb 3 17:43:12 2015 Subject: [Seaside] Re: Password sent in clear text in Welcome e-mail? In-Reply-To: References: Message-ID: <48F9C4FE-83D0-4A16-8AA9-589EA83A254F@stfx.eu> No, ;-) > On 03 Feb 2015, at 17:49, Stephan Eggermont wrote: > > Is there anything we can do to make it more clear? > > > Stephan > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From marianopeck at gmail.com Tue Feb 3 18:53:20 2015 From: marianopeck at gmail.com (Mariano Martinez Peck) Date: Tue Feb 3 18:53:20 2015 Subject: [Seaside] Large text areas form submission and web server limits Message-ID: Hi guys, In my app, I have a form that the user can submit and such a form has a text area where the user enters Notes. So far it was working correct but today I tried a more or less long note (not too much) and I get a Zinc ZnLineTooLong. Currently it has 4K: ZnConstants maximumLineLength -> 4096 Now...first let me ask...I am doing this correct? do I have a workaround? If not, should I increase this? Zinc seems easy. But then I should also change Nginx I think I should do this: http://stackoverflow.com/questions/1067334/how-to-set-the-allowed-url-length-for-a-nginx-request-error-code-414-uri-too Is this correct? is there some security trade off here? Thanks in advance, -- Mariano http://marianopeck.wordpress.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150203/294a3f8c/attachment.htm From sven at stfx.eu Tue Feb 3 19:08:01 2015 From: sven at stfx.eu (Sven Van Caekenberghe) Date: Tue Feb 3 19:08:06 2015 Subject: [Seaside] Large text areas form submission and web server limits In-Reply-To: References: Message-ID: <0AFCEE91-B5EF-4ED8-AC2A-57C7B7D7CFEE@stfx.eu> Hi Mariano, It is like it says in the comments: there are a couple of resource limits that the server uses to protect itself (line length, number of headers, entity size). You can safely raise them if you need to. The risk ? Someone sending a 1Gb text field and crashing the server ;-) Now there is a big difference between 4Kb and say 1Mb. It is your call. Sven > On 03 Feb 2015, at 19:53, Mariano Martinez Peck wrote: > > Hi guys, > > In my app, I have a form that the user can submit and such a form has a text area where the user enters Notes. So far it was working correct but today I tried a more or less long note (not too much) and I get a Zinc ZnLineTooLong. Currently it has 4K: > > ZnConstants maximumLineLength -> 4096 > > Now...first let me ask...I am doing this correct? do I have a workaround? > > If not, should I increase this? Zinc seems easy. But then I should also change Nginx I think I should do this: http://stackoverflow.com/questions/1067334/how-to-set-the-allowed-url-length-for-a-nginx-request-error-code-414-uri-too > > Is this correct? is there some security trade off here? > > Thanks in advance, > > > -- > Mariano > http://marianopeck.wordpress.com > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From hilaire at drgeo.eu Wed Feb 4 07:50:24 2015 From: hilaire at drgeo.eu (Hilaire) Date: Wed Feb 4 07:50:35 2015 Subject: [Seaside] Re: Magritte Description for a collection In-Reply-To: <55F21212-30AF-49ED-A007-E2EAF1AFEA86@stack.nl> References: <55F21212-30AF-49ED-A007-E2EAF1AFEA86@stack.nl> Message-ID: Le 03/02/2015 14:26, Stephan Eggermont a ?crit : > 1 First the setup to work in: > > In an image with QCMagritte loaded (e.g. one > from https://ci.inria.fr/pharo-contribution/job/QCMagritte/) > Oh thanks, I was not aware of this project. Thanks -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From sebastian at flowingconcept.com Wed Feb 4 07:58:33 2015 From: sebastian at flowingconcept.com (Sebastian Sastre) Date: Wed Feb 4 07:59:19 2015 Subject: [Seaside] Password sent in clear text in Welcome e-mail? In-Reply-To: References: Message-ID: <600418BE-C063-46C8-8471-140A0BD9A4E8@flowingconcept.com> The text talking about the password is too close to the email input fields (poor grouping and poor margins) Also, that might work only if the user reads it. That wont happen 100% of the times. > On Feb 3, 2015, at 2:49 PM, Stephan Eggermont wrote: > > Is there anything we can do to make it more clear? > > > Stephan > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From hilaire at drgeo.eu Wed Feb 4 09:10:46 2015 From: hilaire at drgeo.eu (Hilaire) Date: Wed Feb 4 09:10:55 2015 Subject: [Seaside] Debugger, not any more with Seaside 3.x? Message-ID: Hello, I remember with Seaside 2.x it was possible to open the debugger in the image when an error occurred during the rendering. Now only a message, without a link, is printed on the web browser, although the option "Allow debugging of errors" is enabled. Do I miss something? Thanks Hilaire Ref. http://forum.world.st/Allow-debugging-of-errors-does-not-work-for-rendering-Only-for-callbacks-tt3264419.html -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From hilaire at drgeo.eu Wed Feb 4 09:51:00 2015 From: hilaire at drgeo.eu (Hilaire) Date: Wed Feb 4 09:51:10 2015 Subject: [Seaside] Magritte component with your own Form Message-ID: Hello, How will you use your own form in a Magritte component? I tried the following: "From the parent component" html anchor callback: [ model := CGAddress new. answer := self call: (CGComponent editor:model asComponent addValidation). answer ifNil: [ self inform: 'Abandon de l''?dition'] ifNotNil: [ self inform: 'Edition sauvegard?e : ', model city] ]; with: 'Editer addresse'] "Then in the child component, I answer: with the editor instance" renderContentOn: html html form: [ html render: editor . html submitButton value: 'Sauvegarder'; callback: [self answer: editor]. html cancelButton value: 'Abandon'; callback: [ self answer: nil ] ] However, when clicking the submit button, I have an error: Error: Instances of UndefinedObject are not indexable Your request could not be completed. An exception occurred. No validation take place either. Any idea what can be wrong? Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From stephan at stack.nl Wed Feb 4 09:54:03 2015 From: stephan at stack.nl (Stephan Eggermont) Date: Wed Feb 4 09:54:06 2015 Subject: [Seaside] Re: Debugger, not any more with Seaside 3.x? Message-ID: <5CA68FF1-B1A7-4418-ADCA-A4DF9EB3F36E@stack.nl> The default exception handler was changed. Either change it from config, or do something similar to Application class>>registerForDevelopmentAt: anApplicationName | application | WAAdmin enableDevelopmentTools. application := self registerAt: anApplicationName. application filter configuration at: #exceptionHandler put: WADebugErrorHandler. ^application Application class>>registerAt: anApplicationName ^(WAAdmin register: self asApplicationAt: anApplicationName) preferenceAt: #sessionClass put: self sessionClass; addLibrary: JQDeploymentLibrary; addLibrary: JQUiDeploymentLibrary; yourself From hilaire at drgeo.eu Wed Feb 4 09:54:22 2015 From: hilaire at drgeo.eu (Hilaire) Date: Wed Feb 4 09:54:24 2015 Subject: [Seaside] Re: Magritte Description for a collection In-Reply-To: <55F21212-30AF-49ED-A007-E2EAF1AFEA86@stack.nl> References: <55F21212-30AF-49ED-A007-E2EAF1AFEA86@stack.nl> Message-ID: <54D1EC4E.2010200@drgeo.eu> Le 03/02/2015 14:26, Stephan Eggermont a ?crit : > 1 First the setup to work in: > [..] Thanks for the lengthly example. I tested it, and just changed the Date descriptions to String. I am just afraid by the huge drag, I am not sure I can handle it. Even MAgritte alone is difficult to handle for me. Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From hilaire at drgeo.eu Wed Feb 4 10:00:37 2015 From: hilaire at drgeo.eu (Hilaire) Date: Wed Feb 4 10:00:43 2015 Subject: [Seaside] Re: Debugger, not any more with Seaside 3.x? In-Reply-To: <5CA68FF1-B1A7-4418-ADCA-A4DF9EB3F36E@stack.nl> References: <5CA68FF1-B1A7-4418-ADCA-A4DF9EB3F36E@stack.nl> Message-ID: <54D1EDC5.2030508@drgeo.eu> Thanks I am must be nuts but I see nothing in the config section (enclosed screenshot). I will try your set up. Is there a place for up to date doc? Thanks Hilaire Le 04/02/2015 10:54, Stephan Eggermont a ?crit : > The default exception handler was changed. Either change it > from config, or do something similar to > > Application class>>registerForDevelopmentAt: anApplicationName > | application | > WAAdmin enableDevelopmentTools. > application := self registerAt: anApplicationName. > application filter configuration at: #exceptionHandler put: WADebugErrorHandler. > ^application > > Application class>>registerAt: anApplicationName > ^(WAAdmin register: self asApplicationAt: anApplicationName) > preferenceAt: #sessionClass put: self sessionClass; > addLibrary: JQDeploymentLibrary; > addLibrary: JQUiDeploymentLibrary; > yourself > -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu -------------- next part -------------- A non-text attachment was scrubbed... Name: seasideconfig.png Type: image/png Size: 111086 bytes Desc: not available Url : http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150204/2e957ff4/seasideconfig-0001.png From johan at inceptive.be Wed Feb 4 10:15:51 2015 From: johan at inceptive.be (Johan Brichau) Date: Wed Feb 4 10:15:56 2015 Subject: [Seaside] Debugger, not any more with Seaside 3.x? In-Reply-To: <54D1EDC5.2030508@drgeo.eu> References: <5CA68FF1-B1A7-4418-ADCA-A4DF9EB3F36E@stack.nl> <54D1EDC5.2030508@drgeo.eu> Message-ID: Click ?Configure? next to the ?ExceptionFilter?. So the amount of questions on this subject clearly shows that it?s not clear and no, it?s not in the book. Yet another TODO, I?m afraid. Johan > On 04 Feb 2015, at 11:00, Hilaire wrote: > > Thanks > > I am must be nuts but I see nothing in the config section (enclosed > screenshot). > I will try your set up. > Is there a place for up to date doc? > > Thanks > > Hilaire > > > > Le 04/02/2015 10:54, Stephan Eggermont a ?crit : >> The default exception handler was changed. Either change it >> from config, or do something similar to >> >> Application class>>registerForDevelopmentAt: anApplicationName >> | application | >> WAAdmin enableDevelopmentTools. >> application := self registerAt: anApplicationName. >> application filter configuration at: #exceptionHandler put: WADebugErrorHandler. >> ^application >> >> Application class>>registerAt: anApplicationName >> ^(WAAdmin register: self asApplicationAt: anApplicationName) >> preferenceAt: #sessionClass put: self sessionClass; >> addLibrary: JQDeploymentLibrary; >> addLibrary: JQUiDeploymentLibrary; >> yourself >> > > > -- > Dr. Geo - http://drgeo.eu > iStoa - http://istoa.drgeo.eu > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150204/102c15e4/attachment.htm From stephan at stack.nl Wed Feb 4 10:47:19 2015 From: stephan at stack.nl (Stephan Eggermont) Date: Wed Feb 4 10:47:23 2015 Subject: [Seaside] Re: Debugger, not any more with Seaside 3.x? Message-ID: <1FA4E94F-34D7-4FD8-A56C-671ACF312C0B@stack.nl> http://blog.fitzell.ca/2008/12/seaside-29-exception-handling.html Configure the WAExceptionFilter It by default is set to WAHtmlErrorHandler There are other subclasses of WAErrorHandler that might be interesting. http://seaside.st/community/development/seaside30 http://seaside.st/community/development/seaside31 At the Pharo Days we already talked about the need to update the site Stephan From hilaire at drgeo.eu Wed Feb 4 12:01:43 2015 From: hilaire at drgeo.eu (Hilaire) Date: Wed Feb 4 12:01:54 2015 Subject: [Seaside] Magrittte component embedded in a Seaside component Message-ID: Hello, I am stuck with something probably very obvious, but I don't see the point. I have one Magritte component I want to embed in a Seaside component. So in a *first* Seaside component, I call a second one with a magritte component embedded into: html listItem: [ html anchor callback: [ model := CGParticipant new. answer := self call: (CGComponent editor: model asComponent addValidatedForm). answer ifNil: [ self inform: 'Abandon de l''?dition'] ifNotNil: [ self inform: 'Edition valid?e et sauvegard?e : ', model firstname ] ]; with: 'Editer mod?le'] Then from the *second* Seaside component, I just have: renderContentOn: html html render: editor. and children ^ Array with: editor >From the Magritte component, when I hit the 'Save' button the validation correctly takes place, but it looks like the answer is never initiated and Seaside never gets back to the first component. Any tips? Thanks a lot. Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150204/59fa07b8/attachment-0001.htm From pdigonzelli at gmail.com Wed Feb 4 20:09:11 2015 From: pdigonzelli at gmail.com (Pablo R. Digonzelli) Date: Wed Feb 4 20:09:23 2015 Subject: [Seaside] Fwd: wsdl webservice In-Reply-To: <1561804258.2323.1423064822779.JavaMail.zimbra@softsargentina.dyndns.biz> References: <1561804258.2323.1423064822779.JavaMail.zimbra@softsargentina.dyndns.biz> Message-ID: <275996992.3016.1423080551482.JavaMail.zimbra@softsargentina.dyndns.biz> De: "pablo digonzelli" Para: seaside@lists.squeakfoundation.org Enviados: Mi?rcoles, 4 de Febrero 2015 12:47:02 Asunto: wsdl webservice Hi all, i need to know if it is possible to consume a wsdl webservice from pharo. It is very easy using python and suds but i want to consume the webservice directly from pharo. TIA Ing. Pablo Digonzelli Software Solutions IP-Solutiones SRL Metrotec SRL 25 de Mayo 521 San Miguel de Tucum?n Email: pdigonzelli@softsargentina.com pdigonzelli@gmail.com Cel: 5493815982714 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150204/3504b229/attachment.htm From hilaire at drgeo.eu Wed Feb 4 20:43:59 2015 From: hilaire at drgeo.eu (Hilaire) Date: Wed Feb 4 20:44:10 2015 Subject: [Seaside] MAToOneRelationDescription display Message-ID: Hello, I am looking at how description MAToOneRelationDescription could be rendered differently in its snapshot view (don't know how to name it). As far I see it, only the model attribute description with the highest priority is displayed. So far I fail to see how to change it. Tried #display: without success... and #reference: I dont' understand it. Any tips, even tiny one will be useful. Thanks Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From stephan at stack.nl Thu Feb 5 12:36:47 2015 From: stephan at stack.nl (Stephan Eggermont) Date: Thu Feb 5 12:36:51 2015 Subject: [Seaside] Re: MAToOneRelationDescription display Message-ID: Hi Hilaire, I'm afraid I don't quite understand what problem you are running into. On the class side of MAToOneRelationDescription you find the default components that are used to render, either the MAExternalEditorComponent or the MAInternalEditorComponent. You can override that on an individual basis with componentClass: or you can override that systematically as done in QCBootstrapComponentBuilder>>visitToOneRelationDescription: "A QCDescriptionBuilder is an abstract class for enriching a Magritte description, e.g. setting the component class based on the description class." Stephan From chans.pierre at gmail.com Thu Feb 5 14:26:21 2015 From: chans.pierre at gmail.com (Pierre CHANSON) Date: Thu Feb 5 14:26:23 2015 Subject: [Seaside] local file.html Message-ID: Hi all, I am starting with Seaside and I would like to put a local file.html in an Iframe... I have to say that I am stuck with this. Any idea how I should do that ? Thanks a lot !! Pierre -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150205/9f0cb132/attachment.htm From jtuchel at objektfabrik.de Thu Feb 5 14:52:16 2015 From: jtuchel at objektfabrik.de (Joachim Tuchel) Date: Thu Feb 5 14:52:01 2015 Subject: [Seaside] local file.html Message-ID: Do you mean local on the server or local on the client? Am 05.02.2015 15:26 schrieb Pierre CHANSON : > > Hi all, > > I am starting with Seaside and I would like to put a local file.html in an Iframe... I have to say that I am stuck with this. Any idea how I should do that ? > > Thanks a lot !! > > Pierre From sven at stfx.eu Thu Feb 5 14:54:55 2015 From: sven at stfx.eu (Sven Van Caekenberghe) Date: Thu Feb 5 14:55:00 2015 Subject: [Seaside] local file.html In-Reply-To: References: Message-ID: <88A0F0E9-A614-430A-AB34-55B0E110E0B2@stfx.eu> Did you see WAIFrameFunctionalTest>>#renderContentOn: ? In any case, you will have to serve the file somehow, for which there are several options. Why do you want to do this ? What is in it ? Because if you generated it yourself, you could just as well serve it directly on demand. > On 05 Feb 2015, at 15:26, Pierre CHANSON wrote: > > Hi all, > > I am starting with Seaside and I would like to put a local file.html in an Iframe... I have to say that I am stuck with this. Any idea how I should do that ? > > Thanks a lot !! > > Pierre > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From chans.pierre at gmail.com Thu Feb 5 15:56:58 2015 From: chans.pierre at gmail.com (Pierre CHANSON) Date: Thu Feb 5 15:57:01 2015 Subject: [Seaside] local file.html In-Reply-To: <88A0F0E9-A614-430A-AB34-55B0E110E0B2@stfx.eu> References: <88A0F0E9-A614-430A-AB34-55B0E110E0B2@stfx.eu> Message-ID: Hi Joachim and Sven, thanks ! actually it's a html file generated in the server side but as I have both client and server here I thought I could just use a file path for now, which would be turned into an url in localhost/file... This html could be any local html that would have been generated separately. Looking WAIFrameFunctionalTest>>#renderContentOn:, I realized that the sample.png was stored in a virtual folder, /files/WATestingFiles/sample.png which is in fact the WATestingFiles class, and the file is given as a ByteArray by a method. Can't I change this virtual folder by a real folder ? Is it in the configuration ? Pierre 2015-02-05 11:54 GMT-03:00 Sven Van Caekenberghe : > Did you see WAIFrameFunctionalTest>>#renderContentOn: ? > > In any case, you will have to serve the file somehow, for which there are > several options. > > Why do you want to do this ? What is in it ? > > Because if you generated it yourself, you could just as well serve it > directly on demand. > > > On 05 Feb 2015, at 15:26, Pierre CHANSON wrote: > > > > Hi all, > > > > I am starting with Seaside and I would like to put a local file.html in > an Iframe... I have to say that I am stuck with this. Any idea how I should > do that ? > > > > Thanks a lot !! > > > > Pierre > > _______________________________________________ > > seaside mailing list > > seaside@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150205/b22dde08/attachment-0001.htm From marianopeck at gmail.com Thu Feb 5 15:59:27 2015 From: marianopeck at gmail.com (Mariano Martinez Peck) Date: Thu Feb 5 15:59:29 2015 Subject: [Seaside] Re: Ajax requests not redirecting to Login page after session timeout In-Reply-To: <1422556058456-4802521.post@n4.nabble.com> References: <1422556058456-4802521.post@n4.nabble.com> Message-ID: On Thu, Jan 29, 2015 at 3:27 PM, Paul DeBruicker wrote: > Hi Mariano, > > Thats something I wrote. The #ajaxErrorHandler method goes like this: > > > ajaxErrorHandler > ^ ' if (jqxhr.status == 403) { > alert("For security reasons we sign people out during periods > of > inactivity. Please sign in again."); > window.location.href = > settings.url.split("?")[0].replace("help",""); > } else { > alert("This program just broke. You can either try again, sign > out and sign in and try again, or contact us about error: " + exception); > }' > > > the window.location.href line just cleans up the page url by removing the > expired session info. Seaside then starts a new session and the url is > sent > through the #initialRequest: mechanism. In #initialRequest: for my > application I detect which page they were on, show them the login page, > then > once they've authenticated show them the page they were on. > > Thanks Paul!!! That did work perfectly. Thank you very much. > > > Hope this helps > > > Paul. > > > > > > > Mariano Martinez Peck wrote > > Hi guys, > > > > If I have a session timeout, and then I click on a anchor that is > > associated to a ajax call, it does nothing (which is expected) but it > does > > not forward me to the Login page either, as it happens with a timeout and > > a > > normal request. > > > > Any idea how can solve this? > > > > I saw in another email this: > > > > html document > > addLoadScript: > > (html jQuery document > > onAjaxError: (self ajaxErrorHandler > > asFunction: #('event' 'jqxhr' > > 'settings' 'exception'))) > > > > But not sure if it is of help. > > > > Thanks in advance, > > > > > > > > -- > > Mariano > > http://marianopeck.wordpress.com > > > > _______________________________________________ > > seaside mailing list > > > seaside@.squeakfoundation > > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > > > -- > View this message in context: > http://forum.world.st/Ajax-requests-not-redirecting-to-Login-page-after-session-timeout-tp4802509p4802521.html > Sent from the Seaside General mailing list archive at Nabble.com. > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -- Mariano http://marianopeck.wordpress.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150205/d875bb2e/attachment.htm From hilaire at drgeo.eu Fri Feb 6 07:55:20 2015 From: hilaire at drgeo.eu (Hilaire) Date: Fri Feb 6 07:55:29 2015 Subject: [Seaside] Re: MAToOneRelationDescription display In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150206/4ff246aa/attachment-0001.htm -------------- next part -------------- A non-text attachment was scrubbed... Name: adresse.png Type: image/png Size: 5944 bytes Desc: not available Url : http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150206/4ff246aa/adresse-0001.png -------------- next part -------------- A non-text attachment was scrubbed... Name: housing.png Type: image/png Size: 6459 bytes Desc: not available Url : http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150206/4ff246aa/housing-0001.png From chans.pierre at gmail.com Fri Feb 6 20:45:30 2015 From: chans.pierre at gmail.com (Pierre CHANSON) Date: Fri Feb 6 20:45:34 2015 Subject: [Seaside] local file.html In-Reply-To: References: <88A0F0E9-A614-430A-AB34-55B0E110E0B2@stfx.eu> Message-ID: Skipped content of type multipart/alternative-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150206/0ff6573f/sun-0001.html From hilaire at drgeo.eu Fri Feb 6 21:12:04 2015 From: hilaire at drgeo.eu (Hilaire) Date: Fri Feb 6 21:12:21 2015 Subject: [Seaside] Re: MAToOneRelationDescription display In-Reply-To: References: Message-ID: Responding to myself, I added to the model description: reference: (MAContainer with: (MAStringDescription new selectorAccessor: #printString; yourself)); and I overrided printOn: on the model. But it really looks like voodoo and I don't feel comfortable with that... Hilaire Le 06/02/2015 08:55, Hilaire a ?crit : > Le 05/02/2015 13:36, Stephan Eggermont a ?crit : >> I'm afraid I don't quite understand what problem you are running into. > > Hello Stephan, > > Let's explain with an example: -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From hilaire at drgeo.eu Sat Feb 7 09:19:42 2015 From: hilaire at drgeo.eu (Hilaire) Date: Sat Feb 7 09:33:10 2015 Subject: [Seaside] Form generation and validation Message-ID: Dear Seaside fellows, I am wondering which framework/package/methodology you are using in your web project with Seaside regarding form building and data validation. I have been looking lengthly at Magritte and more briefly at Mold. Now I am really wondering about the implication in the long term when it comes to form generation and validation. What was your choice and how do you fell about it now? I will be very glad to read about your experience. Thanks Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From jtuchel at objektfabrik.de Sat Feb 7 17:56:26 2015 From: jtuchel at objektfabrik.de (Joachim Tuchel) Date: Sat Feb 7 17:56:29 2015 Subject: [Seaside] Form generation and validation In-Reply-To: References: Message-ID: <09046846-A0D6-416E-8CE8-A0AC2AC58A04@objektfabrik.de> Hilaire, We took mold and extended it. VA Smalltalk has a lot of converters and such that we integrated into our mold descendant. Magritte also looks promising, but back when we started, there was no port for vast. Joachim > Am 07.02.2015 um 10:19 schrieb Hilaire : > > Dear Seaside fellows, > > I am wondering which framework/package/methodology you are using in your > web project with Seaside regarding form building and data validation. > I have been looking lengthly at Magritte and more briefly at Mold. > > Now I am really wondering about the implication in the long term when it > comes to form generation and validation. > What was your choice and how do you fell about it now? > I will be very glad to read about your experience. > > Thanks > > Hilaire > > -- > Dr. Geo - http://drgeo.eu > iStoa - http://istoa.drgeo.eu > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > From hilaire at drgeo.eu Mon Feb 9 11:30:12 2015 From: hilaire at drgeo.eu (Hilaire) Date: Mon Feb 9 11:30:25 2015 Subject: [Seaside] Re: Form generation and validation In-Reply-To: <09046846-A0D6-416E-8CE8-A0AC2AC58A04@objektfabrik.de> References: <09046846-A0D6-416E-8CE8-A0AC2AC58A04@objektfabrik.de> Message-ID: Hi Joachim, Thanks to share your experience. In my finding I also realised Mold has to be extended a lot to cover the vast needs in forms generation and data validation. For example regarding attribute associated to collection. In that last part, Magritte is pretty well suited and designed, although mastering is more difficult. Hilaire Le 07/02/2015 18:56, Joachim Tuchel a ?crit : > Hilaire, > > We took mold and extended it. VA Smalltalk has a lot of converters and such that we integrated into our mold descendant. Magritte also looks promising, but back when we started, there was no port for vast. > > Joachim > -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From stephan at stack.nl Mon Feb 9 12:00:00 2015 From: stephan at stack.nl (Stephan Eggermont) Date: Mon Feb 9 12:00:05 2015 Subject: [Seaside] Re: Form generation and validation Message-ID: We started with a derivative from Mold called Deltawerken. You can see it in action in the Storyboard application of https://ci.inria.fr/pharo-contribution/job/StoryBoard/ We had a gemstone application deployed for a startup. It worked well. We then moved to Magritte and extended it with QCMagritte. It is very powerful, and the learnability for "advanced" features is difficult. It takes a lot of time to really grasp the concepts and to apply them well. It was a conscious move to go for a platform with more users/ developers than just us, but so far we have not seen anyone get farther than just trying it out. The nice thing about describing the application at a high abstraction level is that it supports switching technologies. Stephan From marianopeck at gmail.com Mon Feb 9 13:18:52 2015 From: marianopeck at gmail.com (Mariano Martinez Peck) Date: Mon Feb 9 13:18:53 2015 Subject: [Seaside] Re: Form generation and validation In-Reply-To: References: Message-ID: Hi Hilaire. For the customer I have been working, we are using Magritte. However, we have extended it soooo much that I am not sure which % of magritte we are still using. We use our each component for each type of description (most of them subclasses of Magritte ones), some own descriptions, own memento + own hooks, own table renderer, own magritte-report, own columns... Everything is AJAXfied and Bootstrap styled. Quite similar to QCMagritte I would say, but maybe more features. The code is not mine (but my client one) and we are analyzing different possibilities to do something with this CRUD system we developed. But we must first focus in the domain usage of it (financial app) that we have now. All of this is to say that Magritte is good to use it, but you likely need to understand it and extend it to have something really useful. Best, On Mon, Feb 9, 2015 at 9:00 AM, Stephan Eggermont wrote: > We started with a derivative from Mold called Deltawerken. You can see it > in action > in the Storyboard application of > https://ci.inria.fr/pharo-contribution/job/StoryBoard/ > We had a gemstone application deployed for a startup. It worked well. > > We then moved to Magritte and extended it with QCMagritte. > It is very powerful, and the learnability for "advanced" features > is difficult. It takes a lot of time to really grasp the concepts > and to apply them well. > > It was a conscious move to go for a platform with more users/ > developers than just us, but so far we have not seen anyone > get farther than just trying it out. > > The nice thing about describing the application at a high > abstraction level is that it supports switching technologies. > > Stephan > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -- Mariano http://marianopeck.wordpress.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150209/cb7a6a42/attachment.htm From emaringolo at gmail.com Mon Feb 9 13:40:59 2015 From: emaringolo at gmail.com (Esteban A. Maringolo) Date: Mon Feb 9 13:41:41 2015 Subject: [Seaside] Re: Form generation and validation In-Reply-To: References: Message-ID: I also use Magritte for form validation and editors. As others also mentioned, Magritte has the building blocks to start doing what you need. However, it is not perfectly suited for highly interactive UI's like nowadays web interfaces, where lots of parts of the UI change in reaction to others. I found QCMagritte covers a lot of what could be missing in Magritte, but its discovery is not straightforward as it is with Magritte, so you have to look at tests or examples to figure out if it does what you need and how to use it. Regards! Esteban A. Maringolo 2015-02-09 10:18 GMT-03:00 Mariano Martinez Peck : > Hi Hilaire. > > For the customer I have been working, we are using Magritte. However, we > have extended it soooo much that I am not sure which % of magritte we are > still using. We use our each component for each type of description (most of > them subclasses of Magritte ones), some own descriptions, own memento + own > hooks, own table renderer, own magritte-report, own columns... Everything is > AJAXfied and Bootstrap styled. > Quite similar to QCMagritte I would say, but maybe more features. The code > is not mine (but my client one) and we are analyzing different possibilities > to do something with this CRUD system we developed. But we must first focus > in the domain usage of it (financial app) that we have now. > > All of this is to say that Magritte is good to use it, but you likely need > to understand it and extend it to have something really useful. > > Best, > From hilaire at drgeo.eu Tue Feb 10 08:35:04 2015 From: hilaire at drgeo.eu (Hilaire) Date: Tue Feb 10 08:35:15 2015 Subject: [Seaside] Re: Form generation and validation In-Reply-To: References: Message-ID: Thanks for your valuable feedbacks. I will try to make my way with Magritte, starting simple and see how I can scale up along the complexity. Hilaire Le 09/02/2015 14:40, Esteban A. Maringolo a ?crit : > I also use Magritte for form validation and editors. > > As others also mentioned, Magritte has the building blocks to start > doing what you need. > > However, it is not perfectly suited for highly interactive UI's like > nowadays web interfaces, where lots of parts of the UI change in > reaction to others. > > I found QCMagritte covers a lot of what could be missing in Magritte, > but its discovery is not straightforward as it is with Magritte, so > you have to look at tests or examples to figure out if it does what > you need and how to use it. > > Regards! > > > Esteban A. Maringolo > > > 2015-02-09 10:18 GMT-03:00 Mariano Martinez Peck : >> Hi Hilaire. >> >> For the customer I have been working, we are using Magritte. However, we >> have extended it soooo much that I am not sure which % of magritte we are >> still using. We use our each component for each type of description (most of >> them subclasses of Magritte ones), some own descriptions, own memento + own >> hooks, own table renderer, own magritte-report, own columns... Everything is >> AJAXfied and Bootstrap styled. >> Quite similar to QCMagritte I would say, but maybe more features. The code >> is not mine (but my client one) and we are analyzing different possibilities >> to do something with this CRUD system we developed. But we must first focus >> in the domain usage of it (financial app) that we have now. >> >> All of this is to say that Magritte is good to use it, but you likely need >> to understand it and extend it to have something really useful. >> >> Best, -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From chans.pierre at gmail.com Tue Feb 10 15:13:33 2015 From: chans.pierre at gmail.com (Pierre CHANSON) Date: Tue Feb 10 15:13:35 2015 Subject: [Seaside] local file.html In-Reply-To: References: <88A0F0E9-A614-430A-AB34-55B0E110E0B2@stfx.eu> Message-ID: Hi again, I am sorry maybe this post is not that interesting but I really do have something I don't understand... This code should be working logically: -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= html iframe attributeAt: 'width' put:'500'; attributeAt: 'height' put:'300'; document: '

Creating a JavaScript Variable.

' mimeType: 'text/javascript'. -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= And I just obtain this... Thanks in advance if someone already did something like this or know how to could it be possible to solve this :) cheers, Pierre ? 2015-02-06 17:45 GMT-03:00 Pierre CHANSON : > hi, > > now I can add a file in LBFileLabrary and put it in an iframe. I am trying > to do the same with the html file using: > > -=-=-=-=-=-=-=-=-=-=-=-=-= > f := html iframe attributeAt: 'width' put:'500'; attributeAt: 'height' > put:'300'; document: (LBFileLibrary new sunHtml) mimeType: 'text/html'. > -=-=-=-=-=-=-=-=-=-=-=-=-= > > Is this supposed to work ? without the mimeType i get the text written in > the iframe and with mimeType: I get nothing. > Maybe I am not using the right mimeType ? (I tried a few without success) > Because this file apparently contains html, javascript and css.... > > > I joined my html file. > > Cheers, > > Pierre > > 2015-02-05 12:56 GMT-03:00 Pierre CHANSON : > > Hi Joachim and Sven, thanks ! >> >> actually it's a html file generated in the server side but as I have both >> client and server here I thought I could just use a file path for now, >> which would be turned into an url in localhost/file... >> >> This html could be any local html that would have been generated >> separately. >> >> Looking WAIFrameFunctionalTest>>#renderContentOn:, I realized that the >> sample.png was stored in a virtual folder, /files/WATestingFiles/sample.png >> which is in fact the WATestingFiles class, and the file is given as a >> ByteArray by a method. Can't I change this virtual folder by a real folder >> ? Is it in the configuration ? >> >> Pierre >> >> >> >> 2015-02-05 11:54 GMT-03:00 Sven Van Caekenberghe : >> >> Did you see WAIFrameFunctionalTest>>#renderContentOn: ? >>> >>> In any case, you will have to serve the file somehow, for which there >>> are several options. >>> >>> Why do you want to do this ? What is in it ? >>> >>> Because if you generated it yourself, you could just as well serve it >>> directly on demand. >>> >>> > On 05 Feb 2015, at 15:26, Pierre CHANSON >>> wrote: >>> > >>> > Hi all, >>> > >>> > I am starting with Seaside and I would like to put a local file.html >>> in an Iframe... I have to say that I am stuck with this. Any idea how I >>> should do that ? >>> > >>> > Thanks a lot !! >>> > >>> > Pierre >>> > _______________________________________________ >>> > seaside mailing list >>> > seaside@lists.squeakfoundation.org >>> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>> >>> _______________________________________________ >>> seaside mailing list >>> seaside@lists.squeakfoundation.org >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150210/f87d4fed/attachment-0001.htm From chans.pierre at gmail.com Tue Feb 10 15:15:01 2015 From: chans.pierre at gmail.com (Pierre CHANSON) Date: Tue Feb 10 15:15:03 2015 Subject: [Seaside] local file.html In-Reply-To: References: <88A0F0E9-A614-430A-AB34-55B0E110E0B2@stfx.eu> Message-ID: Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: javascriptNotworking.png Type: image/png Size: 13764 bytes Desc: not available Url : http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150210/0dcefc54/javascriptNotworking-0001.png From karsten at heeg.de Tue Feb 10 15:19:30 2015 From: karsten at heeg.de (Karsten Kusche) Date: Tue Feb 10 15:20:00 2015 Subject: [Seaside] local file.html In-Reply-To: References: <88A0F0E9-A614-430A-AB34-55B0E110E0B2@stfx.eu> Message-ID: Hi Piere, you?re setting your mimetype to javascript, yet you return HTML. Maybe you should change the mimetype to text/html. Kind Regards Karsten --? Karsten Kusche - Dipl. Inf. (FH) -?karsten@heeg.de Georg Heeg eK - K?then Handelsregister: Amtsgericht Dortmund A 12812? Am 10. Februar 2015 bei 16:13:47, Pierre CHANSON (chans.pierre@gmail.com) schrieb: Hi again, I am sorry maybe this post is not that interesting but I really do have something I don't understand... This code should be working logically: -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= html iframe attributeAt: 'width' put:'500'; attributeAt: 'height' put:'300'; document: '

Creating a JavaScript Variable.

' mimeType: 'text/javascript'. -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= And I just obtain this... Thanks in advance if someone already did something like this or know how to could it be possible to solve this :) cheers, Pierre ? 2015-02-06 17:45 GMT-03:00 Pierre CHANSON : hi, now I can add a file in LBFileLabrary and put it in an iframe. I am trying to do the same with the html file using: -=-=-=-=-=-=-=-=-=-=-=-=-= ??? f := html iframe attributeAt: 'width' put:'500'; attributeAt: 'height' put:'300'; document: (LBFileLibrary new sunHtml) mimeType: 'text/html'. -=-=-=-=-=-=-=-=-=-=-=-=-= Is this supposed to work ? without the mimeType i get the text written in the iframe and with mimeType: I get nothing. Maybe I am not using the right mimeType ? (I tried a few without success) Because this file apparently contains html, javascript and css.... I joined my html file. Cheers, Pierre 2015-02-05 12:56 GMT-03:00 Pierre CHANSON : Hi Joachim and Sven, thanks ! actually it's a html file generated in the server side but as I have both client and server here I thought I could just use a file path for now, which would be turned into an url in localhost/file... This html could be any local html that would have been generated separately. Looking WAIFrameFunctionalTest>>#renderContentOn:, I realized that the sample.png was stored in a virtual folder, /files/WATestingFiles/sample.png which is in fact the WATestingFiles class, and the file is given as a ByteArray by a method.? Can't I change this virtual folder by a real folder ? Is it in the configuration ? Pierre 2015-02-05 11:54 GMT-03:00 Sven Van Caekenberghe : Did you see WAIFrameFunctionalTest>>#renderContentOn: ? In any case, you will have to serve the file somehow, for which there are several options. Why do you want to do this ? What is in it ? Because if you generated it yourself, you could just as well serve it directly on demand. > On 05 Feb 2015, at 15:26, Pierre CHANSON wrote: > > Hi all, > > I am starting with Seaside and I would like to put a local file.html in an Iframe... I have to say that I am stuck with this. Any idea how I should do that ? > > Thanks a lot !! > > Pierre > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150210/ede9503a/attachment.htm From chans.pierre at gmail.com Tue Feb 10 15:35:07 2015 From: chans.pierre at gmail.com (Pierre CHANSON) Date: Tue Feb 10 15:35:12 2015 Subject: [Seaside] local file.html In-Reply-To: References: <88A0F0E9-A614-430A-AB34-55B0E110E0B2@stfx.eu> Message-ID: hi Karsten, yes I tried with this mimeType too but always the same problem. 2015-02-10 12:19 GMT-03:00 Karsten Kusche : > Hi Piere, > > you?re setting your mimetype to javascript, yet you return HTML. Maybe you > should change the mimetype to text/html. > > Kind Regards > Karsten > > > -- > Karsten Kusche - Dipl. Inf. (FH) - karsten@heeg.de > Georg Heeg eK - K?then > Handelsregister: Amtsgericht Dortmund A 12812 > > Am 10. Februar 2015 bei 16:13:47, Pierre CHANSON (chans.pierre@gmail.com) > schrieb: > > > Hi again, I am sorry maybe this post is not that interesting but I really > do have something I don't understand... > > This code should be working logically: > > -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > html iframe attributeAt: 'width' put:'500'; attributeAt: 'height' > put:'300'; document: > > ' > > >

Creating a JavaScript Variable.

>

> > > ' > > mimeType: 'text/javascript'. > > -=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > And I just obtain this... > > > > Thanks in advance if someone already did something like this or know how > to could it be possible to solve this :) > > cheers, > > Pierre > ? > > > > 2015-02-06 17:45 GMT-03:00 Pierre CHANSON : > >> hi, >> >> now I can add a file in LBFileLabrary and put it in an iframe. I am >> trying to do the same with the html file using: >> >> -=-=-=-=-=-=-=-=-=-=-=-=-= >> f := html iframe attributeAt: 'width' put:'500'; attributeAt: >> 'height' put:'300'; document: (LBFileLibrary new sunHtml) mimeType: >> 'text/html'. >> -=-=-=-=-=-=-=-=-=-=-=-=-= >> >> Is this supposed to work ? without the mimeType i get the text written in >> the iframe and with mimeType: I get nothing. >> Maybe I am not using the right mimeType ? (I tried a few without success) >> Because this file apparently contains html, javascript and css.... >> >> >> I joined my html file. >> >> Cheers, >> >> Pierre >> >> 2015-02-05 12:56 GMT-03:00 Pierre CHANSON : >> >> Hi Joachim and Sven, thanks ! >>> >>> actually it's a html file generated in the server side but as I have >>> both client and server here I thought I could just use a file path for now, >>> which would be turned into an url in localhost/file... >>> >>> This html could be any local html that would have been generated >>> separately. >>> >>> Looking WAIFrameFunctionalTest>>#renderContentOn:, I realized that the >>> sample.png was stored in a virtual folder, /files/WATestingFiles/sample.png >>> which is in fact the WATestingFiles class, and the file is given as a >>> ByteArray by a method. Can't I change this virtual folder by a real folder >>> ? Is it in the configuration ? >>> >>> Pierre >>> >>> >>> >>> 2015-02-05 11:54 GMT-03:00 Sven Van Caekenberghe : >>> >>> Did you see WAIFrameFunctionalTest>>#renderContentOn: ? >>>> >>>> In any case, you will have to serve the file somehow, for which there >>>> are several options. >>>> >>>> Why do you want to do this ? What is in it ? >>>> >>>> Because if you generated it yourself, you could just as well serve it >>>> directly on demand. >>>> >>>> > On 05 Feb 2015, at 15:26, Pierre CHANSON >>>> wrote: >>>> > >>>> > Hi all, >>>> > >>>> > I am starting with Seaside and I would like to put a local file.html >>>> in an Iframe... I have to say that I am stuck with this. Any idea how I >>>> should do that ? >>>> > >>>> > Thanks a lot !! >>>> > >>>> > Pierre >>>> > _______________________________________________ >>>> > seaside mailing list >>>> > seaside@lists.squeakfoundation.org >>>> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>>> >>>> _______________________________________________ >>>> seaside mailing list >>>> seaside@lists.squeakfoundation.org >>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>>> >>> >>> >> > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150210/a45c003d/attachment-0001.htm From chans.pierre at gmail.com Tue Feb 10 15:42:45 2015 From: chans.pierre at gmail.com (Pierre CHANSON) Date: Tue Feb 10 15:42:48 2015 Subject: [Seaside] local file.html In-Reply-To: References: <88A0F0E9-A614-430A-AB34-55B0E110E0B2@stfx.eu> Message-ID: Skipped content of type multipart/alternative-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150210/594d8f70/pie.html From hilaire at drgeo.eu Wed Feb 11 10:43:58 2015 From: hilaire at drgeo.eu (Hilaire) Date: Wed Feb 11 10:44:31 2015 Subject: [Seaside] Re: Form generation and validation In-Reply-To: References: Message-ID: Le 09/02/2015 13:00, Stephan Eggermont a ?crit : > It was a conscious move to go for a platform with more users/ > developers than just us, but so far we have not seen anyone > get farther than just trying it out. My felling is the lack of documentation may be the cause, I mean the one you need to really get Magritte useful. The documentation you can read is about basic usage, which is good for trying it out but more is needed for real project. I will be glad to write some notes in the appropriate place (where?) as my understanding progress. For example searching for "Magritte how to write description component" does not bring much: https://duckduckgo.com/?t=lm&q=magritte+how+to+write+description+and+component Thanks Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From hilaire at drgeo.eu Wed Feb 11 13:23:11 2015 From: hilaire at drgeo.eu (Hilaire) Date: Wed Feb 11 13:23:36 2015 Subject: [Seaside] Custom Magritte description and component Message-ID: Hello, Hope it is the good place to ask for. As an exercise, I am implementing a description and a component for a model object (sort of date). The model comes with two attributes: an integer (day) and a symbol (month). So far I have a component with a text field (to input the integer) and a drop down menu to select the month. However I am struggling in the validation part, I don't understand how to get it right; so far I have sort of validation taking place in the component, and I think it is wrong. I have enclosed a fileout of the three classes The model is described with: estimatedDateDescription ^ CGDateDescription new accessor: #estimatedDate; label: 'Estimated date '; priority: 150; beRequired; yourself Thanks a lot Hilaire -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu -------------- next part -------------- A non-text attachment was scrubbed... Name: Magritte-test.cs Type: text/x-csharp Size: 3884 bytes Desc: not available Url : http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150211/9aea79b5/Magritte-test-0001.bin From laura.risani at gmail.com Sun Feb 15 16:03:42 2015 From: laura.risani at gmail.com (Laura Risani) Date: Sun Feb 15 16:03:45 2015 Subject: [Seaside] Book code Message-ID: Hi all, Is there a place where i can download from a package with the code examples of the book Dynamic Web Development with Seaside? Best, Laura -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150215/d9f0d6ba/attachment.htm From johan at inceptive.be Mon Feb 16 08:15:04 2015 From: johan at inceptive.be (Johan Brichau) Date: Mon Feb 16 08:14:53 2015 Subject: [Seaside] Book code In-Reply-To: References: Message-ID: <99C6E761-2753-45F8-8B7D-FA591609FEBC@inceptive.be> I don?t think that the examples have ever been packaged in a repository. Mind that there is a Seaside-Examples package in the Seaside repository Johan > On 15 Feb 2015, at 17:03, Laura Risani wrote: > > Hi all, > > Is there a place where i can download from a package with the code examples of the book Dynamic Web Development with Seaside? > > Best, > Laura > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From renggli at gmail.com Mon Feb 16 14:47:34 2015 From: renggli at gmail.com (Lukas Renggli) Date: Mon Feb 16 14:47:37 2015 Subject: [Seaside] Book code References: <99C6E761-2753-45F8-8B7D-FA591609FEBC@inceptive.be> Message-ID: The code of the two projects is here: http://www.squeaksource.com/SeaBookToDo.html http://www.squeaksource.com/SeaBookCalendars.html Cheers, Lukas On Mon Feb 16 2015 at 9:14:55 AM Johan Brichau wrote: > I don?t think that the examples have ever been packaged in a repository. > Mind that there is a Seaside-Examples package in the Seaside repository > > Johan > > > On 15 Feb 2015, at 17:03, Laura Risani wrote: > > > > Hi all, > > > > Is there a place where i can download from a package with the code > examples of the book Dynamic Web Development with Seaside? > > > > Best, > > Laura > > _______________________________________________ > > seaside mailing list > > seaside@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150216/999f62a7/attachment.htm From johan at inceptive.be Mon Feb 16 15:12:39 2015 From: johan at inceptive.be (Johan Brichau) Date: Mon Feb 16 15:12:46 2015 Subject: [Seaside] Book code In-Reply-To: References: <99C6E761-2753-45F8-8B7D-FA591609FEBC@inceptive.be> Message-ID: Okay, I will copy these to smalltalkhub too :) thx Lukas Johan > On 16 Feb 2015, at 15:47, Lukas Renggli wrote: > > The code of the two projects is here: > http://www.squeaksource.com/SeaBookToDo.html > http://www.squeaksource.com/SeaBookCalendars.html > > Cheers, > Lukas > > On Mon Feb 16 2015 at 9:14:55 AM Johan Brichau > wrote: > I don?t think that the examples have ever been packaged in a repository. > Mind that there is a Seaside-Examples package in the Seaside repository > > Johan > > > On 15 Feb 2015, at 17:03, Laura Risani > wrote: > > > > Hi all, > > > > Is there a place where i can download from a package with the code examples of the book Dynamic Web Development with Seaside? > > > > Best, > > Laura > > _______________________________________________ > > seaside mailing list > > seaside@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150216/d792c854/attachment.htm From laura.risani at gmail.com Mon Feb 16 17:01:34 2015 From: laura.risani at gmail.com (Laura Risani) Date: Mon Feb 16 17:01:37 2015 Subject: [Seaside] Book code In-Reply-To: References: <99C6E761-2753-45F8-8B7D-FA591609FEBC@inceptive.be> Message-ID: Thank you! Best, Laura On Mon, Feb 16, 2015 at 12:12 PM, Johan Brichau wrote: > Okay, I will copy these to smalltalkhub too :) > > thx Lukas > > Johan > > On 16 Feb 2015, at 15:47, Lukas Renggli wrote: > > The code of the two projects is here: > http://www.squeaksource.com/SeaBookToDo.html > http://www.squeaksource.com/SeaBookCalendars.html > > Cheers, > Lukas > > On Mon Feb 16 2015 at 9:14:55 AM Johan Brichau wrote: > >> I don?t think that the examples have ever been packaged in a repository. >> Mind that there is a Seaside-Examples package in the Seaside repository >> >> Johan >> >> > On 15 Feb 2015, at 17:03, Laura Risani wrote: >> > >> > Hi all, >> > >> > Is there a place where i can download from a package with the code >> examples of the book Dynamic Web Development with Seaside? >> > >> > Best, >> > Laura >> > _______________________________________________ >> > seaside mailing list >> > seaside@lists.squeakfoundation.org >> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> >> _______________________________________________ >> seaside mailing list >> seaside@lists.squeakfoundation.org >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150216/7cf6a954/attachment.htm From laura.risani at gmail.com Tue Feb 17 03:58:49 2015 From: laura.risani at gmail.com (Laura Risani) Date: Tue Feb 17 03:58:51 2015 Subject: [Seaside] Debugging Message-ID: Hi all, I'm new to the framework. I've read the Dynamic Web Development book, but i haven't fully understood how do you debug an app. Is there a way to get the usual predebugger / debugger (on Pharo v3) when at a web browser you get errors like "Your request could not be completed. An exception occurred." ? Best, Laura -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150217/511f4141/attachment-0001.htm From jtuchel at objektfabrik.de Tue Feb 17 05:18:13 2015 From: jtuchel at objektfabrik.de (Joachim Tuchel) Date: Tue Feb 17 05:18:13 2015 Subject: [Seaside] Debugging Message-ID: Laura, Seaside ships with several error handlers (subclssses of WAErrorHandler iirc). One of them offers a link with a callback that will open a debugger in the image. You need to configure your application to use the desired error handler. Either go to /config and use the gui or add the error handler in your code that registers your Application. I'm not close to a Smalltalk image right now, so I can't give you concrete soudce code... Joachim Am 17.02.2015 04:58 schrieb Laura Risani : > > Hi all, > > I'm new to the framework. I've read the Dynamic Web Development book, but i haven't fully understood how do you debug an app.? > > Is there a way to get the usual predebugger / debugger (on Pharo v3) when at a web browser you get errors like "Your request could not be completed. An exception occurred." ?? > > Best, > Laura From hilaire at drgeo.eu Tue Feb 17 13:12:52 2015 From: hilaire at drgeo.eu (Hilaire) Date: Tue Feb 17 13:13:13 2015 Subject: [Seaside] Re: Debugging In-Reply-To: References: Message-ID: Hi, See my question a few days ago. Debug is now unactivated by default in Seaside. You can follow this thread to activate it: http://forum.world.st/Debugger-not-any-more-with-Seaside-3-x-tt4803563.html Hilaire Le 17/02/2015 04:58, Laura Risani a ?crit : > Hi all, > > I'm new to the framework. I've read the Dynamic Web Development book, > but i haven't fully understood how do you debug an app. > > Is there a way to get the usual predebugger / debugger (on Pharo v3) > when at a web browser you get errors like "Your request could not be > completed. An exception occurred." ? > > Best, > Laura > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- Dr. Geo - http://drgeo.eu iStoa - http://istoa.drgeo.eu From stormbyte at gmail.com Tue Feb 17 18:02:30 2015 From: stormbyte at gmail.com (David Carlos Manuelda) Date: Tue Feb 17 17:02:58 2015 Subject: [Seaside] Seaside and Connection Reset by Peer problems Message-ID: I'm stressing test a seaside pharo image with the default configuration by using apache's ab benchmark tool. I have a ZnZincServerAdaptor listenning on port 8080 (created via seaside menu GUI). The problem is that I am starting to receive connection reset by peer when the number of concurrent connection grows, which I think can be dangerous on a loaded server. These are the test I've run (default configuration, seaside welcome page) ( SUCCESSFUL ) ab -c 60 -n 5000 http://127.0.0.1:8080/ This is ApacheBench, Version 2.3 <$Revision: 1638069 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 500 requests Completed 1000 requests Completed 1500 requests Completed 2000 requests Completed 2500 requests Completed 3000 requests Completed 3500 requests Completed 4000 requests Completed 4500 requests Completed 5000 requests Finished 5000 requests Server Software: Zinc Server Hostname: 127.0.0.1 Server Port: 8080 Document Path: / Document Length: 4954 bytes Concurrency Level: 60 Time taken for tests: 13.859 seconds Complete requests: 5000 Failed requests: 0 Total transferred: 25620000 bytes HTML transferred: 24770000 bytes Requests per second: 360.78 [#/sec] (mean) Time per request: 166.306 [ms] (mean) Time per request: 2.772 [ms] (mean, across all concurrent requests) Transfer rate: 1805.31 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 37 233.8 0 7010 Processing: 7 101 436.7 71 12857 Waiting: 7 101 436.7 71 12857 Total: 8 138 537.0 72 13858 Percentage of the requests served within a certain time (ms) 50% 72 66% 83 75% 87 80% 88 90% 104 95% 216 98% 1087 99% 1275 100% 13858 (longest request) ( FAILING CONNECTIONS ) ab -c 600 -n 5000 http://127.0.0.1:8080/ This is ApacheBench, Version 2.3 <$Revision: 1638069 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 500 requests Completed 1000 requests Completed 1500 requests Completed 2000 requests Completed 2500 requests Completed 3000 requests apr_socket_recv: Connection reset by peer (104) Total of 3349 requests completed stormbyte@zero ~ $ ab -c 600 -n 5000 http://127.0.0.1:8080/ This is ApacheBench, Version 2.3 <$Revision: 1638069 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 500 requests Completed 1000 requests Completed 1500 requests Completed 2000 requests apr_socket_recv: Connection reset by peer (104) Total of 2097 requests completed I would appreciate any help or direction so I can configure it better or whatever makes me not to be stuck by this anymore as I am out of ideas (at first, I thought it was my code, but it is reproducible with "vanilla" seaside) Thanks. From stormbyte at gmail.com Tue Feb 17 18:04:59 2015 From: stormbyte at gmail.com (David Carlos Manuelda) Date: Tue Feb 17 17:10:10 2015 Subject: [Seaside] Re: Seaside and Connection Reset by Peer problems References: Message-ID: David Carlos Manuelda wrote: > I'm stressing test a seaside pharo image with the default configuration by > using apache's ab benchmark tool. > > I have a ZnZincServerAdaptor listenning on port 8080 (created via seaside > menu GUI). > > The problem is that I am starting to receive connection reset by peer when > the number of concurrent connection grows, which I think can be dangerous > on a loaded server. > > These are the test I've run (default configuration, seaside welcome page) > > > ( SUCCESSFUL ) > ab -c 60 -n 5000 http://127.0.0.1:8080/ > This is ApacheBench, Version 2.3 <$Revision: 1638069 $> > Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ > Licensed to The Apache Software Foundation, http://www.apache.org/ > > Benchmarking 127.0.0.1 (be patient) > Completed 500 requests > Completed 1000 requests > Completed 1500 requests > Completed 2000 requests > Completed 2500 requests > Completed 3000 requests > Completed 3500 requests > Completed 4000 requests > Completed 4500 requests > Completed 5000 requests > Finished 5000 requests > > > Server Software: Zinc > Server Hostname: 127.0.0.1 > Server Port: 8080 > > Document Path: / > Document Length: 4954 bytes > > Concurrency Level: 60 > Time taken for tests: 13.859 seconds > Complete requests: 5000 > Failed requests: 0 > Total transferred: 25620000 bytes > HTML transferred: 24770000 bytes > Requests per second: 360.78 [#/sec] (mean) > Time per request: 166.306 [ms] (mean) > Time per request: 2.772 [ms] (mean, across all concurrent requests) > Transfer rate: 1805.31 [Kbytes/sec] received > > Connection Times (ms) > min mean[+/-sd] median max > Connect: 0 37 233.8 0 7010 > Processing: 7 101 436.7 71 12857 > Waiting: 7 101 436.7 71 12857 > Total: 8 138 537.0 72 13858 > > Percentage of the requests served within a certain time (ms) > 50% 72 > 66% 83 > 75% 87 > 80% 88 > 90% 104 > 95% 216 > 98% 1087 > 99% 1275 > 100% 13858 (longest request) > > > > > > ( FAILING CONNECTIONS ) > ab -c 600 -n 5000 http://127.0.0.1:8080/ > This is ApacheBench, Version 2.3 <$Revision: 1638069 $> > Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ > Licensed to The Apache Software Foundation, http://www.apache.org/ > > Benchmarking 127.0.0.1 (be patient) > Completed 500 requests > Completed 1000 requests > Completed 1500 requests > Completed 2000 requests > Completed 2500 requests > Completed 3000 requests > apr_socket_recv: Connection reset by peer (104) > Total of 3349 requests completed > stormbyte@zero ~ $ ab -c 600 -n 5000 http://127.0.0.1:8080/ > This is ApacheBench, Version 2.3 <$Revision: 1638069 $> > Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ > Licensed to The Apache Software Foundation, http://www.apache.org/ > > Benchmarking 127.0.0.1 (be patient) > Completed 500 requests > Completed 1000 requests > Completed 1500 requests > Completed 2000 requests > apr_socket_recv: Connection reset by peer (104) > Total of 2097 requests completed > > > > > > > I would appreciate any help or direction so I can configure it better or > whatever makes me not to be stuck by this anymore as I am out of ideas (at > first, I thought it was my code, but it is reproducible with "vanilla" > seaside) > > Thanks. I forgot to point that the -c argument gives the number of concurrent connections (in this case, 20 was successful, but 200+ was failing some of them) From laura.risani at gmail.com Tue Feb 17 17:16:40 2015 From: laura.risani at gmail.com (Laura Risani) Date: Tue Feb 17 17:16:42 2015 Subject: [Seaside] Re: Debugging In-Reply-To: References: Message-ID: Excellent. My apologies for not searching first through archived list mails, i'll do it in the future before posting. On Tue, Feb 17, 2015 at 10:12 AM, Hilaire wrote: > Hi, > > See my question a few days ago. Debug is now unactivated by default in > Seaside. > You can follow this thread to activate it: > http://forum.world.st/Debugger-not-any-more-with-Seaside-3-x-tt4803563.html > > Hilaire > > > > Le 17/02/2015 04:58, Laura Risani a ?crit : > > Hi all, > > > > I'm new to the framework. I've read the Dynamic Web Development book, > > but i haven't fully understood how do you debug an app. > > > > Is there a way to get the usual predebugger / debugger (on Pharo v3) > > when at a web browser you get errors like "Your request could not be > > completed. An exception occurred." ? > > > > Best, > > Laura > > > > > > _______________________________________________ > > seaside mailing list > > seaside@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > -- > Dr. Geo - http://drgeo.eu > iStoa - http://istoa.drgeo.eu > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150217/b5e849d1/attachment.htm From SEBASTIAN at FLOWINGCONCEPT.COM Tue Feb 17 17:35:48 2015 From: SEBASTIAN at FLOWINGCONCEPT.COM (Sebastian Sastre) Date: Tue Feb 17 17:37:10 2015 Subject: [Seaside] Seaside and Connection Reset by Peer problems In-Reply-To: References: Message-ID: To be safe, if you want to go beyond 10 or 15 concurrent connections you put additional Pharo image workers so you scale your application horizontally. It makes good use of CPU too. There is a point in which all stacks have to do it, so yes, I think you are testing the borders of one Pharo worker. PS: when you use more than one, you have to design your app in a "more stateless way" and use sticky sessions > On Feb 17, 2015, at 4:04 PM, David Carlos Manuelda > wrote: > > David Carlos Manuelda wrote: > >> I'm stressing test a seaside pharo image with the default configuration by >> using apache's ab benchmark tool. >> >> I have a ZnZincServerAdaptor listenning on port 8080 (created via seaside >> menu GUI). >> >> The problem is that I am starting to receive connection reset by peer when >> the number of concurrent connection grows, which I think can be dangerous >> on a loaded server. >> >> These are the test I've run (default configuration, seaside welcome page) >> >> >> ( SUCCESSFUL ) >> ab -c 60 -n 5000 http://127.0.0.1:8080/ >> This is ApacheBench, Version 2.3 <$Revision: 1638069 $> >> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ >> Licensed to The Apache Software Foundation, http://www.apache.org/ >> >> Benchmarking 127.0.0.1 (be patient) >> Completed 500 requests >> Completed 1000 requests >> Completed 1500 requests >> Completed 2000 requests >> Completed 2500 requests >> Completed 3000 requests >> Completed 3500 requests >> Completed 4000 requests >> Completed 4500 requests >> Completed 5000 requests >> Finished 5000 requests >> >> >> Server Software: Zinc >> Server Hostname: 127.0.0.1 >> Server Port: 8080 >> >> Document Path: / >> Document Length: 4954 bytes >> >> Concurrency Level: 60 >> Time taken for tests: 13.859 seconds >> Complete requests: 5000 >> Failed requests: 0 >> Total transferred: 25620000 bytes >> HTML transferred: 24770000 bytes >> Requests per second: 360.78 [#/sec] (mean) >> Time per request: 166.306 [ms] (mean) >> Time per request: 2.772 [ms] (mean, across all concurrent requests) >> Transfer rate: 1805.31 [Kbytes/sec] received >> >> Connection Times (ms) >> min mean[+/-sd] median max >> Connect: 0 37 233.8 0 7010 >> Processing: 7 101 436.7 71 12857 >> Waiting: 7 101 436.7 71 12857 >> Total: 8 138 537.0 72 13858 >> >> Percentage of the requests served within a certain time (ms) >> 50% 72 >> 66% 83 >> 75% 87 >> 80% 88 >> 90% 104 >> 95% 216 >> 98% 1087 >> 99% 1275 >> 100% 13858 (longest request) >> >> >> >> >> >> ( FAILING CONNECTIONS ) >> ab -c 600 -n 5000 http://127.0.0.1:8080/ >> This is ApacheBench, Version 2.3 <$Revision: 1638069 $> >> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ >> Licensed to The Apache Software Foundation, http://www.apache.org/ >> >> Benchmarking 127.0.0.1 (be patient) >> Completed 500 requests >> Completed 1000 requests >> Completed 1500 requests >> Completed 2000 requests >> Completed 2500 requests >> Completed 3000 requests >> apr_socket_recv: Connection reset by peer (104) >> Total of 3349 requests completed >> stormbyte@zero ~ $ ab -c 600 -n 5000 http://127.0.0.1:8080/ >> This is ApacheBench, Version 2.3 <$Revision: 1638069 $> >> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ >> Licensed to The Apache Software Foundation, http://www.apache.org/ >> >> Benchmarking 127.0.0.1 (be patient) >> Completed 500 requests >> Completed 1000 requests >> Completed 1500 requests >> Completed 2000 requests >> apr_socket_recv: Connection reset by peer (104) >> Total of 2097 requests completed >> >> >> >> >> >> >> I would appreciate any help or direction so I can configure it better or >> whatever makes me not to be stuck by this anymore as I am out of ideas (at >> first, I thought it was my code, but it is reproducible with "vanilla" >> seaside) >> >> Thanks. > > I forgot to point that the -c argument gives the number of concurrent > connections (in this case, 20 was successful, but 200+ was failing some of > them) > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150217/42cf5b2b/attachment-0001.htm From stormbyte at gmail.com Tue Feb 17 18:52:24 2015 From: stormbyte at gmail.com (David Carlos Manuelda) Date: Tue Feb 17 17:52:50 2015 Subject: [Seaside] Re: Seaside and Connection Reset by Peer problems References: Message-ID: Sebastian Sastre wrote: > To be safe, if you want to go beyond 10 or 15 concurrent connections you > put additional Pharo image workers so you scale your application > horizontally. It makes good use of CPU too. > > There is a point in which all stacks have to do it, so yes, I think you > are testing the borders of one Pharo worker. > > PS: when you use more than one, you have to design your app in a "more > stateless way" and use sticky sessions > Thanks for your response. Yes, in previous tests, I made an array with 8 pharo images with nginx as load balancer with sticky sessions, and, of course it responded to ~1k concurrent petitions without problems, but of course, it still failed beyond some point, so that is why I decided to run tests on a single one. Isn't there any way to change this behavior, for example by letting a higher timeout or something else in order not to have those connections rejected so soon? Because in my opinion, less than 300 petition per second on the same image is not such a high load for it to be starting to drop connections. From sven at stfx.eu Tue Feb 17 18:14:49 2015 From: sven at stfx.eu (Sven Van Caekenberghe) Date: Tue Feb 17 18:14:54 2015 Subject: [Seaside] Re: Seaside and Connection Reset by Peer problems In-Reply-To: References: Message-ID: <13BEC8D3-078F-4B5E-B7FD-EF4A27CA1C38@stfx.eu> David, You are benchmarking 'session creation', not 'session using', think about it. Correctly benchmarking Seaside is very hard to do because it is state full by definition. You need to increase #listenBacklogSize up from 32 if you want more concurrency. Normal performance for 1 Seaside image is 50-100 full dynamic req/s Performance for a pure Zinc HTTP server can be 10x as much, for example, serving a single byte reusing connections, but will drop when the work/size per request is increased. Load balancing is the answer, as well as off loading static resource serving. Sven > On 17 Feb 2015, at 19:52, David Carlos Manuelda wrote: > > Sebastian Sastre wrote: > >> To be safe, if you want to go beyond 10 or 15 concurrent connections you >> put additional Pharo image workers so you scale your application >> horizontally. It makes good use of CPU too. >> >> There is a point in which all stacks have to do it, so yes, I think you >> are testing the borders of one Pharo worker. >> >> PS: when you use more than one, you have to design your app in a "more >> stateless way" and use sticky sessions >> > Thanks for your response. > > Yes, in previous tests, I made an array with 8 pharo images with nginx as > load balancer with sticky sessions, and, of course it responded to ~1k > concurrent petitions without problems, but of course, it still failed beyond > some point, so that is why I decided to run tests on a single one. > > Isn't there any way to change this behavior, for example by letting a higher > timeout or something else in order not to have those connections rejected so > soon? Because in my opinion, less than 300 petition per second on the same > image is not such a high load for it to be starting to drop connections. > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From laura.risani at gmail.com Tue Feb 17 18:31:43 2015 From: laura.risani at gmail.com (Laura Risani) Date: Tue Feb 17 18:31:44 2015 Subject: [Seaside] Expiring a session Message-ID: Hi all, In DWDWS book it says that to manually expire a session you can use the msg WASession>>expire , but this msg seems to exist no longer. I've searched WASession msgs and old post but dind't find the answer. How then do one manually expire a session? Best, Laura -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150217/0f72291b/attachment.htm From jtuchel at objektfabrik.de Tue Feb 17 19:30:36 2015 From: jtuchel at objektfabrik.de (jtuchel@objektfabrik.de) Date: Tue Feb 17 19:30:39 2015 Subject: [Seaside] Expiring a session In-Reply-To: References: Message-ID: <54E396DC.2080007@objektfabrik.de> try #unregister Joachim Am 17.02.15 um 19:31 schrieb Laura Risani: > Hi all, > > In DWDWS book it says that to manually expire a session you can use > the msg > WASession>>expire , but this msg seems to exist no longer. I've > searched WASession msgs and old post but dind't find the answer. > How then do one manually expire a session? > > Best, > Laura > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150217/6fbbe02d/attachment.htm From sebastian at flowingconcept.com Tue Feb 17 21:32:06 2015 From: sebastian at flowingconcept.com (Sebastian Sastre) Date: Tue Feb 17 21:32:16 2015 Subject: [Seaside] Seaside and Connection Reset by Peer problems In-Reply-To: References: Message-ID: <52FB6E66-88A0-482A-ACAA-D1EEF92054C0@flowingconcept.com> > On Feb 17, 2015, at 4:52 PM, David Carlos Manuelda wrote: > > and, of course it responded to ~1k > concurrent petitions without problems, but of course, it still failed beyond > some point, so that is why I decided to run tests on a single one. > > Isn't there any way to change this behavior, for example by letting a higher > timeout or something else in order not to have those connections rejected so > soon? Because in my opinion, less than 300 petition per second on the same > image is not such a high load for it to be starting to drop connections. So you know there is a number. NodeJS, Ruby VM, the JVM even Google they all also have a number in which they have to do horizontal scaling. The best question you can use now is if your number for your concrete app is giving you stuff in a way that is cheap enough to horizontally scale going safely to profitability (or not). Pharo is getting better by the day so you will have some ?free rides? ahead to enjoy. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150217/860897a6/attachment.htm From laura.risani at gmail.com Wed Feb 18 03:58:08 2015 From: laura.risani at gmail.com (Laura Risani) Date: Wed Feb 18 03:58:10 2015 Subject: [Seaside] Anchor appearance when script attached Message-ID: Hi all, I want to attach a jQuery script to an anchor element while keeping the regular anchor appearance (i mean that web browsers render it like any other anchor, being focusable), and to be triggered under the same conditions a callback would (clicked / pressing a key while having focus). I can attach the script by sending html anchor onClick: aScript; onKeyDown:aScript but then the printed anchor looks on the web browser like regular text and don't get foucs. Best, Laura -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150218/bb208ce1/attachment-0001.htm From jtuchel at objektfabrik.de Wed Feb 18 08:31:03 2015 From: jtuchel at objektfabrik.de (jtuchel@objektfabrik.de) Date: Wed Feb 18 08:31:06 2015 Subject: [Seaside] Anchor appearance when script attached In-Reply-To: References: Message-ID: <54E44DC7.5060004@objektfabrik.de> Laura, the appearance of an anchor is not dependent on whether it has event handlers attached to it. So I guess there is more to it thant just onClick and onKeyDown. The best thing to find out what's foing on is to look at the anchor in your web browser's dev tools and see what styles are in place for your anchor. This sure helps you find the reason for the change in its rendering. Joachim Am 18.02.15 um 04:58 schrieb Laura Risani: > Hi all, > > I want to attach a jQuery script to an anchor element while keeping > the regular anchor appearance (i mean that web browsers render it like > any other anchor, being focusable), and to be triggered under the same > conditions a callback would (clicked / pressing a key while having focus). > > I can attach the script by sending > html anchor onClick: aScript; onKeyDown:aScript > but then the printed anchor looks on the web browser like regular text > and don't get foucs. > > Best, > Laura > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150218/8c4523c3/attachment.htm From johan at inceptive.be Wed Feb 18 08:33:40 2015 From: johan at inceptive.be (Johan Brichau) Date: Wed Feb 18 08:33:47 2015 Subject: [Seaside] Anchor appearance when script attached In-Reply-To: References: Message-ID: Hi Laura, You need to include an href attribute with the anchor. Seaside puts one when you add a callback and if you do not need that (like in your example), you can set the href yourself using the #url: message. We typically set the href to ?javascript:{}? html anchor url:?javascript:{}?; onClick: aScript; onKeyDown:aScript Also see this discussion: http://stackoverflow.com/questions/10510191/valid-to-use-a-anchor-tag-without-href-attribute/10510353#10510353 cheers, Johan > On 18 Feb 2015, at 04:58, Laura Risani wrote: > > Hi all, > > I want to attach a jQuery script to an anchor element while keeping the regular anchor appearance (i mean that web browsers render it like any other anchor, being focusable), and to be triggered under the same conditions a callback would (clicked / pressing a key while having focus). > > I can attach the script by sending > html anchor onClick: aScript; onKeyDown:aScript > but then the printed anchor looks on the web browser like regular text and don't get foucs. > > Best, > Laura > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150218/38beb455/attachment.htm From jtuchel at objektfabrik.de Wed Feb 18 09:13:19 2015 From: jtuchel at objektfabrik.de (jtuchel@objektfabrik.de) Date: Wed Feb 18 09:13:23 2015 Subject: [Seaside] Anchor appearance when script attached In-Reply-To: References: Message-ID: <54E457AF.8060002@objektfabrik.de> Wow, so I learned something again ;-) Am 18.02.15 um 09:33 schrieb Johan Brichau: > Hi Laura, > > You need to include an href attribute with the anchor. > Seaside puts one when you add a callback and if you do not need that > (like in your example), you can set the href yourself using the #url: > message. > > We typically set the href to ?javascript:{}? > > html anchor url:?javascript:{}?; onClick: aScript; onKeyDown:aScript > > Also see this discussion: > http://stackoverflow.com/questions/10510191/valid-to-use-a-anchor-tag-without-href-attribute/10510353#10510353 > > cheers, > Johan > >> On 18 Feb 2015, at 04:58, Laura Risani > > wrote: >> >> Hi all, >> >> I want to attach a jQuery script to an anchor element while keeping >> the regular anchor appearance (i mean that web browsers render it >> like any other anchor, being focusable), and to be triggered under >> the same conditions a callback would (clicked / pressing a key while >> having focus). >> >> I can attach the script by sending >> html anchor onClick: aScript; onKeyDown:aScript >> but then the printed anchor looks on the web browser like regular >> text and don't get foucs. >> >> Best, >> Laura >> _______________________________________________ >> seaside mailing list >> seaside@lists.squeakfoundation.org >> >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150218/b3532bdb/attachment.htm From stormbyte at gmail.com Wed Feb 18 17:28:57 2015 From: stormbyte at gmail.com (David Carlos Manuelda) Date: Wed Feb 18 16:29:30 2015 Subject: [Seaside] Re: Anchor appearance when script attached References: <54E457AF.8060002@objektfabrik.de> Message-ID: jtuchel@objektfabrik.de wrote: > Wow, so I learned something again ;-) > > Am 18.02.15 um 09:33 schrieb Johan Brichau: >> Hi Laura, >> >> You need to include an href attribute with the anchor. >> Seaside puts one when you add a callback and if you do not need that >> (like in your example), you can set the href yourself using the #url: >> message. >> >> We typically set the href to ?javascript:{}? >> >> html anchor url:?javascript:{}?; onClick: aScript; onKeyDown:aScript >> >> Also see this discussion: >> http://stackoverflow.com/questions/10510191/valid-to-use-a-anchor-tag-without-href-attribute/10510353#10510353 >> >> cheers, >> Johan >> >>> On 18 Feb 2015, at 04:58, Laura Risani >> > wrote: >>> >>> Hi all, >>> >>> I want to attach a jQuery script to an anchor element while keeping >>> the regular anchor appearance (i mean that web browsers render it >>> like any other anchor, being focusable), and to be triggered under >>> the same conditions a callback would (clicked / pressing a key while >>> having focus). >>> >>> I can attach the script by sending >>> html anchor onClick: aScript; onKeyDown:aScript >>> but then the printed anchor looks on the web browser like regular >>> text and don't get foucs. >>> >>> Best, >>> Laura >>> _______________________________________________ >>> seaside mailing list >>> seaside@lists.squeakfoundation.org >>> >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> >> >> >> _______________________________________________ >> seaside mailing list >> seaside@lists.squeakfoundation.org >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > I also noticed that behavior when a callback *or* a href message is not given to the anchor, so either set a href as being suggested to, or set a callback. From laura.risani at gmail.com Wed Feb 18 16:31:58 2015 From: laura.risani at gmail.com (Laura Risani) Date: Wed Feb 18 16:32:00 2015 Subject: [Seaside] Anchor appearance when script attached In-Reply-To: <54E457AF.8060002@objektfabrik.de> References: <54E457AF.8060002@objektfabrik.de> Message-ID: Thank you Joachim and Johan for your answers. I had tried adding "callback:[]" but that renders the whole page again. Very interesting the discussion on SO about the semantic and functional nature of the anchor tag. On Wed, Feb 18, 2015 at 6:13 AM, jtuchel@objektfabrik.de < jtuchel@objektfabrik.de> wrote: > Wow, so I learned something again ;-) > > Am 18.02.15 um 09:33 schrieb Johan Brichau: > > Hi Laura, > > You need to include an href attribute with the anchor. > Seaside puts one when you add a callback and if you do not need that (like > in your example), you can set the href yourself using the #url: message. > > We typically set the href to ?javascript:{}? > > html anchor url:?javascript:{}?; onClick: aScript; onKeyDown:aScript > > Also see this discussion: > http://stackoverflow.com/questions/10510191/valid-to-use-a-anchor-tag-without-href-attribute/10510353#10510353 > > cheers, > Johan > > On 18 Feb 2015, at 04:58, Laura Risani wrote: > > Hi all, > > I want to attach a jQuery script to an anchor element while keeping the > regular anchor appearance (i mean that web browsers render it like any > other anchor, being focusable), and to be triggered under the same > conditions a callback would (clicked / pressing a key while having focus). > > I can attach the script by sending > html anchor onClick: aScript; onKeyDown:aScript > but then the printed anchor looks on the web browser like regular text and > don't get foucs. > > Best, > Laura > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > > _______________________________________________ > seaside mailing listseaside@lists.squeakfoundation.orghttp://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > -- > ----------------------------------------------------------------------- > Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de > Fliederweg 1 http://www.objektfabrik.de > D-71640 Ludwigsburg http://joachimtuchel.wordpress.com > Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 > > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150218/e961d5a9/attachment-0001.htm From rauch at yebu.de Wed Feb 18 18:35:24 2015 From: rauch at yebu.de (=?utf-8?B?cmF1Y2hAeWVidS5kZQ==?=) Date: Wed Feb 18 18:35:29 2015 Subject: [Seaside] unsubscribe Message-ID: Gru? J?rgen ----- Reply message ----- Von: seaside-request@lists.squeakfoundation.org An: Betreff: seaside Digest, Vol 146, Issue 16 Datum: Mi., Feb. 18, 2015 19:32 Send seaside mailing list submissions to seaside@lists.squeakfoundation.org To subscribe or unsubscribe via the World Wide Web, visit http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside or, via email, send a message with subject or body 'help' to seaside-request@lists.squeakfoundation.org You can reach the person managing the list at seaside-owner@lists.squeakfoundation.org When replying, please edit your Subject line so it is more specific than "Re: Contents of seaside digest..." -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150218/1d80811d/attachment.htm From johan at inceptive.be Wed Feb 18 19:17:07 2015 From: johan at inceptive.be (Johan Brichau) Date: Wed Feb 18 19:17:11 2015 Subject: [Seaside] Anchor appearance when script attached In-Reply-To: References: <54E457AF.8060002@objektfabrik.de> Message-ID: <249E7CC5-E997-460E-B92F-087F3E2D6BDB@inceptive.be> Laura, > I had tried adding "callback:[]" but that renders the whole page again. That?s to be expected. I just wanted to make clear that if you do not add a callback, you need to set a url (href attribute) yourself or the browser will not show it as a (clickable) link. Johan From stephan at stack.nl Thu Feb 19 09:44:21 2015 From: stephan at stack.nl (stephan) Date: Thu Feb 19 09:44:25 2015 Subject: [Seaside] Re: #reference In-Reply-To: References: Message-ID: <54E5B075.8090400@stack.nl> Forwarded for Diego Hi all, The reference is the magritte description of the object you are referencing. It has a default that returns ?default? magritte description. In example if you have the following description: MAToOneRelationDescription new label: ?demo?; accessor: #demo; classes: (Array with: MADescription); yourself It will have a reference that has a default of MADescription magritteTemplate magritteDescription. Example usage: If you are displaying reports, its columns are initialised based on this reference. So the means you can set this reference to display a custom set of columns. Cheers, Diego From lasmiste at gmail.com Thu Feb 19 11:23:09 2015 From: lasmiste at gmail.com (Dave) Date: Thu Feb 19 11:30:01 2015 Subject: [Seaside] Change component on initialRequest: Message-ID: <1424344989792-4806479.post@n4.nabble.com> Hi guys, I'm trying to display a specific component when a user go to a specific url (sort of bookmarkable url). I wanted to call a component in the initialRequest but looking at WAPresenter>>initialRequest: it says: "You can not use #call: in here. Consider using a WATask instead and sending #call: in #go." but it's not really clear to me how to use a task, can you point me in the right direction? Thanks Dave -- View this message in context: http://forum.world.st/Change-component-on-initialRequest-tp4806479.html Sent from the Seaside General mailing list archive at Nabble.com. From sebastian at flowingconcept.com Thu Feb 19 13:59:29 2015 From: sebastian at flowingconcept.com (Sebastian Sastre) Date: Thu Feb 19 13:59:35 2015 Subject: [Seaside] Change component on initialRequest: In-Reply-To: <1424344989792-4806479.post@n4.nabble.com> References: <1424344989792-4806479.post@n4.nabble.com> Message-ID: <8B3A2FB2-2046-4BF2-9A7A-A8D32BBF1746@flowingconcept.com> I do not use Seaside tasks. What I do is render a MainComponent without using #call: and teach that guy how to do things If you do that, you can take the initial request and somehow make your app what this MainComponent should do helps? > On Feb 19, 2015, at 9:23 AM, Dave wrote: > > Hi guys, > I'm trying to display a specific component when a user go to a specific url > (sort of bookmarkable url). > I wanted to call a component in the initialRequest but looking at > WAPresenter>>initialRequest: it says: "You can not use #call: in here. > Consider using a WATask instead and sending #call: in #go." > > but it's not really clear to me how to use a task, can you point me in the > right direction? > > Thanks > Dave > > > > -- > View this message in context: http://forum.world.st/Change-component-on-initialRequest-tp4806479.html > Sent from the Seaside General mailing list archive at Nabble.com. > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From lasmiste at gmail.com Thu Feb 19 14:02:08 2015 From: lasmiste at gmail.com (Dave) Date: Thu Feb 19 14:09:00 2015 Subject: [Seaside] Re: Change component on initialRequest: In-Reply-To: <8B3A2FB2-2046-4BF2-9A7A-A8D32BBF1746@flowingconcept.com> References: <1424344989792-4806479.post@n4.nabble.com> <8B3A2FB2-2046-4BF2-9A7A-A8D32BBF1746@flowingconcept.com> Message-ID: <1424354528132-4806509.post@n4.nabble.com> sebastian@flowingconcept.com wrote > I do not use Seaside tasks. > > What I do is render a MainComponent without using #call: and teach that > guy how to do things > > If you do that, you can take the initial request and somehow make your app > what this MainComponent should do > > helps? Hi Sebastian, So I guess in your MainComponent you have a logic like... aCondition ifTrue:[self renderThis] ifFalse:[self renderThat] Right? That's fine, even if I would have liked to use components. Thanks Dave -- View this message in context: http://forum.world.st/Change-component-on-initialRequest-tp4806479p4806509.html Sent from the Seaside General mailing list archive at Nabble.com. From craig at hivemind.net Fri Feb 20 06:20:09 2015 From: craig at hivemind.net (Craig) Date: Fri Feb 20 06:20:38 2015 Subject: [Seaside] Seaside Coding Pattern Message-ID: Hi All, A pretty-much universal pattern of coding of Web Apps in non-image based languages (C#, PHP, Java) is: * The incoming web request starts a process * some objects are instantiated, usually from a SQL datastore, * some interactions occur with these objects * optionally, some database modifications are made * a response is sent to the web browser * all the temporary variables that point to the objects go out-of-scope * all the objects are garbage collected I caught myself coding a Seaside app using the same pattern and wondered if it's sub-optimal in an image based language. So, is this an acceptable way to code a Seaside app? Should I rather be using long-lived image based objects? Stored in a collection hung off a class variable. Comments would be appreciated. Craig From Lou at Keystone-Software.com Fri Feb 20 15:05:54 2015 From: Lou at Keystone-Software.com (Louis LaBrunda) Date: Fri Feb 20 15:06:10 2015 Subject: [Seaside] Seaside Coding Pattern References: Message-ID: Hi Craig, >Hi All, > >A pretty-much universal pattern of coding of Web Apps in non-image based >languages (C#, PHP, Java) is: > * The incoming web request starts a process > * some objects are instantiated, usually from a SQL datastore, > * some interactions occur with these objects > * optionally, some database modifications are made > * a response is sent to the web browser > * all the temporary variables that point to the objects go >out-of-scope > * all the objects are garbage collected > >I caught myself coding a Seaside app using the same pattern and wondered if >it's sub-optimal in an image based language. > >So, is this an acceptable way to code a Seaside app? Should I rather be >using long-lived image based objects? Stored in a collection hung off a >class variable. > >Comments would be appreciated. > >Craig My Seaside experience has gotten a little stale, so I will give you a quick answer and I'm sure someone with more recent experience will have more to say about it. Seaside is designed to be state full. Sessions persist for the duration of a connection (more or less). Look for a class with a name like Session, if you sub class it you can add your own instance variables that will be available for the session. Also look into connecting setter/getter methods of your objects to fields in the browser. The fields will be populated with the values (if any) from the objects on the way out and set with the new values on the way back from the web browser. This is way easier than having to look up the field names/values in a dictionary on the way back like I think you have to do in Ruby/Rails (I'm not sure but I think this is how Rails works). Lou ----------------------------------------------------------- Louis LaBrunda Keystone Software Corp. SkypeMe callto://PhotonDemon mailto:Lou@Keystone-Software.com http://www.Keystone-Software.com From laura.risani at gmail.com Fri Feb 20 15:35:30 2015 From: laura.risani at gmail.com (Laura Risani) Date: Fri Feb 20 15:35:33 2015 Subject: [Seaside] Expiring a session In-Reply-To: <54E396DC.2080007@objektfabrik.de> References: <54E396DC.2080007@objektfabrik.de> Message-ID: Thanks Joachim , found the solution. On Tue, Feb 17, 2015 at 4:30 PM, jtuchel@objektfabrik.de < jtuchel@objektfabrik.de> wrote: > try #unregister > > Joachim > > Am 17.02.15 um 19:31 schrieb Laura Risani: > > Hi all, > > In DWDWS book it says that to manually expire a session you can use the > msg > WASession>>expire , but this msg seems to exist no longer. I've searched > WASession msgs and old post but dind't find the answer. > How then do one manually expire a session? > > Best, > Laura > > > _______________________________________________ > seaside mailing listseaside@lists.squeakfoundation.orghttp://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > -- > ----------------------------------------------------------------------- > Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de > Fliederweg 1 http://www.objektfabrik.de > D-71640 Ludwigsburg http://joachimtuchel.wordpress.com > Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 > > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150220/e86f590a/attachment-0001.htm From sebastian at flowingconcept.com Fri Feb 20 16:29:00 2015 From: sebastian at flowingconcept.com (Sebastian Sastre) Date: Fri Feb 20 16:29:11 2015 Subject: [Seaside] Seaside Coding Pattern In-Reply-To: References: Message-ID: This is a great question. And the answer I have depends a bit on what you want to optimize. Let?s assume you want to optimize load and scale the app (I?ve answered about Seaside and scale here [1]). Regardless of the ?vendor?s" VM, when is about load, you need to think way beyond the load capacity of one image (horizontal scaling). And that influences your app design a bit. RESTful architectures tend to profit from this. There is a benefit on load and parallelisation in doing things more state-less and perhaps preserving state only in some backend like a database or some cache system like Redis or memcached. It even makes you more fault tolerant since you might have not 1 database server or 1 cache server but clusters of them. I always remember Werner Vogels saying that they learnt this lesson the hard way and that you should design things in a way that when it crashes, a quick respawn would make issues to not-disrupt the user. If you kept state in your image and it crashes (and it will) then, if that state was only in the image then is gone and your user will be disrupted. That?s why I keep as less state as I could (mostly UI/session related). [1] http://stackoverflow.com/questions/1451989/does-seaside-scale/4717214#4717214 > On Feb 20, 2015, at 4:20 AM, Craig wrote: > > Hi All, > > A pretty-much universal pattern of coding of Web Apps in non-image based > languages (C#, PHP, Java) is: > * The incoming web request starts a process > * some objects are instantiated, usually from a SQL datastore, > * some interactions occur with these objects > * optionally, some database modifications are made > * a response is sent to the web browser > * all the temporary variables that point to the objects go > out-of-scope > * all the objects are garbage collected > > I caught myself coding a Seaside app using the same pattern and wondered if > it's sub-optimal in an image based language. > > So, is this an acceptable way to code a Seaside app? Should I rather be > using long-lived image based objects? Stored in a collection hung off a > class variable. > > Comments would be appreciated. > > Craig > > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150220/dbae98ce/attachment.htm From stephan at stack.nl Mon Feb 23 20:32:23 2015 From: stephan at stack.nl (Stephan Eggermont) Date: Mon Feb 23 20:40:07 2015 Subject: [Seaside] Re: Seaside Coding Pattern In-Reply-To: References: Message-ID: On 20/02/15 17:29, Sebastian Sastre wrote: > This is a great question. > > And the answer I have depends a bit on what you want to optimize. > > Let?s assume you want to optimize load and scale the app The real strength of Seaside is on the other end of the spectrum: very complex domain, not much scaling. Keep everything in ram (except large resources that you keep out of the image). That way you can have a much faster development cycle. Stephan From laura.risani at gmail.com Tue Feb 24 15:47:52 2015 From: laura.risani at gmail.com (Laura Risani) Date: Tue Feb 24 15:47:53 2015 Subject: [Seaside] Where to download Comet package Message-ID: Hi all, I've manually installed Seaside following the instructions on the official page, but i don't have any Comet package. Where can i download it from Best, Laura -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150224/a8ae2c76/attachment.htm From laura.risani at gmail.com Tue Feb 24 18:52:15 2015 From: laura.risani at gmail.com (Laura Risani) Date: Tue Feb 24 18:52:19 2015 Subject: [Seaside] Pass jQuery result to callback Message-ID: Hi all, I want the following to occur to when an anchor (with href set to ?javascript:{}?, the issue is that the page shouldn't be re-renderer) is clicked 1?find some information on the rendered html page 2?send it back from client side jQuery allows me to make scripts for both steps (for 1? query methods, for 2? #callback:). My problem is i don't know how to bind these two steps in a single script, since from what i know i can't add and asign to a smalltalk temp inside a script and i can't perform queries from within a callback block (cause the html renderer no longer exists). So, how do i add a temp variable inside the script and how i merge the 3 resulting "step" scripts into one? Love, Laura -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150224/08dbc8db/attachment.htm From pdebruic at gmail.com Tue Feb 24 21:51:10 2015 From: pdebruic at gmail.com (Paul DeBruicker) Date: Tue Feb 24 21:58:39 2015 Subject: [Seaside] Re: Where to download Comet package In-Reply-To: References: Message-ID: <1424814670223-4807412.post@n4.nabble.com> Its in the main Seaside repo: MCHttpRepository location: 'http://smalltalkhub.com/mc/Seaside/Seaside31/main' user: '' password: '' I'd guess that you should be able to load it with a ConfigurationOfSeaside3 project stableVersion load:'Comet' too, but haven't tried. laura wrote > Hi all, > > I've manually installed Seaside following the instructions on the official > page, but i don't have any Comet package. Where can i download it from > > Best, > Laura > > _______________________________________________ > seaside mailing list > seaside@.squeakfoundation > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- View this message in context: http://forum.world.st/Where-to-download-Comet-package-tp4807310p4807412.html Sent from the Seaside General mailing list archive at Nabble.com. From pdebruic at gmail.com Tue Feb 24 21:55:07 2015 From: pdebruic at gmail.com (Paul DeBruicker) Date: Tue Feb 24 22:02:36 2015 Subject: [Seaside] Re: Pass jQuery result to callback In-Reply-To: References: Message-ID: <1424814907494-4807413.post@n4.nabble.com> Does JQAjax>>#callback:value: & friends do what you need? e.g. html anchor url:'#'; onClick:(html jQuery ajax callback:[:val | self processValueFromPage: val] value:(html jQuery id:'myDiv') data); with:'send data to server' laura wrote > Hi all, > > I want the following to occur to when an anchor (with href set to > ?javascript:{}?, the issue is that the page shouldn't be re-renderer) is > clicked > 1?find some information on the rendered html page > 2?send it back from client side > jQuery allows me to make scripts for both steps (for 1? query methods, for > 2? #callback:). My problem is i don't know how to bind these two steps in > a > single script, since from what i know i can't add and asign to a smalltalk > temp inside a script and i can't perform queries from within a callback > block (cause the html renderer no longer exists). So, how do i add a temp > variable inside the script and how i merge the 3 resulting "step" scripts > into one? > > Love, > Laura > > _______________________________________________ > seaside mailing list > seaside@.squeakfoundation > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- View this message in context: http://forum.world.st/Pass-jQuery-result-to-callback-tp4807374p4807413.html Sent from the Seaside General mailing list archive at Nabble.com. From laura.risani at gmail.com Tue Feb 24 22:39:05 2015 From: laura.risani at gmail.com (Laura Risani) Date: Tue Feb 24 22:39:08 2015 Subject: [Seaside] Re: Pass jQuery result to callback In-Reply-To: <1424814907494-4807413.post@n4.nabble.com> References: <1424814907494-4807413.post@n4.nabble.com> Message-ID: Happily it does! I had seen the methods before and felt excited to try them, but after reading on method #callback:value: the comment "Note: anObject should be a single literal Javascript object (String, Number" i thought i couldn't pass as argument of #value: something like (html jQuery id:'myDiv') data cause afaik that is an JQueryInstance instance. Such a lovely tool Seaside! Thank you Paul for solving my day :) On Tue, Feb 24, 2015 at 6:55 PM, Paul DeBruicker wrote: > > Does JQAjax>>#callback:value: & friends do what you need? > > e.g. > > html anchor > url:'#'; > onClick:(html jQuery ajax callback:[:val | self processValueFromPage: > val] value:(html jQuery id:'myDiv') data); > with:'send data to server' > > > > > > laura wrote > > Hi all, > > > > I want the following to occur to when an anchor (with href set to > > ?javascript:{}?, the issue is that the page shouldn't be re-renderer) is > > clicked > > 1?find some information on the rendered html page > > 2?send it back from client side > > jQuery allows me to make scripts for both steps (for 1? query methods, > for > > 2? #callback:). My problem is i don't know how to bind these two steps in > > a > > single script, since from what i know i can't add and asign to a > smalltalk > > temp inside a script and i can't perform queries from within a callback > > block (cause the html renderer no longer exists). So, how do i add a temp > > variable inside the script and how i merge the 3 resulting "step" scripts > > into one? > > > > Love, > > Laura > > > > _______________________________________________ > > seaside mailing list > > > seaside@.squeakfoundation > > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > > > -- > View this message in context: > http://forum.world.st/Pass-jQuery-result-to-callback-tp4807374p4807413.html > Sent from the Seaside General mailing list archive at Nabble.com. > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150224/7798f63d/attachment-0001.htm From laura.risani at gmail.com Tue Feb 24 22:42:42 2015 From: laura.risani at gmail.com (Laura Risani) Date: Tue Feb 24 22:42:44 2015 Subject: [Seaside] Re: Where to download Comet package In-Reply-To: <1424814670223-4807412.post@n4.nabble.com> References: <1424814670223-4807412.post@n4.nabble.com> Message-ID: Shame on me, looked at Google/Seaside website/old list mails but not on main repo... Thanks On Tue, Feb 24, 2015 at 6:51 PM, Paul DeBruicker wrote: > Its in the main Seaside repo: > > MCHttpRepository > location: 'http://smalltalkhub.com/mc/Seaside/Seaside31/main' > user: '' > password: '' > > I'd guess that you should be able to load it with a > > ConfigurationOfSeaside3 project stableVersion load:'Comet' > > > too, but haven't tried. > > > > > > > laura wrote > > Hi all, > > > > I've manually installed Seaside following the instructions on the > official > > page, but i don't have any Comet package. Where can i download it from > > > > Best, > > Laura > > > > _______________________________________________ > > seaside mailing list > > > seaside@.squeakfoundation > > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > > > -- > View this message in context: > http://forum.world.st/Where-to-download-Comet-package-tp4807310p4807412.html > Sent from the Seaside General mailing list archive at Nabble.com. > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150224/520993fe/attachment.htm From laura.risani at gmail.com Wed Feb 25 01:11:19 2015 From: laura.risani at gmail.com (Laura Risani) Date: Wed Feb 25 01:11:21 2015 Subject: [Seaside] Listening to a comet app Message-ID: Hi all, I'm trying to set up the listening for a comet app. Following DWDWS book section 22.2 i tried to send WAListenerAdaptor startOn: 8888 . Since it didn't work (i download Seaside manually) i went to Seaside main repo and loaded the last version of package Seaside-Adaptors-Comanche. And it seems to work, but when i point my web browser to the port 8888 i get an error (on ide side) cause a msg is send to the class HttpRequest which isn't loaded on the image. Am i loading the package wrong? Love, Laura -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150224/5f7aa144/attachment.htm From philippe.marschall at gmail.com Wed Feb 25 21:04:17 2015 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Wed Feb 25 21:04:21 2015 Subject: [Seaside] Listening to a comet app In-Reply-To: References: Message-ID: On Wed, Feb 25, 2015 at 2:11 AM, Laura Risani wrote: > Hi all, > > I'm trying to set up the listening for a comet app. Following DWDWS book > section 22.2 i tried to send > WAListenerAdaptor startOn: 8888 . > Since it didn't work (i download Seaside manually) i went to Seaside main > repo and loaded the last version of package > Seaside-Adaptors-Comanche. > And it seems to work, but when i point my web browser to the port 8888 i get > an error (on ide side) cause a msg is send to the class HttpRequest which > isn't loaded on the image. > Am i loading the package wrong? Do you have a stack trace? Did you load with: ConfigurationOfSeaside3 project stableVersion load:'Comet' Cheers Philippe From pdebruic at gmail.com Wed Feb 25 23:15:35 2015 From: pdebruic at gmail.com (Paul DeBruicker) Date: Wed Feb 25 23:23:14 2015 Subject: [Seaside] Re: Listening to a comet app In-Reply-To: References: Message-ID: <1424906135731-4807728.post@n4.nabble.com> Because you're in pharo 3 it may be best to use Zinc and look into what Sven says in this thread http://forum.world.st/Seaside-3-0-on-Pharo-2-0-Zinc-and-comet-td4680272.html#a4680378 The Seaside book probably needs instructions to non-Comanche server adaptors. laura wrote > Hi all, > > I'm trying to set up the listening for a comet app. Following DWDWS book > section 22.2 i tried to send > WAListenerAdaptor startOn: 8888 . > Since it didn't work (i download Seaside manually) i went to Seaside main > repo and loaded the last version of package > Seaside-Adaptors-Comanche. > And it seems to work, but when i point my web browser to the port 8888 i > get an error (on ide side) cause a msg is send to the class HttpRequest > which isn't loaded on the image. > Am i loading the package wrong? > > Love, > Laura > > _______________________________________________ > seaside mailing list > seaside@.squeakfoundation > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- View this message in context: http://forum.world.st/Listening-to-a-comet-app-tp4807441p4807728.html Sent from the Seaside General mailing list archive at Nabble.com. From laura.risani at gmail.com Wed Feb 25 23:24:02 2015 From: laura.risani at gmail.com (Laura Risani) Date: Wed Feb 25 23:24:04 2015 Subject: [Seaside] Listening to a comet app In-Reply-To: References: Message-ID: No, i just loaded the package from the package browser... When you are interested in loading a package, how do you know if it is enough loading it from package browser or if you should load it from a configuration? I mean, how do you know that a given package can be loaded from a configuration? How do you know what "things" can be loaded from a configuration? Do you use a common class browser on a configuration / versionner / or there is another tool? On Wed, Feb 25, 2015 at 6:04 PM, Philippe Marschall < philippe.marschall@gmail.com> wrote: > On Wed, Feb 25, 2015 at 2:11 AM, Laura Risani > wrote: > > Hi all, > > > > I'm trying to set up the listening for a comet app. Following DWDWS book > > section 22.2 i tried to send > > WAListenerAdaptor startOn: 8888 . > > Since it didn't work (i download Seaside manually) i went to Seaside main > > repo and loaded the last version of package > > Seaside-Adaptors-Comanche. > > And it seems to work, but when i point my web browser to the port 8888 i > get > > an error (on ide side) cause a msg is send to the class HttpRequest which > > isn't loaded on the image. > > Am i loading the package wrong? > > Do you have a stack trace? Did you load with: > > ConfigurationOfSeaside3 project stableVersion load:'Comet' > > Cheers > Philippe > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150225/31604b03/attachment.htm From pdebruic at gmail.com Thu Feb 26 15:17:34 2015 From: pdebruic at gmail.com (Paul DeBruicker) Date: Thu Feb 26 15:25:16 2015 Subject: [Seaside] Re: Listening to a comet app In-Reply-To: References: Message-ID: <1424963854526-4807936.post@n4.nabble.com> laura wrote > No, i just loaded the package from the package browser... > > When you are interested in loading a package, how do you know if it is > enough loading it from package browser or if you should load it from a > configuration? I mean, how do you know that a given package can be loaded > from a configuration? > > How do you know what "things" can be loaded from a configuration? Do you > use a common class browser on a configuration / versionner / or there is > another tool? You can't tell if its enough to load just the package from just the package itself. It would be nice if it worked differently but it does not. There is also no way to tell which ConfigurationOf* or BaselineOf* contains the loading information for package. In general it is one of the ConfigurationOf* or BaselineOf* packages in the same repo as the package of interest. So start with those when thinking about loading a package. When you load just the package you risk missing dependencies. About the only place those dependencies are recorded in the Pharo universe is in a Metacello ConfigurationOf or BaselineOf. I just use the common class browser on the ConfigurationOf* or BaselineOf* to see whats provided by the config. I'd be happy to learn a better way though. If Smalltalkhub (http://smalltalkhub.com) had a code browser then you could learn from the website what loads what, but it does not so you have to use the image. SqueakSource (http://squeaksource.com) and SqueakSource3 (http://ss3.gemtalksystems.com) have code browsers so you don't have to use a image to learn about the configs stored there. A better way to discover and track these things would be useful for sure. -- View this message in context: http://forum.world.st/Listening-to-a-comet-app-tp4807441p4807936.html Sent from the Seaside General mailing list archive at Nabble.com. From philippe.marschall at gmail.com Thu Feb 26 20:57:54 2015 From: philippe.marschall at gmail.com (Philippe Marschall) Date: Thu Feb 26 20:57:57 2015 Subject: [Seaside] Re: Listening to a comet app In-Reply-To: <1424906135731-4807728.post@n4.nabble.com> References: <1424906135731-4807728.post@n4.nabble.com> Message-ID: On Thu, Feb 26, 2015 at 12:15 AM, Paul DeBruicker wrote: > Because you're in pharo 3 it may be best to use Zinc and look into what Sven > says in this thread AFAIK the Seaside Comet support never has been ported to Zinc (it's a bit problematic since it wants to drive the listen loop). Zinc does support WebSockets natively though. > http://forum.world.st/Seaside-3-0-on-Pharo-2-0-Zinc-and-comet-td4680272.html#a4680378 > > > The Seaside book probably needs instructions to non-Comanche server > adaptors. The supported interface is the same on all adaptors. You just need to load a different group from Metacello. Cheers Philippe From sergio.rrd at gmail.com Fri Feb 27 16:45:19 2015 From: sergio.rrd at gmail.com (sergio_101) Date: Fri Feb 27 16:45:21 2015 Subject: [Seaside] Concurrent Programming Message-ID: i am currently writing a facebook application in seaside. one of the most important pieces of data i need to retrieve is the user's friends list. unfortunately, this could end up being a substantial amount of data. fortunately, the load time for this data is not horrible, just a few seconds. i am making the assumption that while interacting with my app, the user will not be adding new friends mid stream, and that during each session, the friends list will be static. what i would like to do is make this happen completely behind the scenes, so that when the user logs in, the request for the friends list is fired off RIGHT AFTER the page is rendered. i read the section on concurrency in 'deep into pharo', and while incomplete, it makes enough sense for me to try it. my question is.. i am going to do something like: [currentUser updateData] fork 1. if i want to do that RIGHT AFTER rendering, can i put that at the end of renderContentOn: html ? 2. when i want to work with the data, how would i know if it was done updating? i was thinking of using a semaphore.. but how would i let the next process know to keep waiting until the process was done? i would want to do something like: getFriendsList (but make sure process that populates it is done before running the request). thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150227/41b3c476/attachment-0001.htm From sebastian at flowingconcept.com Fri Feb 27 20:27:18 2015 From: sebastian at flowingconcept.com (Sebastian Sastre) Date: Fri Feb 27 20:27:30 2015 Subject: [Seaside] Concurrent Programming In-Reply-To: References: Message-ID: <03CF1C69-5159-4966-8B5E-560683924243@flowingconcept.com> why the fork that way? I?d think more into make it a normal render page that has a little piece of javascript that will do an ajax hit to a server callback to do whatever you want, no? > On Feb 27, 2015, at 1:45 PM, sergio_101 wrote: > > i am currently writing a facebook application in seaside. one of the most important pieces of data i need to retrieve is the user's friends list. unfortunately, this could end up being a substantial amount of data. fortunately, the load time for this data is not horrible, just a few seconds. > i am making the assumption that while interacting with my app, the user will not be adding new friends mid stream, and that during each session, the friends list will be static. > > what i would like to do is make this happen completely behind the scenes, so that when the user logs in, the request for the friends list is fired off RIGHT AFTER the page is rendered. > i read the section on concurrency in 'deep into pharo', and while incomplete, it makes enough sense for me to try it. > my question is.. i am going to do something like: > > [currentUser updateData] fork > > 1. if i want to do that RIGHT AFTER rendering, can i put that at the end of renderContentOn: html ? > 2. when i want to work with the data, how would i know if it was done updating? i was thinking of using a semaphore.. but how would i let the next process know to keep waiting until the process was done? i would want to do something like: getFriendsList (but make sure process that populates it is done before running the request). > > thanks! > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside From sergio.rrd at gmail.com Fri Feb 27 20:42:42 2015 From: sergio.rrd at gmail.com (sergio_101) Date: Fri Feb 27 20:42:46 2015 Subject: [Seaside] Concurrent Programming References: <03CF1C69-5159-4966-8B5E-560683924243@flowingconcept.com> Message-ID: i think i am having alot of difficulty understanding out to phrase ajax and jquery calls in seaside.. everywhere else, i use jquery etc unobtrusively.. so i don't leave the javacript world when i write javascript. i just can't seem to find anything that makes sense on how to do something as simple as this using pure seaside/smalltalk. i can't really even understand what the "<<" in: script: [ :s | s << (s jQuery: #logger) html: DateAndTime now ]); does.. in plain english, i would like to do this: - when the page loads, call the url as an ajax function - set the variable -> currentUser friendsList: (from the above) but i am not understanding how to even code this.. thanks! On Fri, Feb 27, 2015 at 3:27 PM Sebastian Sastre < sebastian@flowingconcept.com> wrote: > why the fork that way? > > I?d think more into make it a normal render page that has a little piece > of javascript that will do an ajax hit to a server callback to do whatever > you want, no? > > > > > > On Feb 27, 2015, at 1:45 PM, sergio_101 wrote: > > > > i am currently writing a facebook application in seaside. one of the > most important pieces of data i need to retrieve is the user's friends > list. unfortunately, this could end up being a substantial amount of data. > fortunately, the load time for this data is not horrible, just a few > seconds. > > i am making the assumption that while interacting with my app, the user > will not be adding new friends mid stream, and that during each session, > the friends list will be static. > > > > what i would like to do is make this happen completely behind the > scenes, so that when the user logs in, the request for the friends list is > fired off RIGHT AFTER the page is rendered. > > i read the section on concurrency in 'deep into pharo', and while > incomplete, it makes enough sense for me to try it. > > my question is.. i am going to do something like: > > > > [currentUser updateData] fork > > > > 1. if i want to do that RIGHT AFTER rendering, can i put that at the end > of renderContentOn: html ? > > 2. when i want to work with the data, how would i know if it was done > updating? i was thinking of using a semaphore.. but how would i let the > next process know to keep waiting until the process was done? i would want > to do something like: getFriendsList (but make sure process that populates > it is done before running the request). > > > > thanks! > > _______________________________________________ > > seaside mailing list > > seaside@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150227/dfad0e1f/attachment.htm From pdebruic at gmail.com Sat Feb 28 02:59:33 2015 From: pdebruic at gmail.com (Paul DeBruicker) Date: Sat Feb 28 03:07:27 2015 Subject: [Seaside] Re: Concurrent Programming In-Reply-To: References: <03CF1C69-5159-4966-8B5E-560683924243@flowingconcept.com> Message-ID: <1425092373221-4808473.post@n4.nabble.com> Hmmmm. In your plain English example is what you want happening in the client browser or in your smalltalk image, ideally? If you want the friends data in your image then you should consider using Ramon Leon's ThreadPool: http://onsmalltalk.com/2010-07-28-a-simple-thread-pool-for-smalltalk . I've kept it working here: http://smalltalkhub.com/#!/~pdebruic/ThreadPool You could use it to get the friends data from Facebook into the image. Then poll for results from the client to update any divs/views. You can queue the thread pool requests in your login callback before you even begin rendering things. If you just want to load the friends into a div only in the client its probably easier to write a JS function in an external file and call it from Seaside using the info specific to the user. e.g. html div id:'friendList' script: ((html jQuery id: 'friendList') call: 'loadFriendList' with: self userFacebookID). Look at the JSScript class for the definition of #<< . It just concatenates the scripts. The #script: method passes a stream into the block, and the << writes whatever you've written onto that stream. Check the senders and implementors to get your bearings. When you have time please send things like: "I think this code "____code example_____" should do "____expected behavior____" but instead it does "____jumbly voodoo_____" instead. What don't I understand? Hope this helps. Paul sergio_101 wrote > i think i am having alot of difficulty understanding out to phrase ajax > and > jquery calls in seaside.. everywhere else, i use jquery etc > unobtrusively.. > so i don't leave the javacript world when i write javascript. i just can't > seem to find anything that makes sense on how to do something as simple as > this using pure seaside/smalltalk. > > i can't really even understand what the "<<" in: > script: [ :s | s << (s jQuery: #logger) html: DateAndTime now > ]); > does.. > > in plain english, i would like to do this: > > - when the page loads, call the url as an ajax function > - set the variable -> currentUser friendsList: (from the above) > > but i am not understanding how to even code this.. > > thanks! > > > > > > On Fri, Feb 27, 2015 at 3:27 PM Sebastian Sastre < > sebastian@ >> wrote: > >> why the fork that way? >> >> I?d think more into make it a normal render page that has a little piece >> of javascript that will do an ajax hit to a server callback to do >> whatever >> you want, no? >> >> >> >> >> > On Feb 27, 2015, at 1:45 PM, sergio_101 < > sergio.rrd@ > > wrote: >> > >> > i am currently writing a facebook application in seaside. one of the >> most important pieces of data i need to retrieve is the user's friends >> list. unfortunately, this could end up being a substantial amount of >> data. >> fortunately, the load time for this data is not horrible, just a few >> seconds. >> > i am making the assumption that while interacting with my app, the user >> will not be adding new friends mid stream, and that during each session, >> the friends list will be static. >> > >> > what i would like to do is make this happen completely behind the >> scenes, so that when the user logs in, the request for the friends list >> is >> fired off RIGHT AFTER the page is rendered. >> > i read the section on concurrency in 'deep into pharo', and while >> incomplete, it makes enough sense for me to try it. >> > my question is.. i am going to do something like: >> > >> > [currentUser updateData] fork >> > >> > 1. if i want to do that RIGHT AFTER rendering, can i put that at the >> end >> of renderContentOn: html ? >> > 2. when i want to work with the data, how would i know if it was done >> updating? i was thinking of using a semaphore.. but how would i let the >> next process know to keep waiting until the process was done? i would >> want >> to do something like: getFriendsList (but make sure process that >> populates >> it is done before running the request). >> > >> > thanks! >> > _______________________________________________ >> > seaside mailing list >> > > seaside@.squeakfoundation >> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> >> _______________________________________________ >> seaside mailing list >> > seaside@.squeakfoundation >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> > > _______________________________________________ > seaside mailing list > seaside@.squeakfoundation > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- View this message in context: http://forum.world.st/Concurrent-Programming-tp4808376p4808473.html Sent from the Seaside General mailing list archive at Nabble.com. From pdebruic at gmail.com Sat Feb 28 03:04:26 2015 From: pdebruic at gmail.com (Paul DeBruicker) Date: Sat Feb 28 03:12:19 2015 Subject: [Seaside] Re: Concurrent Programming In-Reply-To: <1425092373221-4808473.post@n4.nabble.com> References: <03CF1C69-5159-4966-8B5E-560683924243@flowingconcept.com> <1425092373221-4808473.post@n4.nabble.com> Message-ID: <1425092666965-4808475.post@n4.nabble.com> Oh, and futures: http://onsmalltalk.com/smalltalk-concurrency-playing-with-futures You probably want Futures if you're gonna poll from the client. Paul DeBruicker wrote > Hmmmm. > > In your plain English example is what you want happening in the client > browser or in your smalltalk image, ideally? > > > If you want the friends data in your image then you should consider using > Ramon Leon's ThreadPool: > http://onsmalltalk.com/2010-07-28-a-simple-thread-pool-for-smalltalk . > I've kept it working here: http://smalltalkhub.com/#!/~pdebruic/ThreadPool > You could use it to get the friends data from Facebook into the image. > Then poll for results from the client to update any divs/views. You can > queue the thread pool requests in your login callback before you even > begin rendering things. > > > > If you just want to load the friends into a div only in the client its > probably easier to write a JS function in an external file and call it > from Seaside using the info specific to the user. e.g. > > html div > id:'friendList' > script: ((html jQuery id: 'friendList') call: 'loadFriendList' with: > self userFacebookID). > > > > Look at the JSScript class for the definition of #<< . It just > concatenates the scripts. The #script: method passes a stream into the > block, and the << writes whatever you've written onto that stream. Check > the senders and implementors to get your bearings. > > > When you have time please send things like: > > "I think this code "____code example_____" should do "____expected > behavior____" but instead it does "____jumbly voodoo_____" instead. What > don't I understand? > > > Hope this helps. > > > Paul > > sergio_101 wrote >> i think i am having alot of difficulty understanding out to phrase ajax >> and >> jquery calls in seaside.. everywhere else, i use jquery etc >> unobtrusively.. >> so i don't leave the javacript world when i write javascript. i just >> can't >> seem to find anything that makes sense on how to do something as simple >> as >> this using pure seaside/smalltalk. >> >> i can't really even understand what the "<<" in: >> script: [ :s | s << (s jQuery: #logger) html: DateAndTime now >> ]); >> does.. >> >> in plain english, i would like to do this: >> >> - when the page loads, call the url as an ajax function >> - set the variable -> currentUser friendsList: (from the above) >> >> but i am not understanding how to even code this.. >> >> thanks! >> >> >> >> >> >> On Fri, Feb 27, 2015 at 3:27 PM Sebastian Sastre < >> sebastian@ >>> wrote: >> >>> why the fork that way? >>> >>> I?d think more into make it a normal render page that has a little piece >>> of javascript that will do an ajax hit to a server callback to do >>> whatever >>> you want, no? >>> >>> >>> >>> >>> > On Feb 27, 2015, at 1:45 PM, sergio_101 < >> sergio.rrd@ >> > wrote: >>> > >>> > i am currently writing a facebook application in seaside. one of the >>> most important pieces of data i need to retrieve is the user's friends >>> list. unfortunately, this could end up being a substantial amount of >>> data. >>> fortunately, the load time for this data is not horrible, just a few >>> seconds. >>> > i am making the assumption that while interacting with my app, the >>> user >>> will not be adding new friends mid stream, and that during each session, >>> the friends list will be static. >>> > >>> > what i would like to do is make this happen completely behind the >>> scenes, so that when the user logs in, the request for the friends list >>> is >>> fired off RIGHT AFTER the page is rendered. >>> > i read the section on concurrency in 'deep into pharo', and while >>> incomplete, it makes enough sense for me to try it. >>> > my question is.. i am going to do something like: >>> > >>> > [currentUser updateData] fork >>> > >>> > 1. if i want to do that RIGHT AFTER rendering, can i put that at the >>> end >>> of renderContentOn: html ? >>> > 2. when i want to work with the data, how would i know if it was done >>> updating? i was thinking of using a semaphore.. but how would i let the >>> next process know to keep waiting until the process was done? i would >>> want >>> to do something like: getFriendsList (but make sure process that >>> populates >>> it is done before running the request). >>> > >>> > thanks! >>> > _______________________________________________ >>> > seaside mailing list >>> > >> seaside@.squeakfoundation >>> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>> >>> _______________________________________________ >>> seaside mailing list >>> >> seaside@.squeakfoundation >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >>> >> >> _______________________________________________ >> seaside mailing list >> seaside@.squeakfoundation >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -- View this message in context: http://forum.world.st/Concurrent-Programming-tp4808376p4808475.html Sent from the Seaside General mailing list archive at Nabble.com. From brauer at nordakademie.de Sat Feb 28 11:53:49 2015 From: brauer at nordakademie.de (Johannes Brauer) Date: Sat Feb 28 11:53:58 2015 Subject: [Seaside] Seaside 3.1 vs Seaside 3.0.10 - no seaside walkback anymore? Message-ID: <6C1833B6-EF52-48D6-9834-E30F4A470A6A@nordakademie.de> Hi, in Seasde 3.0.10 I get a seaside walkback like this one: Seaside Walkback MessageNotUnderstood: NoNopolyMain>>spielerEingabe Debug Proceed Full Stack Possible Causes In 3.1 I get only this message: MessageNotUnderstood: NoNopolyMain>>spielerEingabe Your request could not be completed. An exception occurred. Especially I do miss the debug link. Is it possible the get in in Seaside 3.1? Johannes ________________________________ Staatlich anerkannte private Fachhochschule NORDAKADEMIE Gemeinn?tzige Aktiengesellschaft K?llner Chaussee 11 25337 Elmshorn Vorstand: Prof. Dr. Georg Plate (Vorsitzender), Dipl.-Ing. J?rg Meier (stellv. Vorstand) Vorsitzender des Aufsichtsrats: Dr. h.c. Hans-Heinrich Bruns Sitz: Elmshorn, Amtsgericht Pinneberg, HRB 1682 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150228/01de77df/attachment-0001.htm From laura.risani at gmail.com Sat Feb 28 18:59:53 2015 From: laura.risani at gmail.com (Laura Risani) Date: Sat Feb 28 18:59:55 2015 Subject: [Seaside] Re: Listening to a comet app In-Reply-To: References: <1424906135731-4807728.post@n4.nabble.com> Message-ID: Hi, Thank you Philippe and Paul for your answers. I'm just trying to build my first rather simple Seaside app based on DWDWS book, so i'd rather use Comet, for future use i'll consider WebSockets. I've been trying to run some of the examples at package Comet-Examples , but i couldn't put up a streaming server adaptor. I've tried with WAListenerAdaptor and ZnZincStreamingServerAdaptor. In the case of WAListenerAdaptor ... WAListenerAdaptor sends a msg to HttpRequest who in turn sends String>>#unescapePercentsWithTextEncoding: which leads to a predebug window saying 'The method String>>unescapePercentsWithTextEncoding: has been deprecated. #unescapePercentsWithTextEncoding: has been replaced with ZnPercentEncoder' In the case of ZnZincStreamingServerAdaptor... An error 'Improper store into indexable object' is risen coming from aWAComboResponse sending aZdcSocketStream nextPut: $ In both cases i started the adaptors sending to the respective class #startOn:portInteger. I'm using Pharo v3. I have loaded Comet , and just in case, Zinc and Kom , sending ConfigurationOfSeaside3 project stableVersion load:versionString. Love, Laura On Thu, Feb 26, 2015 at 5:57 PM, Philippe Marschall < philippe.marschall@gmail.com> wrote: > On Thu, Feb 26, 2015 at 12:15 AM, Paul DeBruicker > wrote: > > Because you're in pharo 3 it may be best to use Zinc and look into what > Sven > > says in this thread > > AFAIK the Seaside Comet support never has been ported to Zinc (it's a > bit problematic since it wants to drive the listen loop). Zinc does > support WebSockets natively though. > > > > http://forum.world.st/Seaside-3-0-on-Pharo-2-0-Zinc-and-comet-td4680272.html#a4680378 > > > > > > The Seaside book probably needs instructions to non-Comanche server > > adaptors. > > The supported interface is the same on all adaptors. You just need to > load a different group from Metacello. > > Cheers > Philippe > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150228/948d1c97/attachment.htm From sergio.rrd at gmail.com Sat Feb 28 19:01:41 2015 From: sergio.rrd at gmail.com (sergio_101) Date: Sat Feb 28 19:01:44 2015 Subject: [Seaside] Re: Concurrent Programming References: <03CF1C69-5159-4966-8B5E-560683924243@flowingconcept.com> <1425092373221-4808473.post@n4.nabble.com> <1425092666965-4808475.post@n4.nabble.com> Message-ID: ahhh.. i need to get this info for processing into my image.. it will not be passed into the browser until much later in the game. the reason i want to do it this way is so that all this stuff is happening without the user having to wait on it.. i will take a look at threadpool and futures.. thanks! On Fri, Feb 27, 2015 at 10:12 PM Paul DeBruicker wrote: > Oh, and futures: > > http://onsmalltalk.com/smalltalk-concurrency-playing-with-futures > > > You probably want Futures if you're gonna poll from the client. > > > > > > > Paul DeBruicker wrote > > Hmmmm. > > > > In your plain English example is what you want happening in the client > > browser or in your smalltalk image, ideally? > > > > > > If you want the friends data in your image then you should consider using > > Ramon Leon's ThreadPool: > > http://onsmalltalk.com/2010-07-28-a-simple-thread-pool-for-smalltalk . > > I've kept it working here: http://smalltalkhub.com/#!/~ > pdebruic/ThreadPool > > You could use it to get the friends data from Facebook into the image. > > Then poll for results from the client to update any divs/views. You can > > queue the thread pool requests in your login callback before you even > > begin rendering things. > > > > > > > > If you just want to load the friends into a div only in the client its > > probably easier to write a JS function in an external file and call it > > from Seaside using the info specific to the user. e.g. > > > > html div > > id:'friendList' > > script: ((html jQuery id: 'friendList') call: 'loadFriendList' with: > > self userFacebookID). > > > > > > > > Look at the JSScript class for the definition of #<< . It just > > concatenates the scripts. The #script: method passes a stream into the > > block, and the << writes whatever you've written onto that stream. Check > > the senders and implementors to get your bearings. > > > > > > When you have time please send things like: > > > > "I think this code "____code example_____" should do "____expected > > behavior____" but instead it does "____jumbly voodoo_____" instead. What > > don't I understand? > > > > > > Hope this helps. > > > > > > Paul > > > > sergio_101 wrote > >> i think i am having alot of difficulty understanding out to phrase ajax > >> and > >> jquery calls in seaside.. everywhere else, i use jquery etc > >> unobtrusively.. > >> so i don't leave the javacript world when i write javascript. i just > >> can't > >> seem to find anything that makes sense on how to do something as simple > >> as > >> this using pure seaside/smalltalk. > >> > >> i can't really even understand what the "<<" in: > >> script: [ :s | s << (s jQuery: #logger) html: DateAndTime now > >> ]); > >> does.. > >> > >> in plain english, i would like to do this: > >> > >> - when the page loads, call the url as an ajax function > >> - set the variable -> currentUser friendsList: (from the above) > >> > >> but i am not understanding how to even code this.. > >> > >> thanks! > >> > >> > >> > >> > >> > >> On Fri, Feb 27, 2015 at 3:27 PM Sebastian Sastre < > > >> sebastian@ > > >>> wrote: > >> > >>> why the fork that way? > >>> > >>> I?d think more into make it a normal render page that has a little > piece > >>> of javascript that will do an ajax hit to a server callback to do > >>> whatever > >>> you want, no? > >>> > >>> > >>> > >>> > >>> > On Feb 27, 2015, at 1:45 PM, sergio_101 < > > >> sergio.rrd@ > > >> > wrote: > >>> > > >>> > i am currently writing a facebook application in seaside. one of the > >>> most important pieces of data i need to retrieve is the user's friends > >>> list. unfortunately, this could end up being a substantial amount of > >>> data. > >>> fortunately, the load time for this data is not horrible, just a few > >>> seconds. > >>> > i am making the assumption that while interacting with my app, the > >>> user > >>> will not be adding new friends mid stream, and that during each > session, > >>> the friends list will be static. > >>> > > >>> > what i would like to do is make this happen completely behind the > >>> scenes, so that when the user logs in, the request for the friends list > >>> is > >>> fired off RIGHT AFTER the page is rendered. > >>> > i read the section on concurrency in 'deep into pharo', and while > >>> incomplete, it makes enough sense for me to try it. > >>> > my question is.. i am going to do something like: > >>> > > >>> > [currentUser updateData] fork > >>> > > >>> > 1. if i want to do that RIGHT AFTER rendering, can i put that at the > >>> end > >>> of renderContentOn: html ? > >>> > 2. when i want to work with the data, how would i know if it was done > >>> updating? i was thinking of using a semaphore.. but how would i let the > >>> next process know to keep waiting until the process was done? i would > >>> want > >>> to do something like: getFriendsList (but make sure process that > >>> populates > >>> it is done before running the request). > >>> > > >>> > thanks! > >>> > _______________________________________________ > >>> > seaside mailing list > >>> > > > >> seaside@.squeakfoundation > > >>> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > >>> > >>> _______________________________________________ > >>> seaside mailing list > >>> > > >> seaside@.squeakfoundation > > >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > >>> > >> > >> _______________________________________________ > >> seaside mailing list > > >> seaside@.squeakfoundation > > >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > > > -- > View this message in context: http://forum.world.st/ > Concurrent-Programming-tp4808376p4808475.html > Sent from the Seaside General mailing list archive at Nabble.com. > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150228/6f26662d/attachment.htm From arning315 at comcast.net Sat Feb 28 19:44:50 2015 From: arning315 at comcast.net (Bob Arning) Date: Sat Feb 28 19:44:54 2015 Subject: [Seaside] Re: Concurrent Programming In-Reply-To: References: <03CF1C69-5159-4966-8B5E-560683924243@flowingconcept.com> <1425092373221-4808473.post@n4.nabble.com> <1425092666965-4808475.post@n4.nabble.com> Message-ID: <54F21AB2.7080305@comcast.net> Here's something you might consider. In this case, I render a page and then start gathering data to fill it. The "action" script gets fired when the page loads and then fires again every time "tinyThing" is clicked. renderMiningOn: html | action myLoops buildFinished currData prevData | LOOPER := OrderedCollection new. myLoops := 0. miningPriceSelector ifNil: [miningPriceSelector := 2]. self renderMiningPriceSelectorOn: html. prevData := currData := nil. buildFinished := false. html div id: 'incompleteTable001'; with: []. [ self buildMiningData: [ :data :flag | prevData := currData. currData := data. buildFinished := flag. ]. ] forkAt: Processor activePriority. action := html jQuery ajax script: [ :s | myLoops := myLoops + 1. myLoops > 100 ifTrue: [self halt]. [currData == prevData & buildFinished not] whileTrue: [ (Delay forMilliseconds: 300) wait ]. currData ifNotNil: [ s << (s jQuery: #incompleteTable001) html: [ :h | self renderMiningFrom: currData on: h ]. ]. buildFinished ifTrue: [ s << ((s jQuery: #moretocome) html: [ :h | h text: 'done']). ] ifFalse: [ s << ((s jQuery: #moretocome) html: [ :h | h text: '...']). s << ((s jQuery: #tinyThing) trigger: 'click'). ] ]. html div id: 'moretocome'; with: []. html div id: 'tinyThing'; onClick: action; with: []. html document addLoadScript: action On 2/28/15 2:01 PM, sergio_101 wrote: > ahhh.. i need to get this info for processing into my image.. it will > not be passed into the browser until much later in the game. the > reason i want to do it this way is so that all this stuff is happening > without the user having to wait on it.. > > i will take a look at threadpool and futures.. > > thanks! > > > On Fri, Feb 27, 2015 at 10:12 PM Paul DeBruicker > wrote: > > Oh, and futures: > > http://onsmalltalk.com/smalltalk-concurrency-playing-with-futures > > > You probably want Futures if you're gonna poll from the client. > > > > > > > Paul DeBruicker wrote > > Hmmmm. > > > > In your plain English example is what you want happening in the > client > > browser or in your smalltalk image, ideally? > > > > > > If you want the friends data in your image then you should > consider using > > Ramon Leon's ThreadPool: > > > http://onsmalltalk.com/2010-07-28-a-simple-thread-pool-for-smalltalk . > > I've kept it working here: > http://smalltalkhub.com/#!/~pdebruic/ThreadPool > > > You could use it to get the friends data from Facebook into the > image. > > Then poll for results from the client to update any divs/views. > You can > > queue the thread pool requests in your login callback before you > even > > begin rendering things. > > > > > > > > If you just want to load the friends into a div only in the > client its > > probably easier to write a JS function in an external file and > call it > > from Seaside using the info specific to the user. e.g. > > > > html div > > id:'friendList' > > script: ((html jQuery id: 'friendList') call: > 'loadFriendList' with: > > self userFacebookID). > > > > > > > > Look at the JSScript class for the definition of #<< . It just > > concatenates the scripts. The #script: method passes a stream > into the > > block, and the << writes whatever you've written onto that > stream. Check > > the senders and implementors to get your bearings. > > > > > > When you have time please send things like: > > > > "I think this code "____code example_____" should do "____expected > > behavior____" but instead it does "____jumbly voodoo_____" > instead. What > > don't I understand? > > > > > > Hope this helps. > > > > > > Paul > > > > sergio_101 wrote > >> i think i am having alot of difficulty understanding out to > phrase ajax > >> and > >> jquery calls in seaside.. everywhere else, i use jquery etc > >> unobtrusively.. > >> so i don't leave the javacript world when i write javascript. i > just > >> can't > >> seem to find anything that makes sense on how to do something > as simple > >> as > >> this using pure seaside/smalltalk. > >> > >> i can't really even understand what the "<<" in: > >> script: [ :s | s << (s jQuery: #logger) html: DateAndTime now > >> ]); > >> does.. > >> > >> in plain english, i would like to do this: > >> > >> - when the page loads, call the url as an ajax function > >> - set the variable -> currentUser friendsList: (from the above) > >> > >> but i am not understanding how to even code this.. > >> > >> thanks! > >> > >> > >> > >> > >> > >> On Fri, Feb 27, 2015 at 3:27 PM Sebastian Sastre < > > >> sebastian@ > > >>> wrote: > >> > >>> why the fork that way? > >>> > >>> I?d think more into make it a normal render page that has a > little piece > >>> of javascript that will do an ajax hit to a server callback to do > >>> whatever > >>> you want, no? > >>> > >>> > >>> > >>> > >>> > On Feb 27, 2015, at 1:45 PM, sergio_101 < > > >> sergio.rrd@ > > >> > wrote: > >>> > > >>> > i am currently writing a facebook application in seaside. > one of the > >>> most important pieces of data i need to retrieve is the user's > friends > >>> list. unfortunately, this could end up being a substantial > amount of > >>> data. > >>> fortunately, the load time for this data is not horrible, just > a few > >>> seconds. > >>> > i am making the assumption that while interacting with my > app, the > >>> user > >>> will not be adding new friends mid stream, and that during > each session, > >>> the friends list will be static. > >>> > > >>> > what i would like to do is make this happen completely > behind the > >>> scenes, so that when the user logs in, the request for the > friends list > >>> is > >>> fired off RIGHT AFTER the page is rendered. > >>> > i read the section on concurrency in 'deep into pharo', and > while > >>> incomplete, it makes enough sense for me to try it. > >>> > my question is.. i am going to do something like: > >>> > > >>> > [currentUser updateData] fork > >>> > > >>> > 1. if i want to do that RIGHT AFTER rendering, can i put > that at the > >>> end > >>> of renderContentOn: html ? > >>> > 2. when i want to work with the data, how would i know if it > was done > >>> updating? i was thinking of using a semaphore.. but how would > i let the > >>> next process know to keep waiting until the process was done? > i would > >>> want > >>> to do something like: getFriendsList (but make sure process that > >>> populates > >>> it is done before running the request). > >>> > > >>> > thanks! > >>> > _______________________________________________ > >>> > seaside mailing list > >>> > > > >> seaside@.squeakfoundation > > >>> > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > >>> > >>> _______________________________________________ > >>> seaside mailing list > >>> > > >> seaside@.squeakfoundation > > >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > >>> > >> > >> _______________________________________________ > >> seaside mailing list > > >> seaside@.squeakfoundation > > >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > > > -- > View this message in context: > http://forum.world.st/Concurrent-Programming-tp4808376p4808475.html > Sent from the Seaside General mailing list archive at Nabble.com. > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > > > _______________________________________________ > seaside mailing list > seaside@lists.squeakfoundation.org > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20150228/f0f28929/attachment-0001.htm