Hello,
I have installed Albatross [1] and the prerequisites. However, when I try to run the example unit test APierTest that comes with it, I get timeout errors like the one attached below. It happens in ABrowser>>receiveOrTimeout which is sent from setUp: ATestCase>>setUp | handler | handler := ARequestHandler default reset; yourself. AComponentWrapper initializeWith: self subjectApplication for: self. browser := handler browser applicationUrl: 'http://localhost:9090/seaside/albatross' driverUrl: 'http://localhost:9090/seaside/driver'. browser timeout: 10. browser open. browser timeout: 5. browser receiveOrTimeout. I see the Pier web page appear in my web browser. I am running Squeak 3.9 under Windows, with Albatross-al.211 and Seaside2.8a1-mb.465 (Sept. 2007). Any hints on how to get this working, or on how to isolate the problem would be greatly appreciated :-) Cheers Matthias [1] http://www.squeaksource.com/Albatross.html ********* VM: Win32 - a SmalltalkImage Image: Squeak3.9 [latest update: #7067] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true ABrowser(Object)>>error: Receiver: an ABrowser Arguments and temporary variables: aString: 'Timed out receiving reply' Receiver's instance variables: inQueue: a SharedQueue outQueue: a SharedQueue applicationUrl: 'http://localhost:9090/seaside/albatross' driverUrl: 'http://localhost:9090/seaside/driver' resultType: nil ABrowser>>receiveOrTimeout Receiver: an ABrowser Arguments and temporary variables: proc: a Process in [] in BlockContext>>newProcess {[self value. Processor term...etc... result: nil sem: a Semaphore() typedResult: nil Receiver's instance variables: inQueue: a SharedQueue outQueue: a SharedQueue applicationUrl: 'http://localhost:9090/seaside/albatross' driverUrl: 'http://localhost:9090/seaside/driver' resultType: nil APierTest(ATestCase)>>setUp Receiver: APierTest>>#testEditPage {testing} Arguments and temporary variables: handler: an ARequestHandler named: 'driver' Receiver's instance variables: testSelector: #testEditPage browser: an ABrowser testComponent: nil [] in APierTest(TestCase)>>runCase {[self setUp. self performTest]} Arguments and temporary variables: --- The full stack --- ABrowser(Object)>>error: ABrowser>>receiveOrTimeout APierTest(ATestCase)>>setUp [] in APierTest(TestCase)>>runCase {[self setUp. self performTest]} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BlockContext>>ensure: APierTest(TestCase)>>runCase [] in APierTest(TestCase)>>debug {[(self class selector: testSelector) runCase]} BlockContext>>on:do: [] in APierTest(TestCase)>>debug {[[(self class selector: testSelector) runCase] on: Error do: [:ex | Unha...]} BlockContext>>ensure: APierTest(TestCase)>>debug [] in TestRunner>>debugSuite: {[:each | each debug]} Set>>do: [] in TestRunner>>basicRunSuite:do: {[aTestSuite name isEmptyOrNil ifTrue: [aTestSuite tests do: aBlock] ifFa...]} BlockContext>>ensure: TestRunner>>basicRunSuite:do: TestRunner>>debugSuite: TestRunner>>debug: TestRunner>>errorSelected: PluggableListMorphPlus(PluggableListMorph)>>changeModelSelection: PluggableListMorphPlus(PluggableListMorph)>>mouseUp: PluggableListMorphPlus(Morph)>>handleMouseUp: MouseButtonEvent>>sentTo: PluggableListMorphPlus(Morph)>>handleEvent: PluggableListMorphPlus(Morph)>>handleFocusEvent: [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. ActiveEvent := anEvent. result := focusHolder han...]} [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} BlockContext>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: HandMorph>>processEvents [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h processEvents. capturingGesture := capturingGest...]} Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [] in Project class>>spawnNewProcess {[[World doOneCycle. Processor yield. false] whileFalse. nil]} [] in BlockContext>>newProcess {[self value. Processor terminateActive]} _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Hi Matthias,
Hm, hard to tell... Do the other example tests that come with Albatross work? Are there any JavaScript libraries that could not be loaded or are there JavaScript errors? What browser do you use? You might also want to try out the pre-installed Albatross image, which is linked from http://www.squeaksource.com/Albatross.html. Cheers, Adrian On Feb 26, 2008, at 15:30 , Matthias Berth wrote: > Hello, > > > I have installed Albatross [1] and the prerequisites. However, when I > try to run the example unit test APierTest that comes with it, I get > timeout errors like the one attached below. It happens in > ABrowser>>receiveOrTimeout which is sent from setUp: > > ATestCase>>setUp > | handler | > handler := ARequestHandler default reset; yourself. > AComponentWrapper initializeWith: self subjectApplication for: self. > > browser := handler browser > applicationUrl: 'http://localhost:9090/seaside/albatross' > driverUrl: 'http://localhost:9090/seaside/driver'. > > browser timeout: 10. > browser open. > browser timeout: 5. > browser receiveOrTimeout. > > > > I see the Pier web page appear in my web browser. I am running Squeak > 3.9 under Windows, with Albatross-al.211 and Seaside2.8a1-mb.465 > (Sept. 2007). > > Any hints on how to get this working, or on how to isolate the problem > would be greatly appreciated :-) > > Cheers > > Matthias > > > > [1] http://www.squeaksource.com/Albatross.html > > ********* > VM: Win32 - a SmalltalkImage > Image: Squeak3.9 [latest update: #7067] > > SecurityManager state: > Restricted: false > FileAccess: true > SocketAccess: true > > > ABrowser(Object)>>error: > Receiver: an ABrowser > Arguments and temporary variables: > aString: 'Timed out receiving reply' > Receiver's instance variables: > inQueue: a SharedQueue > outQueue: a SharedQueue > applicationUrl: 'http://localhost:9090/seaside/albatross' > driverUrl: 'http://localhost:9090/seaside/driver' > resultType: nil > > ABrowser>>receiveOrTimeout > Receiver: an ABrowser > Arguments and temporary variables: > proc: a Process in [] in BlockContext>>newProcess {[self value. > Processor term...etc... > result: nil > sem: a Semaphore() > typedResult: nil > Receiver's instance variables: > inQueue: a SharedQueue > outQueue: a SharedQueue > applicationUrl: 'http://localhost:9090/seaside/albatross' > driverUrl: 'http://localhost:9090/seaside/driver' > resultType: nil > > APierTest(ATestCase)>>setUp > Receiver: APierTest>>#testEditPage {testing} > Arguments and temporary variables: > handler: an ARequestHandler named: 'driver' > Receiver's instance variables: > testSelector: #testEditPage > browser: an ABrowser > testComponent: nil > > [] in APierTest(TestCase)>>runCase {[self setUp. self performTest]} > Arguments and temporary variables: > > > --- The full stack --- > ABrowser(Object)>>error: > ABrowser>>receiveOrTimeout > APierTest(ATestCase)>>setUp > [] in APierTest(TestCase)>>runCase {[self setUp. self performTest]} > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > BlockContext>>ensure: > APierTest(TestCase)>>runCase > [] in APierTest(TestCase)>>debug {[(self class selector: > testSelector) runCase]} > BlockContext>>on:do: > [] in APierTest(TestCase)>>debug {[[(self class selector: > testSelector) runCase] on: Error do: [:ex | Unha...]} > BlockContext>>ensure: > APierTest(TestCase)>>debug > [] in TestRunner>>debugSuite: {[:each | each debug]} > Set>>do: > [] in TestRunner>>basicRunSuite:do: {[aTestSuite name isEmptyOrNil > ifTrue: [aTestSuite tests do: aBlock] ifFa...]} > BlockContext>>ensure: > TestRunner>>basicRunSuite:do: > TestRunner>>debugSuite: > TestRunner>>debug: > TestRunner>>errorSelected: > PluggableListMorphPlus(PluggableListMorph)>>changeModelSelection: > PluggableListMorphPlus(PluggableListMorph)>>mouseUp: > PluggableListMorphPlus(Morph)>>handleMouseUp: > MouseButtonEvent>>sentTo: > PluggableListMorphPlus(Morph)>>handleEvent: > PluggableListMorphPlus(Morph)>>handleFocusEvent: > [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. > ActiveEvent := anEvent. result := focusHolder han...]} > [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} > BlockContext>>on:do: > PasteUpMorph>>becomeActiveDuring: > HandMorph>>sendFocusEvent:to:clear: > HandMorph>>sendEvent:focus:clear: > HandMorph>>sendMouseEvent: > HandMorph>>handleEvent: > HandMorph>>processEvents > [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h > processEvents. capturingGesture := capturingGest...]} > Array(SequenceableCollection)>>do: > WorldState>>handsDo: > WorldState>>doOneCycleNowFor: > WorldState>>doOneCycleFor: > PasteUpMorph>>doOneCycle > [] in Project class>>spawnNewProcess {[[World doOneCycle. Processor > yield. false] whileFalse. nil]} > [] in BlockContext>>newProcess {[self value. Processor > terminateActive]} > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Hi Adrian,
thanks a lot for your help. I have tried the pre-installed Albatross image, on different browsers: 1) On firefox 2 everything went fine (i.e. APierTest, AScriptaculousTest, ASeasideTests run without errors) after I deactivated all addon modules. Also I noticed that tests went faster, so maybe it was a real timeout due to an addon module that slowed firefox down. 2) Internet Explorer 6 still has timeouts for everything except APierTest. I have tried to make the timeouts 10sec longer (in setUp), no success. So I will now write my own tests, using firefox, that should do it for now. I'll be happy to provide assistance in getting it right for IE (but maybe its just for my slow machine?) Cheers Matthias On Tue, Feb 26, 2008 at 9:13 PM, Adrian Lienhard <[hidden email]> wrote: > Hi Matthias, > > Hm, hard to tell... > Do the other example tests that come with Albatross work? Are there > any JavaScript libraries that could not be loaded or are there > JavaScript errors? What browser do you use? > > You might also want to try out the pre-installed Albatross image, > which is linked from http://www.squeaksource.com/Albatross.html. > > Cheers, > Adrian > > > > > On Feb 26, 2008, at 15:30 , Matthias Berth wrote: > > > Hello, > > > > > > I have installed Albatross [1] and the prerequisites. However, when I > > try to run the example unit test APierTest that comes with it, I get > > timeout errors like the one attached below. It happens in > > ABrowser>>receiveOrTimeout which is sent from setUp: > > > > ATestCase>>setUp > > | handler | > > handler := ARequestHandler default reset; yourself. > > AComponentWrapper initializeWith: self subjectApplication for: self. > > > > browser := handler browser > > applicationUrl: 'http://localhost:9090/seaside/albatross' > > driverUrl: 'http://localhost:9090/seaside/driver'. > > > > browser timeout: 10. > > browser open. > > browser timeout: 5. > > browser receiveOrTimeout. > > > > > > > > I see the Pier web page appear in my web browser. I am running Squeak > > 3.9 under Windows, with Albatross-al.211 and Seaside2.8a1-mb.465 > > (Sept. 2007). > > > > Any hints on how to get this working, or on how to isolate the problem > > would be greatly appreciated :-) > > > > Cheers > > > > Matthias > > > > > > > > [1] http://www.squeaksource.com/Albatross.html > > > > ********* > > VM: Win32 - a SmalltalkImage > > Image: Squeak3.9 [latest update: #7067] > > > > SecurityManager state: > > Restricted: false > > FileAccess: true > > SocketAccess: true > > > > > > ABrowser(Object)>>error: > > Receiver: an ABrowser > > Arguments and temporary variables: > > aString: 'Timed out receiving reply' > > Receiver's instance variables: > > inQueue: a SharedQueue > > outQueue: a SharedQueue > > applicationUrl: 'http://localhost:9090/seaside/albatross' > > driverUrl: 'http://localhost:9090/seaside/driver' > > resultType: nil > > > > ABrowser>>receiveOrTimeout > > Receiver: an ABrowser > > Arguments and temporary variables: > > proc: a Process in [] in BlockContext>>newProcess {[self value. > > Processor term...etc... > > result: nil > > sem: a Semaphore() > > typedResult: nil > > Receiver's instance variables: > > inQueue: a SharedQueue > > outQueue: a SharedQueue > > applicationUrl: 'http://localhost:9090/seaside/albatross' > > driverUrl: 'http://localhost:9090/seaside/driver' > > resultType: nil > > > > APierTest(ATestCase)>>setUp > > Receiver: APierTest>>#testEditPage {testing} > > Arguments and temporary variables: > > handler: an ARequestHandler named: 'driver' > > Receiver's instance variables: > > testSelector: #testEditPage > > browser: an ABrowser > > testComponent: nil > > > > [] in APierTest(TestCase)>>runCase {[self setUp. self performTest]} > > Arguments and temporary variables: > > > > > > --- The full stack --- > > ABrowser(Object)>>error: > > ABrowser>>receiveOrTimeout > > APierTest(ATestCase)>>setUp > > [] in APierTest(TestCase)>>runCase {[self setUp. self performTest]} > > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > > BlockContext>>ensure: > > APierTest(TestCase)>>runCase > > [] in APierTest(TestCase)>>debug {[(self class selector: > > testSelector) runCase]} > > BlockContext>>on:do: > > [] in APierTest(TestCase)>>debug {[[(self class selector: > > testSelector) runCase] on: Error do: [:ex | Unha...]} > > BlockContext>>ensure: > > APierTest(TestCase)>>debug > > [] in TestRunner>>debugSuite: {[:each | each debug]} > > Set>>do: > > [] in TestRunner>>basicRunSuite:do: {[aTestSuite name isEmptyOrNil > > ifTrue: [aTestSuite tests do: aBlock] ifFa...]} > > BlockContext>>ensure: > > TestRunner>>basicRunSuite:do: > > TestRunner>>debugSuite: > > TestRunner>>debug: > > TestRunner>>errorSelected: > > PluggableListMorphPlus(PluggableListMorph)>>changeModelSelection: > > PluggableListMorphPlus(PluggableListMorph)>>mouseUp: > > PluggableListMorphPlus(Morph)>>handleMouseUp: > > MouseButtonEvent>>sentTo: > > PluggableListMorphPlus(Morph)>>handleEvent: > > PluggableListMorphPlus(Morph)>>handleFocusEvent: > > [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. > > ActiveEvent := anEvent. result := focusHolder han...]} > > [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} > > BlockContext>>on:do: > > PasteUpMorph>>becomeActiveDuring: > > HandMorph>>sendFocusEvent:to:clear: > > HandMorph>>sendEvent:focus:clear: > > HandMorph>>sendMouseEvent: > > HandMorph>>handleEvent: > > HandMorph>>processEvents > > [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h > > processEvents. capturingGesture := capturingGest...]} > > Array(SequenceableCollection)>>do: > > WorldState>>handsDo: > > WorldState>>doOneCycleNowFor: > > WorldState>>doOneCycleFor: > > PasteUpMorph>>doOneCycle > > [] in Project class>>spawnNewProcess {[[World doOneCycle. Processor > > yield. false] whileFalse. nil]} > > [] in BlockContext>>newProcess {[self value. Processor > > terminateActive]} > > _______________________________________________ > > seaside mailing list > > [hidden email] > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Hi Matthias,
I tested Albatross with MS XP and IE6 and it worked. So, it might be your machine or some problem with IE6. Let me know how it goes... And continue to submit improvements! ;) Cheers, Adrian On Feb 27, 2008, at 11:29 , Matthias Berth wrote: > Hi Adrian, > > thanks a lot for your help. I have tried the pre-installed Albatross > image, on different browsers: > > 1) On firefox 2 everything went fine (i.e. APierTest, > AScriptaculousTest, ASeasideTests run without errors) after I > deactivated all addon modules. Also I noticed that tests went faster, > so maybe it was a real timeout due to an addon module that slowed > firefox down. > > 2) Internet Explorer 6 still has timeouts for everything except > APierTest. I have tried to make the timeouts 10sec longer (in setUp), > no success. > > So I will now write my own tests, using firefox, that should do it for > now. I'll be happy to provide assistance in getting it right for IE > (but maybe its just for my slow machine?) > > Cheers > > Matthias > > > On Tue, Feb 26, 2008 at 9:13 PM, Adrian Lienhard <[hidden email]> > wrote: >> Hi Matthias, >> >> Hm, hard to tell... >> Do the other example tests that come with Albatross work? Are there >> any JavaScript libraries that could not be loaded or are there >> JavaScript errors? What browser do you use? >> >> You might also want to try out the pre-installed Albatross image, >> which is linked from http://www.squeaksource.com/Albatross.html. >> >> Cheers, >> Adrian >> >> >> >> >> On Feb 26, 2008, at 15:30 , Matthias Berth wrote: >> >>> Hello, >>> >>> >>> I have installed Albatross [1] and the prerequisites. However, >>> when I >>> try to run the example unit test APierTest that comes with it, I get >>> timeout errors like the one attached below. It happens in >>> ABrowser>>receiveOrTimeout which is sent from setUp: >>> >>> ATestCase>>setUp >>> | handler | >>> handler := ARequestHandler default reset; yourself. >>> AComponentWrapper initializeWith: self subjectApplication for: >>> self. >>> >>> browser := handler browser >>> applicationUrl: 'http://localhost:9090/seaside/ >>> albatross' >>> driverUrl: 'http://localhost:9090/seaside/driver'. >>> >>> browser timeout: 10. >>> browser open. >>> browser timeout: 5. >>> browser receiveOrTimeout. >>> >>> >>> >>> I see the Pier web page appear in my web browser. I am running >>> Squeak >>> 3.9 under Windows, with Albatross-al.211 and Seaside2.8a1-mb.465 >>> (Sept. 2007). >>> >>> Any hints on how to get this working, or on how to isolate the >>> problem >>> would be greatly appreciated :-) >>> >>> Cheers >>> >>> Matthias >>> >>> >>> >>> [1] http://www.squeaksource.com/Albatross.html >>> >>> ********* >>> VM: Win32 - a SmalltalkImage >>> Image: Squeak3.9 [latest update: #7067] >>> >>> SecurityManager state: >>> Restricted: false >>> FileAccess: true >>> SocketAccess: true >>> >>> >>> ABrowser(Object)>>error: >>> Receiver: an ABrowser >>> Arguments and temporary variables: >>> aString: 'Timed out receiving reply' >>> Receiver's instance variables: >>> inQueue: a SharedQueue >>> outQueue: a SharedQueue >>> applicationUrl: 'http://localhost:9090/seaside/albatross' >>> driverUrl: 'http://localhost:9090/seaside/driver' >>> resultType: nil >>> >>> ABrowser>>receiveOrTimeout >>> Receiver: an ABrowser >>> Arguments and temporary variables: >>> proc: a Process in [] in BlockContext>>newProcess >>> {[self value. >>> Processor term...etc... >>> result: nil >>> sem: a Semaphore() >>> typedResult: nil >>> Receiver's instance variables: >>> inQueue: a SharedQueue >>> outQueue: a SharedQueue >>> applicationUrl: 'http://localhost:9090/seaside/albatross' >>> driverUrl: 'http://localhost:9090/seaside/driver' >>> resultType: nil >>> >>> APierTest(ATestCase)>>setUp >>> Receiver: APierTest>>#testEditPage {testing} >>> Arguments and temporary variables: >>> handler: an ARequestHandler named: 'driver' >>> Receiver's instance variables: >>> testSelector: #testEditPage >>> browser: an ABrowser >>> testComponent: nil >>> >>> [] in APierTest(TestCase)>>runCase {[self setUp. self performTest]} >>> Arguments and temporary variables: >>> >>> >>> --- The full stack --- >>> ABrowser(Object)>>error: >>> ABrowser>>receiveOrTimeout >>> APierTest(ATestCase)>>setUp >>> [] in APierTest(TestCase)>>runCase {[self setUp. self performTest]} >>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >>> BlockContext>>ensure: >>> APierTest(TestCase)>>runCase >>> [] in APierTest(TestCase)>>debug {[(self class selector: >>> testSelector) runCase]} >>> BlockContext>>on:do: >>> [] in APierTest(TestCase)>>debug {[[(self class selector: >>> testSelector) runCase] on: Error do: [:ex | Unha...]} >>> BlockContext>>ensure: >>> APierTest(TestCase)>>debug >>> [] in TestRunner>>debugSuite: {[:each | each debug]} >>> Set>>do: >>> [] in TestRunner>>basicRunSuite:do: {[aTestSuite name isEmptyOrNil >>> ifTrue: [aTestSuite tests do: aBlock] ifFa...]} >>> BlockContext>>ensure: >>> TestRunner>>basicRunSuite:do: >>> TestRunner>>debugSuite: >>> TestRunner>>debug: >>> TestRunner>>errorSelected: >>> PluggableListMorphPlus(PluggableListMorph)>>changeModelSelection: >>> PluggableListMorphPlus(PluggableListMorph)>>mouseUp: >>> PluggableListMorphPlus(Morph)>>handleMouseUp: >>> MouseButtonEvent>>sentTo: >>> PluggableListMorphPlus(Morph)>>handleEvent: >>> PluggableListMorphPlus(Morph)>>handleFocusEvent: >>> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self. >>> ActiveEvent := anEvent. result := focusHolder han...]} >>> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]} >>> BlockContext>>on:do: >>> PasteUpMorph>>becomeActiveDuring: >>> HandMorph>>sendFocusEvent:to:clear: >>> HandMorph>>sendEvent:focus:clear: >>> HandMorph>>sendMouseEvent: >>> HandMorph>>handleEvent: >>> HandMorph>>processEvents >>> [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h >>> processEvents. capturingGesture := capturingGest...]} >>> Array(SequenceableCollection)>>do: >>> WorldState>>handsDo: >>> WorldState>>doOneCycleNowFor: >>> WorldState>>doOneCycleFor: >>> PasteUpMorph>>doOneCycle >>> [] in Project class>>spawnNewProcess {[[World doOneCycle. Processor >>> yield. false] whileFalse. nil]} >>> [] in BlockContext>>newProcess {[self value. Processor >>> terminateActive]} >>> _______________________________________________ >>> seaside mailing list >>> [hidden email] >>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> >> _______________________________________________ >> seaside mailing list >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside >> > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |