cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruyn Bill" <Bru...@mcao.maricopa.gov>
Subject RE: [FLOW] sendPageAndWait continuation storage
Date Sat, 04 Mar 2006 16:04:16 GMT
Actually, I started that way.  The problem I have is that theFunctionBehindFormsServerFlow
needs the continuation id created by sendPageAndWait, before it sends the page.  So
 

function otherFunction( dom ) {
        //var data = processMyDom( dom );
        //cocoon.sendPageAndWait( data );
        
        //looks more like

        var output = client.renderForm(
             //a bunch of parameters +
             continuationID + ".kont", 
         );
        
        //and then i serialize a byte array obtained from the response.        
        cocoon.sendPage("result.pdf", {pdf: output.getOutputContent()});
}


 
________________________________

From: Leszek Gawron [mailto:lgawron@mobilebox.pl]
Sent: Sat 3/4/2006 8:07 AM
To: users@cocoon.apache.org
Subject: Re: [FLOW] sendPageAndWait continuation storage



Hello,

First of all you problem shouldn't be solved the way you're trying it to.

Bruyn Bill wrote:
> When a continuation is created by sendPageAndWait, where is it stored?
> Can I access it with flowscript or in the sitemap?
>
> I have a scenario similar to the 'flowscript continuation from external
> reply' problem discussed recently.  What I'm trying to do is iterate
> over a list, and for each item in it, call out to some remote process
> that will render a 'PDF Form' with my continuation-id in its submit
> button.  So something like the following:
>
> //for each element in the list
> for (var i=0; i<subjects.size(); i++) {
>
>   //get some more input, if you want
>   var subject = subjects.get(i);
>   bindFormInput("subject", subject, {subject:subject});
>  
>   //format xml input via jx generator
>   var dom = pipeline.processToDOM("4pointsresult.xml", {doc:doc,
> subject:subject});
>  
>   //let some other pipeline do stuff and a sendPage (actually another
> top-level flowscript function)
>   cocoon.sendPageAndWait("forms-server.flow", {dom: dom});

The solution is shockingly simple. Instead of
cocoon.sendPageAndWait("forms-server.flow", {dom: dom})
do

theFunctionBehindFormsServerFlow( dom );

which in turn will call sendPageAndWait.

so you have:

function entryPoint() {
        while( someCondition ) {
                var input = getMeSomeMoreInput();
                var dom = getMeMyDomData();
                otherFunction( dom );
        }
}

function otherFunction( dom ) {
        var data = processMyDom( dom );
        cocoon.sendPageAndWait( data );
}

>  
>   //and then move on to the next element
> }
>
> I guess I could stick a jx template in the middle, grab the
> continuation-id from there, and then post a form to my flowscript, but I
> don't see how I'd preserve my bizData (dom) across requests like that...
> And if the continuation os available to the jx generator, shouldn't I be
> able to get to it without going thru all that?
>
>
> TIA,
>
>
> Bill Bruyn
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>


--
Leszek Gawron                                      lgawron@mobilebox.pl
IT Manager                                         MobileBox sp. z o.o.
+48 (61) 855 06 67                              http://www.mobilebox.pl
mobile: +48 (501) 720 812                       fax: +48 (61) 853 29 65

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org




Mime
View raw message