VW version of Magritte/Seaside issue?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

VW version of Magritte/Seaside issue?

Rick Flower
I'm using Seaside OpenTalk (WV1 2,mkobetic) on VW 7.6 with the latest  
version of Magritte for VW (lr.251 CS12.NFR.11.niallr) and
in doing my first Magritte call to see a rendered form based on the  
tutorial:

self call: (MSADBUser asComponent addValidatedForm; yourself).

I get the following walkback.. Is this some sort of disconnect between  
the newer Seaside and the slightly dated Magritte port to VW (from  
11/07)?
It could be something silly that I'm missing as I'm new to Magritte so  
feel free to slap me around if that applies!  I was tempted to post  
this on the Magritte mailing list but wasn't sure what the issue was  
-- it did appear to die in Seaside.. So...

-- Rick


Unhandled exception: BlockClosure [] in Object>>doesNotUnderstand:
UndefinedObject(Object)>>doesNotUnderstand:
Seaside
.WARenderContinuation(Seaside.WASessionContinuation)>>updateStates:
optimized [] in Seaside.WASessionContinuation>>respond:
optimized [] in Seaside.WASession>>onRespond:
MyScrip.MSWCommon_Session(Seaside.WASession)>>returnResponse:
MyScrip.MSWCommon_Session(Seaside.WASession)>>pageIntentionallyLeftBlank
optimized [] in Seaside.WASession>>withEscapeContinuation:
Seaside.EscapeContinuation class(Seaside.Continuation class)>>currentDo:
MyScrip.MSWCommon_Session(Seaside.WASession)>>withEscapeContinuation:
MyScrip.MSWCommon_Session(Seaside.WASession)>>responseForRequest:
optimized [] in Seaside.WASession>>incomingRequest:
BlockClosure>>on:do:
optimized [] in [] in [] in Seaside.WAProcessMonitor>>critical:ifError:
BlockClosure>>ensure:
optimized [] in [] in Seaside.WAProcessMonitor>>critical:ifError:
BlockClosure>>on:do:
optimized [] in Process class>>forBlock:priority:

----------------------------------------------------------------------
UndefinedObject(Object)>>doesNotUnderstand:
Receiver:
        an UndefinedObject
Arguments:
        aMessage = a Message with selector: #updateStates: and arguments: #(a  
Seaside.WASnapshot)
Temporaries:
        excpt = a MessageNotUnderstood
        resumeValue = nil
Context PC = 25

----------------------------------------------------------------------
Seaside
.WARenderContinuation(Seaside.WASessionContinuation)>>updateStates:
Receiver:
        a Seaside.WARenderContinuation
Instance Variables:
        root = a Seaside.WAToolFrame
        states = a Seaside.WASnapshot
        context = a Seaside.WARenderingContext
Arguments:
        aSnapshot = a Seaside.WASnapshot
Context PC = 6

----------------------------------------------------------------------
optimized [] in Seaside.WASessionContinuation>>respond:
Receiver:
        an UndefinedObject
Arguments:
        value = a Seaside.WAResponse 200
Temporaries:
        .super = a Seaside.WARenderContinuation
Context PC = 8

----------------------------------------------------------------------
optimized [] in Seaside.WASession>>onRespond:
Receiver:
        an UndefinedObject
Arguments:
        response = a Seaside.WAResponse 200
Temporaries:
        .aBlock = BlockClosure [] in Seaside.WASessionContinuation>>respond:
        .previous = a Seaside.EscapeContinuation
Context PC = 6

----------------------------------------------------------------------
MyScrip.MSWCommon_Session(Seaside.WASession)>>returnResponse:
Receiver:
        a MyScrip.MSWCommon_Session
Instance Variables:
        parent = a Seaside.WAApplication named: 'myscrip'
        lastAccess = 3394477322
        expired = false
        timeout = 28800
        continuations = a Seaside.WALRUCache
        lastContinuation = a Seaside.WARenderContinuation
        escapeContinuation = BlockClosure [] in Seaside.WASession>>onRespond:
        monitor = a Seaside.WAProcessMonitor
        currentRequest = a Seaside.WARequest GET /seaside/myscrip
        scripts = nil
        jumpTo = nil
        cookiesEnabled = true
        user = a MyScrip.MSADBUser
        database = a Glorp.GlorpSession
        organizationList = an Array[0]
        zipList = nil
        lastLogin = July 25, 2008 21:54:25.000
Arguments:
        aResponse = a Seaside.WAResponse 200
Context PC = 4

----------------------------------------------------------------------
MyScrip.MSWCommon_Session(Seaside.WASession)>>pageIntentionallyLeftBlank
Receiver:
        a MyScrip.MSWCommon_Session
Instance Variables:
        parent = a Seaside.WAApplication named: 'myscrip'
        lastAccess = 3394477322
        expired = false
        timeout = 28800
        continuations = a Seaside.WALRUCache
        lastContinuation = a Seaside.WARenderContinuation
        escapeContinuation = BlockClosure [] in Seaside.WASession>>onRespond:
        monitor = a Seaside.WAProcessMonitor
        currentRequest = a Seaside.WARequest GET /seaside/myscrip
        scripts = nil
        jumpTo = nil
        cookiesEnabled = true
        user = a MyScrip.MSADBUser
        database = a Glorp.GlorpSession
        organizationList = an Array[0]
        zipList = nil
        lastLogin = July 25, 2008 21:54:25.000
Context PC = 6

----------------------------------------------------------------------
optimized [] in Seaside.WASession>>withEscapeContinuation:
Receiver:
        an UndefinedObject
Arguments:
        cc = a Seaside.EscapeContinuation
Temporaries:
        .super = a MyScrip.MSWCommon_Session
        .aBlock = BlockClosure [] in Seaside.WASession>>responseForRequest:
Context PC = 11

----------------------------------------------------------------------
Seaside.EscapeContinuation class(Seaside.Continuation class)>>currentDo:
Receiver:
        an Seaside.EscapeContinuation class
Instance Variables:
        superclass = Seaside.Continuation
        methodDict = a MethodDictionary[0]
        format = 16385
        subclasses = nil
        instanceVariables = nil
        organization =
        name = #EscapeContinuation
        classPool = a NameSpaceOfClass[0]
        environment = a NameSpace[334]
Arguments:
        aBlock = BlockClosure [] in Seaside.WASession>>withEscapeContinuation:
Context PC = 9

----------------------------------------------------------------------
MyScrip.MSWCommon_Session(Seaside.WASession)>>withEscapeContinuation:
Receiver:
        a MyScrip.MSWCommon_Session
Instance Variables:
        parent = a Seaside.WAApplication named: 'myscrip'
        lastAccess = 3394477322
        expired = false
        timeout = 28800
        continuations = a Seaside.WALRUCache
        lastContinuation = a Seaside.WARenderContinuation
        escapeContinuation = BlockClosure [] in Seaside.WASession>>onRespond:
        monitor = a Seaside.WAProcessMonitor
        currentRequest = a Seaside.WARequest GET /seaside/myscrip
        scripts = nil
        jumpTo = nil
        cookiesEnabled = true
        user = a MyScrip.MSADBUser
        database = a Glorp.GlorpSession
        organizationList = an Array[0]
        zipList = nil
        lastLogin = July 25, 2008 21:54:25.000
Arguments:
        aBlock = BlockClosure [] in Seaside.WASession>>responseForRequest:
Context PC = 8

----------------------------------------------------------------------
MyScrip.MSWCommon_Session(Seaside.WASession)>>responseForRequest:
Receiver:
        a MyScrip.MSWCommon_Session
Instance Variables:
        parent = a Seaside.WAApplication named: 'myscrip'
        lastAccess = 3394477322
        expired = false
        timeout = 28800
        continuations = a Seaside.WALRUCache
        lastContinuation = a Seaside.WARenderContinuation
        escapeContinuation = BlockClosure [] in Seaside.WASession>>onRespond:
        monitor = a Seaside.WAProcessMonitor
        currentRequest = a Seaside.WARequest GET /seaside/myscrip
        scripts = nil
        jumpTo = nil
        cookiesEnabled = true
        user = a MyScrip.MSADBUser
        database = a Glorp.GlorpSession
        organizationList = an Array[0]
        zipList = nil
        lastLogin = July 25, 2008 21:54:25.000
Arguments:
        aRequest = a Seaside.WARequest GET /seaside/myscrip
Context PC = 12

----------------------------------------------------------------------
optimized [] in Seaside.WASession>>incomingRequest:
Receiver:
        an UndefinedObject
Temporaries:
        .super = a MyScrip.MSWCommon_Session
        .aRequest = a Seaside.WARequest GET /seaside/myscrip
Context PC = 7

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in Seaside.WASession>>incomingRequest:
        outerContext = nil
        copiedValues = an Array[2]
Arguments:
        anExceptionSelector = Error
        handlerBlock = BlockClosure [] in Seaside.WASession>>incomingRequest:
Context PC = 18

----------------------------------------------------------------------
optimized [] in [] in [] in Seaside.WAProcessMonitor>>critical:ifError:
Receiver:
        an UndefinedObject
Temporaries:
        .aBlock = BlockClosure [] in Seaside.WASession>>incomingRequest:
        .anErrorBlock = BlockClosure [] in Seaside.WASession>>incomingRequest:
        value = nil
Context PC = 8

----------------------------------------------------------------------
BlockClosure>>ensure:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in [] in [] in  
Seaside.WAProcessMonitor>>critical:ifError:
        outerContext = nil
        copiedValues = an Array[3]
Arguments:
        aBlock = BlockClosure [] in [] in [] in  
Seaside.WAProcessMonitor>>critical:ifError:
Temporaries:
        result = nil
Context PC = 4

----------------------------------------------------------------------
optimized [] in [] in Seaside.WAProcessMonitor>>critical:ifError:
Receiver:
        an UndefinedObject
Temporaries:
        .aBlock = BlockClosure [] in Seaside.WASession>>incomingRequest:
        .anErrorBlock = BlockClosure [] in Seaside.WASession>>incomingRequest:
        value = nil
        .super = a Seaside.WAProcessMonitor
Context PC = 15

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
        a BlockClosure
Instance Variables:
        method = CompiledBlock [] in [] in  
Seaside.WAProcessMonitor>>critical:ifError:
        outerContext = nil
        copiedValues = an Array[4]
Arguments:
        anExceptionSelector = TerminateException
        handlerBlock = BlockClosure [] in [] in Process  
class>>forBlock:priority:
Context PC = 18

----------------------------------------------------------------------
optimized [] in Process class>>forBlock:priority:
Receiver:
        an UndefinedObject
Temporaries:
        .aBlock = BlockClosure [] in [] in  
Seaside.WAProcessMonitor>>critical:ifError:
Context PC = 9

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: VW version of Magritte/Seaside issue?

Lukas Renggli
>  self call: (MSADBUser asComponent addValidatedForm; yourself).

Just to be sure before I investigate further into the stack trace you
posted: Where are you executing this code from? How does the method
look like that contains this code?

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: VW version of Magritte/Seaside issue?

Rick Flower
On Jul 26, 2008, at 2:25 AM, Lukas Renggli wrote:

>> self call: (MSADBUser asComponent addValidatedForm; yourself).
>
> Just to be sure before I investigate further into the stack trace you
> posted: Where are you executing this code from? How does the method
> look like that contains this code?

Below is the method I'm using to invoke Magritte :

renderContentOn: html
    | result |

     
"=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
======================================================================="
    "Display one of two things -- either the form or a message  
indicating the contact info was updated"
     
"=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
======================================================================="
    result := self call: (MSADBUser asComponent addValidatedForm;  
yourself).

Like I said earlier -- it may be something that I'm doing wrong.. I'm  
hoping it's just a Magritte newbie mistake..

Thanks Lukas

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: VW version of Magritte/Seaside issue?

Lukas Renggli
>  Below is the method I'm using to invoke Magritte :
>
>  renderContentOn: html
>    | result |
> "================================================================================================="
>    "Display one of two things -- either the form or a message indicating the
> contact info was updated"
>
> "================================================================================================="
>    result := self call: (MSADBUser asComponent addValidatedForm; yourself).
>
>  Like I said earlier -- it may be something that I'm doing wrong.. I'm
> hoping it's just a Magritte newbie mistake..

Actually this is a Seaside mistake ;-)

#call: and #answer: should not be invoked while rendering, do that
only within callbacks. If that's not desired you might want to use
WATask.

So change your code to something like this:

renderContentOn: html
    html anchor
        callback: [ self openEditor ];
        with: 'edit'

openEditor
    | result |
    result := self call: (MSADBUser asComponent addValidatedForm; yourself).
    result inspect

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: VW version of Magritte/Seaside issue?

Rick Flower

On Jul 26, 2008, at 9:28 AM, Lukas Renggli wrote:

>
> Actually this is a Seaside mistake ;-)
>
> #call: and #answer: should not be invoked while rendering, do that
> only within callbacks. If that's not desired you might want to use
> WATask.
>
> So change your code to something like this:
>
> renderContentOn: html
>    html anchor
>        callback: [ self openEditor ];
>        with: 'edit'
>
> openEditor
>    | result |
>    result := self call: (MSADBUser asComponent addValidatedForm;  
> yourself).
>    result inspect

Thanks Lukas.. I tried that and it worked great.. Thanks for getting  
me squared away!

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside