Problem with asynchrounous updates

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem with asynchrounous updates

Henrik Pettersen
All,

I am trying to build a page that updates asynchronosly in the background as users interact with the page. Sort of like the google translation xforms example.

My problem:
*****************
1. Load initial page
2. Click on 'negation'
3. Expect page to be updated and get.next.expression.editor.tokens.xpl to be called (note the debug statement)

Instead, the tomcat log displays this:
2006-08-18 22:19:37,514 INFO  org.orbeon.oxf.webapp.ProcessorService   - /expression/next - Received request
2006-08-18 22:19:37,524 INFO  org.orbeon.oxf.webapp.ProcessorService  - /expression/next - Timing: 10 - Cache hits: 156, fault: 3, adds: 0, success rate: 98%
2006-08-18 22:19:37,534 INFO  org.orbeon.oxf.webapp.ProcessorService  - /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success rate: 92%

But the get.next.expression.editor.tokens.xpl is never called. On further inspection, I decided to change the submit url from 'expression/next' to 'expression/next2' in the view, in an attempt to see if something would brake. All I got was this from tomcat:
2006-08-18 22:19:37,514 INFO  org.orbeon.oxf.webapp.ProcessorService  - /expression/next2 - Received request
2006-08-18 22:19:37,524 INFO  org.orbeon.oxf.webapp.ProcessorService  - /expression/next2 - Timing: 10 - Cache hits: 156, fault: 3, adds: 0, success rate: 98%
2006-08-18 22:19:37,534 INFO  org.orbeon.oxf.webapp.ProcessorService  - /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success rate: 92%

So my problem is probably in the view page, but I am unable to see where I have gone wrong...

Any insight would be greatly appreciated !

Sincerely,
Henrik Pettersen
Advanced Computation Lab
Cancer Research UK


Here is my view:
***********************
<?xml version='1.0' encoding='utf-8' ?>
<xhtml:html xmlns=" "  xmlns:aspic=" http://www.cruk.com/aspic/editor/v1"  xmlns:ev="http://www.w3.org/2001/xml-events"  xmlns:f="http://orbeon.org/oxf/xml/formatting "  xmlns:xforms="http://www.w3.org/2002/xforms"  xmlns:xhtml="http://www.w3.org/1999/xhtml"  xmlns:xi=" http://orbeon.org/oxf/xml/xinclude"  xmlns:xs="http://www.w3.org/2001/XMLSchema"  xmlns:xsl=" http://www.w3.org/1999/XSL/Transform"  xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"  xsl:version="2.0" >
  <xhtml:head>
    <xhtml:meta content="text/html; charset=UTF-8"  http-equiv="Content-Type" ></xhtml:meta>
  
    <xhtml:title> Expression Editor </xhtml:title>
  
    <xforms:model>
        <xforms:instance id="expression" > <!-- incoming -->
            <aspic:claim>
                <aspic:id>-1</aspic:id>        
                  <aspic:expression></aspic:expression>           
                <aspic:nextToken>
                    <aspic:token>NEG</aspic:token>
                    <aspic:token>IDN</aspic:token>               
                   </aspic:nextToken>
                  <aspic:identifier>aLocalidentifier</aspic:identifier>        
                  <aspic:identifier>aCat</aspic:identifier>        
                <aspic:identifier>aDog</aspic:identifier>
                <aspic:variable>MyVariable</aspic:variable>
                <aspic:variable>VariableB</aspic:variable>
             </aspic:claim>
         </xforms:instance>
    
      <xforms:instance id="update-expression" >  <!-- outgoing -->
        <aspic:claim>
          <aspic:expression></aspic:expression>
          <aspic:selectedToken></aspic:selectedToken>  
          <aspic:identifier></aspic:identifier>        
          <aspic:variable></aspic:variable>
         </aspic:claim>
       </xforms:instance>
                             
  <xforms:submission     ref="instance('update-expression')"
                          id="next-token"
                          method="post"
                          action="/expression/next"
                          replace="instance"
                          instance="expression"/>                                                          
     </xforms:model>
   </xhtml:head>
 
    <xhtml:body>
        <div id="expression" >
            <h2>Expression: <xforms:output ref="instance('expression')/aspic:expression" ></xforms:output></h2>
        </div>
        <div id="next-token" >
            <h2>Next Tokens:</h2>        
            <table>
                <xforms:repeat id="token-repeat" nodeset="instance('expression')/aspic:nextToken" >
                    <tr>
                        <td>
                            <xforms:submit appearance="xxforms:link"  ref="aspic:token[text()='NEG']"  submission="next-token" incremental="true">
                                <xforms:label>Negation</xforms:label>              
                                <xforms:help>negation is a way to say 'not'</xforms:help>
                                <xforms:setvalue ref="instance('update-expression')/aspic:selectedToken"  value="NEG" ></xforms:setvalue>              
                                <xforms:send submission="next-token" ev:event="token-added-event"/>
                            </xforms:submit>
                        </td>
                    </tr>
                    <xforms:group ref="aspic:token[text()='IDN']" id="identifier">
                        <tr>
                            <td>
                                <xforms:submit appearance="xxforms:link" submission="next-token" >
                                    <xforms:label>Identifier  :  </xforms:label>
                                    <xforms:setvalue ref="aspic:selectedToken" value="IDN" ></xforms:setvalue>
                                    <xforms:send ev:event="token-added-event" submission="next-token" ></xforms:send>
                                </xforms:submit>
                               
                                <xforms:select1 ref="instance('expression')/aspic:identifier" selection="open" incremental="true" appearance="xxforms:autocomplete">
                                    <xforms:help>Please enter the name of your identifier. It must start with a lowercase letter....  Note to self: Bind this field</xforms:help>
                                    <xforms:itemset nodeset="instance('expression')/aspic:identifier">
                                        <xforms:label ref="."/>
                                        <xforms:value ref="."/>
                                    </xforms:itemset>
                                </xforms:select1>
                               
                            </td>
                        </tr>
                    </xforms:group>                   
                    <tr></tr>
                    <tr></tr>
                </xforms:repeat>
            </table>
        </div>
    </xhtml:body>
</xhtml:html>


Here is the pageflow:
**********************************
<!--=================================================================================-->
<!--                         EXPRESSION EDITOR PAGES                                 -->
<!--=================================================================================-->
    <page path-info="/expression/new"
          view="oxf:/expression/view/editor.xsl"
          id=" expression.new"/>
         
    <page path-info="expression/next"
          view="oxf:/expression/service/get.next.expression.editor.tokens.xpl"
          id="expression.next "/>


Here is my xpl:
*******************
<p:config xmlns:p="http://www.orbeon.com/oxf/pipeline"
          xmlns:oxf=" http://www.orbeon.com/oxf/processors"
          xmlns:aspic="http://www.cruk.com/aspic/editor/v1">

    <p:param name="instance" type="input" debug="input" next.token/>
    <p:param name="data" type="output"/>   
   
    <p:processor name="oxf:java">
        <p:input name="config">
            <config sourcepath="oxf:/java" class=" org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens"/>
        </p:input>
        <p:input name="data" href="#instance"/>
        <p:output name="data" ref="data"/>
    </p:processor>
</p:config>



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Problem with asynchrounous updates

Erik Bruchez
Administrator
Henrik,

When something goes wrong with XForms, be sure to enable XForms
debugging in log4j.xml:

<category name="org.orbeon.oxf.xforms.processor.XFormsServer">
     <priority value="debug"/>
</category>

This will give you a detailed log of pretty much everything the XForms
engine is doing.

In time, we hope to build a nice client-side console for this, but for
now you have to use the logs.

-Erik

Henrik Pettersen wrote:

> All,
>
> I am trying to build a page that updates asynchronosly in the background
> as users interact with the page. Sort of like the google translation
> xforms example.
>
> My problem:
> *****************
> 1. Load initial page
> 2. Click on 'negation'
> 3. Expect page to be updated and get.next.expression.editor.tokens.xpl
> to be called (note the debug statement)
>
> Instead, the tomcat log displays this:
> 2006-08-18 22:19:37,514 INFO  org.orbeon.oxf.webapp.ProcessorService   -
> /expression/next - Received request
> 2006-08-18 22:19:37,524 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /expression/next - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
> success rate: 98%
> 2006-08-18 22:19:37,534 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success
> rate: 92%
>
> But the get.next.expression.editor.tokens.xpl is never called. On
> further inspection, I decided to change the submit url from
> 'expression/next' to 'expression/next2' in the view, in an attempt to
> see if something would brake. All I got was this from tomcat:
> 2006-08-18 22:19:37,514 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /expression/next2 - Received request
> 2006-08-18 22:19:37,524 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /expression/next2 - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
> success rate: 98%
> 2006-08-18 22:19:37,534 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success
> rate: 92%
>
> So my problem is probably in the view page, but I am unable to see where
> I have gone wrong...
>
> Any insight would be greatly appreciated !
>
> Sincerely,
> Henrik Pettersen
> Advanced Computation Lab
> Cancer Research UK
>
>
> Here is my view:
> ***********************
> <?xml version='1.0' encoding='utf-8' ?>
> <xhtml:html xmlns=" "  xmlns:aspic="
> http://www.cruk.com/aspic/editor/v1"  
> xmlns:ev="http://www.w3.org/2001/xml-events"  
> xmlns:f="http://orbeon.org/oxf/xml/formatting 
> <http://orbeon.org/oxf/xml/formatting>"  
> xmlns:xforms="http://www.w3.org/2002/xforms"  
> xmlns:xhtml="http://www.w3.org/1999/xhtml"  xmlns:xi="
> http://orbeon.org/oxf/xml/xinclude"  
> xmlns:xs="http://www.w3.org/2001/XMLSchema"  xmlns:xsl="
> http://www.w3.org/1999/XSL/Transform"  
> xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"  xsl:version="2.0" >
>   <xhtml:head>
>     <xhtml:meta content="text/html; charset=UTF-8"  
> http-equiv="Content-Type" ></xhtml:meta>
>  
>     <xhtml:title> Expression Editor </xhtml:title>
>  
>     <xforms:model>
>         <xforms:instance id="expression" > <!-- incoming -->
>             <aspic:claim>
>                 <aspic:id>-1</aspic:id>        
>                   <aspic:expression></aspic:expression>          
>                 <aspic:nextToken>
>                     <aspic:token>NEG</aspic:token>
>                     <aspic:token>IDN</aspic:token>              
>                    </aspic:nextToken>
>                  
> <aspic:identifier>aLocalidentifier</aspic:identifier>        
>                   <aspic:identifier>aCat</aspic:identifier>        
>                 <aspic:identifier>aDog</aspic:identifier>
>                 <aspic:variable>MyVariable</aspic:variable>
>                 <aspic:variable>VariableB</aspic:variable>
>              </aspic:claim>
>          </xforms:instance>
>    
>       <xforms:instance id="update-expression" >  <!-- outgoing -->
>         <aspic:claim>
>           <aspic:expression></aspic:expression>
>           <aspic:selectedToken></aspic:selectedToken>  
>           <aspic:identifier></aspic:identifier>        
>           <aspic:variable></aspic:variable>
>          </aspic:claim>
>        </xforms:instance>
>                              
>   <xforms:submission     ref="instance('update-expression')"
>                           id="next-token"
>                           method="post"
>                           action="/expression/next"
>                           replace="instance"
>                           instance="expression"/>                      
>                                    
>      </xforms:model>
>    </xhtml:head>
>  
>     <xhtml:body>
>         <div id="expression" >
>             <h2>Expression: <xforms:output
> ref="instance('expression')/aspic:expression" ></xforms:output></h2>
>         </div>
>         <div id="next-token" >
>             <h2>Next Tokens:</h2>        
>             <table>
>                 <xforms:repeat id="token-repeat"
> nodeset="instance('expression')/aspic:nextToken" >
>                     <tr>
>                         <td>
>                             <xforms:submit appearance="xxforms:link"  
> ref="aspic:token[text()='NEG']"  submission="next-token"
> incremental="true">
>                                
> <xforms:label>Negation</xforms:label>              
>                                 <xforms:help>negation is a way to say
> 'not'</xforms:help>
>                                 <xforms:setvalue
> ref="instance('update-expression')/aspic:selectedToken"  value="NEG"
>  ></xforms:setvalue>              
>                                 <xforms:send submission="next-token"
> ev:event="token-added-event"/>
>                             </xforms:submit>
>                         </td>
>                     </tr>
>                     <xforms:group ref="aspic:token[text()='IDN']"
> id="identifier">
>                         <tr>
>                             <td>
>                                 <xforms:submit appearance="xxforms:link"
> submission="next-token" >
>                                     <xforms:label>Identifier  :  
> </xforms:label>
>                                     <xforms:setvalue
> ref="aspic:selectedToken" value="IDN" ></xforms:setvalue>
>                                     <xforms:send
> ev:event="token-added-event" submission="next-token" ></xforms:send>
>                                 </xforms:submit>
>                                
>                                 <xforms:select1
> ref="instance('expression')/aspic:identifier" selection="open"
> incremental="true" appearance="xxforms:autocomplete">
>                                     <xforms:help>Please enter the name
> of your identifier. It must start with a lowercase letter....  Note to
> self: Bind this field</xforms:help>
>                                     <xforms:itemset
> nodeset="instance('expression')/aspic:identifier">
>                                         <xforms:label ref="."/>
>                                         <xforms:value ref="."/>
>                                     </xforms:itemset>
>                                 </xforms:select1>
>                                
>                             </td>
>                         </tr>
>                     </xforms:group>                  
>                     <tr></tr>
>                     <tr></tr>
>                 </xforms:repeat>
>             </table>
>         </div>
>     </xhtml:body>
> </xhtml:html>
>
>
> Here is the pageflow:
> **********************************
> <!--=================================================================================-->
> <!--                         EXPRESSION EDITOR
> PAGES                                 -->
> <!--=================================================================================-->
>     <page path-info="/expression/new"
>           view="oxf:/expression/view/editor.xsl"
>           id=" expression.new"/>
>          
>     <page path-info="expression/next"
>          
> view="oxf:/expression/service/get.next.expression.editor.tokens.xpl"
>           id="expression.next "/>
>
>
> Here is my xpl:
> *******************
> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline"
>           xmlns:oxf=" http://www.orbeon.com/oxf/processors"
>           xmlns:aspic="http://www.cruk.com/aspic/editor/v1">
>
>     <p:param name="instance" type="input" debug="input" next.token/>
>     <p:param name="data" type="output"/>  
>    
>     <p:processor name="oxf:java">
>         <p:input name="config">
>             <config sourcepath="oxf:/java" class="
> org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens"/>
>         </p:input>
>         <p:input name="data" href="#instance"/>
>         <p:output name="data" ref="data"/>
>     </p:processor>
> </p:config>
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws

--
Orbeon - XForms Everywhere:
http://www.orbeon.com/blog/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Problem with asynchrounous updates

Henrik Pettersen
Nice one! Thanks!

Henrik

On 8/18/06, Erik Bruchez <[hidden email]> wrote:
Henrik,

When something goes wrong with XForms, be sure to enable XForms
debugging in log4j.xml:

<category name="org.orbeon.oxf.xforms.processor.XFormsServer">
     <priority value="debug"/>
</category>

This will give you a detailed log of pretty much everything the XForms
engine is doing.

In time, we hope to build a nice client-side console for this, but for
now you have to use the logs.

-Erik

Henrik Pettersen wrote:

> All,
>
> I am trying to build a page that updates asynchronosly in the background
> as users interact with the page. Sort of like the google translation
> xforms example.
>
> My problem:
> *****************
> 1. Load initial page
> 2. Click on 'negation'
> 3. Expect page to be updated and get.next.expression.editor.tokens.xpl
> to be called (note the debug statement)

>
> Instead, the tomcat log displays this:
> 2006-08-18 22:19:37,514 INFO  org.orbeon.oxf.webapp.ProcessorService   -
> /expression/next - Received request
> 2006-08-18 22:19:37,524 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /expression/next - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
> success rate: 98%
> 2006-08-18 22:19:37,534 INFO   org.orbeon.oxf.webapp.ProcessorService  -
> /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success
> rate: 92%
>
> But the get.next.expression.editor.tokens.xpl is never called. On
> further inspection, I decided to change the submit url from
> 'expression/next' to 'expression/next2' in the view, in an attempt to
> see if something would brake. All I got was this from tomcat:
> 2006-08-18 22:19:37,514 INFO   org.orbeon.oxf.webapp.ProcessorService  -
> /expression/next2 - Received request
> 2006-08-18 22:19:37,524 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /expression/next2 - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
> success rate: 98%
> 2006-08-18 22:19:37,534 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success
> rate: 92%
>
> So my problem is probably in the view page, but I am unable to see where
> I have gone wrong...
>
> Any insight would be greatly appreciated !
>
> Sincerely,
> Henrik Pettersen
> Advanced Computation Lab
> Cancer Research UK
>
>
> Here is my view:
> ***********************
> <?xml version='1.0' encoding='utf-8' ?>
> <xhtml:html xmlns=" "  xmlns:aspic="
> http://www.cruk.com/aspic/editor/v1 "
> xmlns:ev="http://www.w3.org/2001/xml-events"
> xmlns:f="http://orbeon.org/oxf/xml/formatting
> <http://orbeon.org/oxf/xml/formatting>"
> xmlns:xforms="http://www.w3.org/2002/xforms"
> xmlns:xhtml="http://www.w3.org/1999/xhtml"  xmlns:xi="
> http://orbeon.org/oxf/xml/xinclude"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"  xmlns:xsl="

> http://www.w3.org/1999/XSL/Transform"
> xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"  xsl:version="2.0" >
>   <xhtml:head>
>     <xhtml:meta content="text/html; charset=UTF-8"
> http-equiv="Content-Type" ></xhtml:meta>
>
>     <xhtml:title> Expression Editor </xhtml:title>
>
>     <xforms:model>
>         <xforms:instance id="expression" > <!-- incoming -->
>             <aspic:claim>
>                 <aspic:id>-1</aspic:id>
>                   <aspic:expression></aspic:expression>
>                 <aspic:nextToken>
>                     <aspic:token>NEG</aspic:token>
>                     <aspic:token>IDN</aspic:token>
>                    </aspic:nextToken>
>
> <aspic:identifier>aLocalidentifier</aspic:identifier>
>                   <aspic:identifier>aCat</aspic:identifier>
>                 <aspic:identifier>aDog</aspic:identifier>
>                 <aspic:variable>MyVariable</aspic:variable>
>                 <aspic:variable>VariableB</aspic:variable>
>              </aspic:claim>
>          </xforms:instance>
>
>       <xforms:instance id="update-expression" >  <!-- outgoing -->
>         <aspic:claim>
>           <aspic:expression></aspic:expression>
>           <aspic:selectedToken></aspic:selectedToken>
>           <aspic:identifier></aspic:identifier>
>           <aspic:variable></aspic:variable>
>          </aspic:claim>
>        </xforms:instance>
>
>   <xforms:submission     ref="instance('update-expression')"
>                           id="next-token"
>                           method="post"
>                           action="/expression/next"
>                           replace="instance"
>                           instance="expression"/>
>
>      </xforms:model>
>    </xhtml:head>
>
>     <xhtml:body>
>         <div id="expression" >
>             <h2>Expression: <xforms:output
> ref="instance('expression')/aspic:expression" ></xforms:output></h2>
>         </div>
>         <div id="next-token" >
>             <h2>Next Tokens:</h2>
>             <table>
>                 <xforms:repeat id="token-repeat"
> nodeset="instance('expression')/aspic:nextToken" >
>                     <tr>
>                         <td>
>                             <xforms:submit appearance="xxforms:link"
> ref="aspic:token[text()='NEG']"  submission="next-token"
> incremental="true">
>
> <xforms:label>Negation</xforms:label>
>                                 <xforms:help>negation is a way to say
> 'not'</xforms:help>
>                                 <xforms:setvalue
> ref="instance('update-expression')/aspic:selectedToken"  value="NEG"
>  ></xforms:setvalue>
>                                 <xforms:send submission="next-token"
> ev:event="token-added-event"/>
>                             </xforms:submit>
>                         </td>
>                     </tr>
>                     <xforms:group ref="aspic:token[text()='IDN']"
> id="identifier">
>                         <tr>
>                             <td>
>                                 <xforms:submit appearance="xxforms:link"
> submission="next-token" >
>                                     <xforms:label>Identifier  :
> </xforms:label>
>                                     <xforms:setvalue
> ref="aspic:selectedToken" value="IDN" ></xforms:setvalue>

>                                     <xforms:send
> ev:event="token-added-event" submission="next-token" ></xforms:send>
>                                 </xforms:submit>
>
>                                 <xforms:select1
> ref="instance('expression')/aspic:identifier" selection="open"
> incremental="true" appearance="xxforms:autocomplete">
>                                     <xforms:help>Please enter the name
> of your identifier. It must start with a lowercase letter....  Note to
> self: Bind this field</xforms:help>
>                                     <xforms:itemset
> nodeset="instance('expression')/aspic:identifier">
>                                         <xforms:label ref="."/>
>                                         <xforms:value ref="."/>
>                                     </xforms:itemset>
>                                 </xforms:select1>
>

>                             </td>
>                         </tr>
>                     </xforms:group>
>                     <tr></tr>
>                     <tr></tr>
>                 </xforms:repeat>
>             </table>
>         </div>
>     </xhtml:body>
> </xhtml:html>
>
>
> Here is the pageflow:
> **********************************

> <!--=================================================================================-->
> <!--                         EXPRESSION EDITOR
> PAGES                                 -->
> <!--=================================================================================-->
>     <page path-info="/expression/new"
>           view="oxf:/expression/view/editor.xsl"
>           id=" expression.new"/>
>
>     <page path-info="expression/next"
>
> view="oxf:/expression/service/get.next.expression.editor.tokens.xpl"
>           id=" expression.next "/>
>
>
> Here is my xpl:
> *******************
> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline"
>           xmlns:oxf=" http://www.orbeon.com/oxf/processors"
>           xmlns:aspic="http://www.cruk.com/aspic/editor/v1 ">
>
>     <p:param name="instance" type="input" debug="input" next.token/>
>     <p:param name="data" type="output"/>
>
>     <p:processor name="oxf:java">

>         <p:input name="config">
>             <config sourcepath="oxf:/java" class="
> org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens "/>
>         </p:input>
>         <p:input name="data" href="#instance"/>
>         <p:output name="data" ref="data"/>
>     </p:processor>
> </p:config>
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws


--
Orbeon - XForms Everywhere:
http://www.orbeon.com/blog/




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws





--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Problem with asynchrounous updates

Henrik Pettersen
In reply to this post by Erik Bruchez
All,

looking at the logs for the xforms instance (thanks, Erik), I find this message:

"Body received with non-XML media type for replace="instance": text/html"

Can you specify the mediatype on the submit? Am I doing something wrong, or could this be a bug?

Thanks!

Henrik

On 8/18/06, Erik Bruchez <[hidden email]> wrote:
Henrik,

When something goes wrong with XForms, be sure to enable XForms
debugging in log4j.xml:

<category name="org.orbeon.oxf.xforms.processor.XFormsServer">
     <priority value="debug"/>
</category>

This will give you a detailed log of pretty much everything the XForms
engine is doing.

In time, we hope to build a nice client-side console for this, but for
now you have to use the logs.

-Erik

Henrik Pettersen wrote:

> All,
>
> I am trying to build a page that updates asynchronosly in the background
> as users interact with the page. Sort of like the google translation
> xforms example.
>
> My problem:
> *****************
> 1. Load initial page
> 2. Click on 'negation'
> 3. Expect page to be updated and get.next.expression.editor.tokens.xpl
> to be called (note the debug statement)

>
> Instead, the tomcat log displays this:
> 2006-08-18 22:19:37,514 INFO  org.orbeon.oxf.webapp.ProcessorService   -
> /expression/next - Received request
> 2006-08-18 22:19:37,524 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /expression/next - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
> success rate: 98%
> 2006-08-18 22:19:37,534 INFO   org.orbeon.oxf.webapp.ProcessorService  -
> /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success
> rate: 92%
>
> But the get.next.expression.editor.tokens.xpl is never called. On
> further inspection, I decided to change the submit url from
> 'expression/next' to 'expression/next2' in the view, in an attempt to
> see if something would brake. All I got was this from tomcat:
> 2006-08-18 22:19:37,514 INFO   org.orbeon.oxf.webapp.ProcessorService  -
> /expression/next2 - Received request
> 2006-08-18 22:19:37,524 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /expression/next2 - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
> success rate: 98%
> 2006-08-18 22:19:37,534 INFO  org.orbeon.oxf.webapp.ProcessorService  -
> /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1, success
> rate: 92%
>
> So my problem is probably in the view page, but I am unable to see where
> I have gone wrong...
>
> Any insight would be greatly appreciated !
>
> Sincerely,
> Henrik Pettersen
> Advanced Computation Lab
> Cancer Research UK
>
>
> Here is my view:
> ***********************
> <?xml version='1.0' encoding='utf-8' ?>
> <xhtml:html xmlns=" "  xmlns:aspic="
> http://www.cruk.com/aspic/editor/v1 "
> xmlns:ev="http://www.w3.org/2001/xml-events"
> xmlns:f="http://orbeon.org/oxf/xml/formatting
> <http://orbeon.org/oxf/xml/formatting>"
> xmlns:xforms="http://www.w3.org/2002/xforms"
> xmlns:xhtml="http://www.w3.org/1999/xhtml"  xmlns:xi="
> http://orbeon.org/oxf/xml/xinclude"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"  xmlns:xsl="

> http://www.w3.org/1999/XSL/Transform"
> xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"  xsl:version="2.0" >
>   <xhtml:head>
>     <xhtml:meta content="text/html; charset=UTF-8"
> http-equiv="Content-Type" ></xhtml:meta>
>
>     <xhtml:title> Expression Editor </xhtml:title>
>
>     <xforms:model>
>         <xforms:instance id="expression" > <!-- incoming -->
>             <aspic:claim>
>                 <aspic:id>-1</aspic:id>
>                   <aspic:expression></aspic:expression>
>                 <aspic:nextToken>
>                     <aspic:token>NEG</aspic:token>
>                     <aspic:token>IDN</aspic:token>
>                    </aspic:nextToken>
>
> <aspic:identifier>aLocalidentifier</aspic:identifier>
>                   <aspic:identifier>aCat</aspic:identifier>
>                 <aspic:identifier>aDog</aspic:identifier>
>                 <aspic:variable>MyVariable</aspic:variable>
>                 <aspic:variable>VariableB</aspic:variable>
>              </aspic:claim>
>          </xforms:instance>
>
>       <xforms:instance id="update-expression" >  <!-- outgoing -->
>         <aspic:claim>
>           <aspic:expression></aspic:expression>
>           <aspic:selectedToken></aspic:selectedToken>
>           <aspic:identifier></aspic:identifier>
>           <aspic:variable></aspic:variable>
>          </aspic:claim>
>        </xforms:instance>
>
>   <xforms:submission     ref="instance('update-expression')"
>                           id="next-token"
>                           method="post"
>                           action="/expression/next"
>                           replace="instance"
>                           instance="expression"/>
>
>      </xforms:model>
>    </xhtml:head>
>
>     <xhtml:body>
>         <div id="expression" >
>             <h2>Expression: <xforms:output
> ref="instance('expression')/aspic:expression" ></xforms:output></h2>
>         </div>
>         <div id="next-token" >
>             <h2>Next Tokens:</h2>
>             <table>
>                 <xforms:repeat id="token-repeat"
> nodeset="instance('expression')/aspic:nextToken" >
>                     <tr>
>                         <td>
>                             <xforms:submit appearance="xxforms:link"
> ref="aspic:token[text()='NEG']"  submission="next-token"
> incremental="true">
>
> <xforms:label>Negation</xforms:label>
>                                 <xforms:help>negation is a way to say
> 'not'</xforms:help>
>                                 <xforms:setvalue
> ref="instance('update-expression')/aspic:selectedToken"  value="NEG"
>  ></xforms:setvalue>
>                                 <xforms:send submission="next-token"
> ev:event="token-added-event"/>
>                             </xforms:submit>
>                         </td>
>                     </tr>
>                     <xforms:group ref="aspic:token[text()='IDN']"
> id="identifier">
>                         <tr>
>                             <td>
>                                 <xforms:submit appearance="xxforms:link"
> submission="next-token" >
>                                     <xforms:label>Identifier  :
> </xforms:label>
>                                     <xforms:setvalue
> ref="aspic:selectedToken" value="IDN" ></xforms:setvalue>

>                                     <xforms:send
> ev:event="token-added-event" submission="next-token" ></xforms:send>
>                                 </xforms:submit>
>
>                                 <xforms:select1
> ref="instance('expression')/aspic:identifier" selection="open"
> incremental="true" appearance="xxforms:autocomplete">
>                                     <xforms:help>Please enter the name
> of your identifier. It must start with a lowercase letter....  Note to
> self: Bind this field</xforms:help>
>                                     <xforms:itemset
> nodeset="instance('expression')/aspic:identifier">
>                                         <xforms:label ref="."/>
>                                         <xforms:value ref="."/>
>                                     </xforms:itemset>
>                                 </xforms:select1>
>

>                             </td>
>                         </tr>
>                     </xforms:group>
>                     <tr></tr>
>                     <tr></tr>
>                 </xforms:repeat>
>             </table>
>         </div>
>     </xhtml:body>
> </xhtml:html>
>
>
> Here is the pageflow:
> **********************************

> <!--=================================================================================-->
> <!--                         EXPRESSION EDITOR
> PAGES                                 -->
> <!--=================================================================================-->
>     <page path-info="/expression/new"
>           view="oxf:/expression/view/editor.xsl"
>           id=" expression.new"/>
>
>     <page path-info="expression/next"
>
> view="oxf:/expression/service/get.next.expression.editor.tokens.xpl"
>           id=" expression.next "/>
>
>
> Here is my xpl:
> *******************
> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline"
>           xmlns:oxf=" http://www.orbeon.com/oxf/processors"
>           xmlns:aspic="http://www.cruk.com/aspic/editor/v1 ">
>
>     <p:param name="instance" type="input" debug="input" next.token/>
>     <p:param name="data" type="output"/>
>
>     <p:processor name="oxf:java">

>         <p:input name="config">
>             <config sourcepath="oxf:/java" class="
> org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens "/>
>         </p:input>
>         <p:input name="data" href="#instance"/>
>         <p:output name="data" ref="data"/>
>     </p:processor>
> </p:config>
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws


--
Orbeon - XForms Everywhere:
http://www.orbeon.com/blog/




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws





--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Problem with asynchrounous updates

Erik Bruchez
Administrator
Henrik,

This is the mediatype used by the service that sends you back the XML
document. It should be ideally be application/xml. How is your service
implemented? Does it set a mediatype (content-type)?

-Erik

Henrik Pettersen wrote:

> All,
>
> looking at the logs for the xforms instance (thanks, Erik), I find this
> message:
>
> "Body received with non-XML media type for replace="instance": text/html"
>
> Can you specify the mediatype on the submit? Am I doing something wrong,
> or could this be a bug?
>
> Thanks!
>
> Henrik
>
> On 8/18/06, *Erik Bruchez* <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     Henrik,
>
>     When something goes wrong with XForms, be sure to enable XForms
>     debugging in log4j.xml:
>
>     <category name="org.orbeon.oxf.xforms.processor.XFormsServer">
>          <priority value="debug"/>
>     </category>
>
>     This will give you a detailed log of pretty much everything the XForms
>     engine is doing.
>
>     In time, we hope to build a nice client-side console for this, but for
>     now you have to use the logs.
>
>     -Erik
>
>     Henrik Pettersen wrote:
>
>      > All,
>      >
>      > I am trying to build a page that updates asynchronosly in the
>     background
>      > as users interact with the page. Sort of like the google translation
>      > xforms example.
>      >
>      > My problem:
>      > *****************
>      > 1. Load initial page
>      > 2. Click on 'negation'
>      > 3. Expect page to be updated and
>     get.next.expression.editor.tokens.xpl
>      > to be called (note the debug statement)
>      >
>      > Instead, the tomcat log displays this:
>      > 2006-08-18 22:19:37,514
>     INFO  org.orbeon.oxf.webapp.ProcessorService   -
>      > /expression/next - Received request
>      > 2006-08-18 22:19:37,524
>     INFO  org.orbeon.oxf.webapp.ProcessorService  -
>      > /expression/next - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
>      > success rate: 98%
>      > 2006-08-18 22:19:37,534 INFO  
>     org.orbeon.oxf.webapp.ProcessorService  -
>      > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1,
>     success
>      > rate: 92%
>      >
>      > But the get.next.expression.editor.tokens.xpl is never called. On
>      > further inspection, I decided to change the submit url from
>      > 'expression/next' to 'expression/next2' in the view, in an attempt to
>      > see if something would brake. All I got was this from tomcat:
>      > 2006-08-18 22:19:37,514 INFO  
>     org.orbeon.oxf.webapp.ProcessorService  -
>      > /expression/next2 - Received request
>      > 2006-08-18 22:19:37,524
>     INFO  org.orbeon.oxf.webapp.ProcessorService  -
>      > /expression/next2 - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
>      > success rate: 98%
>      > 2006-08-18 22:19:37,534
>     INFO  org.orbeon.oxf.webapp.ProcessorService  -
>      > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1,
>     success
>      > rate: 92%
>      >
>      > So my problem is probably in the view page, but I am unable to
>     see where
>      > I have gone wrong...
>      >
>      > Any insight would be greatly appreciated !
>      >
>      > Sincerely,
>      > Henrik Pettersen
>      > Advanced Computation Lab
>      > Cancer Research UK
>      >
>      >
>      > Here is my view:
>      > ***********************
>      > <?xml version='1.0' encoding='utf-8' ?>
>      > <xhtml:html xmlns=" "  xmlns:aspic="
>      > http://www.cruk.com/aspic/editor/v1
>     <http://www.cruk.com/aspic/editor/v1>"
>      > xmlns:ev="http://www.w3.org/2001/xml-events"
>      > xmlns:f="http://orbeon.org/oxf/xml/formatting
>     <http://orbeon.org/oxf/xml/formatting>
>      > <http://orbeon.org/oxf/xml/formatting>"
>      > xmlns:xforms="http://www.w3.org/2002/xforms"
>      > xmlns:xhtml="http://www.w3.org/1999/xhtml"  xmlns:xi="
>      > http://orbeon.org/oxf/xml/xinclude"
>      > xmlns:xs="http://www.w3.org/2001/XMLSchema"  xmlns:xsl="
>      > http://www.w3.org/1999/XSL/Transform"
>      > xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"  xsl:version="2.0" >
>      >   <xhtml:head>
>      >     <xhtml:meta content="text/html; charset=UTF-8"
>      > http-equiv="Content-Type" ></xhtml:meta>
>      >
>      >     <xhtml:title> Expression Editor </xhtml:title>
>      >
>      >     <xforms:model>
>      >         <xforms:instance id="expression" > <!-- incoming -->
>      >             <aspic:claim>
>      >                 <aspic:id>-1</aspic:id>
>      >                   <aspic:expression></aspic:expression>
>      >                 <aspic:nextToken>
>      >                     <aspic:token>NEG</aspic:token>
>      >                     <aspic:token>IDN</aspic:token>
>      >                    </aspic:nextToken>
>      >
>      > <aspic:identifier>aLocalidentifier</aspic:identifier>
>      >                   <aspic:identifier>aCat</aspic:identifier>
>      >                 <aspic:identifier>aDog</aspic:identifier>
>      >                 <aspic:variable>MyVariable</aspic:variable>
>      >                 <aspic:variable>VariableB</aspic:variable>
>      >              </aspic:claim>
>      >          </xforms:instance>
>      >
>      >       <xforms:instance id="update-expression" >  <!-- outgoing -->
>      >         <aspic:claim>
>      >           <aspic:expression></aspic:expression>
>      >           <aspic:selectedToken></aspic:selectedToken>
>      >           <aspic:identifier></aspic:identifier>
>      >           <aspic:variable></aspic:variable>
>      >          </aspic:claim>
>      >        </xforms:instance>
>      >
>      >   <xforms:submission     ref="instance('update-expression')"
>      >                           id="next-token"
>      >                           method="post"
>      >                           action="/expression/next"
>      >                           replace="instance"
>      >                           instance="expression"/>
>      >
>      >      </xforms:model>
>      >    </xhtml:head>
>      >
>      >     <xhtml:body>
>      >         <div id="expression" >
>      >             <h2>Expression: <xforms:output
>      > ref="instance('expression')/aspic:expression" ></xforms:output></h2>
>      >         </div>
>      >         <div id="next-token" >
>      >             <h2>Next Tokens:</h2>
>      >             <table>
>      >                 <xforms:repeat id="token-repeat"
>      > nodeset="instance('expression')/aspic:nextToken" >
>      >                     <tr>
>      >                         <td>
>      >                             <xforms:submit appearance="xxforms:link"
>      > ref="aspic:token[text()='NEG']"  submission="next-token"
>      > incremental="true">
>      >
>      > <xforms:label>Negation</xforms:label>
>      >                                 <xforms:help>negation is a way to say
>      > 'not'</xforms:help>
>      >                                 <xforms:setvalue
>      > ref="instance('update-expression')/aspic:selectedToken"  value="NEG"
>      >  ></xforms:setvalue>
>      >                                 <xforms:send submission="next-token"
>      > ev:event="token-added-event"/>
>      >                             </xforms:submit>
>      >                         </td>
>      >                     </tr>
>      >                     <xforms:group ref="aspic:token[text()='IDN']"
>      > id="identifier">
>      >                         <tr>
>      >                             <td>
>      >                                 <xforms:submit
>     appearance="xxforms:link"
>      > submission="next-token" >
>      >                                     <xforms:label>Identifier  :
>      > </xforms:label>
>      >                                     <xforms:setvalue
>      > ref="aspic:selectedToken" value="IDN" ></xforms:setvalue>
>      >                                     <xforms:send
>      > ev:event="token-added-event" submission="next-token" ></xforms:send>
>      >                                 </xforms:submit>
>      >
>      >                                 <xforms:select1
>      > ref="instance('expression')/aspic:identifier" selection="open"
>      > incremental="true" appearance="xxforms:autocomplete">
>      >                                     <xforms:help>Please enter the
>     name
>      > of your identifier. It must start with a lowercase
>     letter....  Note to
>      > self: Bind this field</xforms:help>
>      >                                     <xforms:itemset
>      > nodeset="instance('expression')/aspic:identifier">
>      >                                         <xforms:label ref="."/>
>      >                                         <xforms:value ref="."/>
>      >                                     </xforms:itemset>
>      >                                 </xforms:select1>
>      >
>      >                             </td>
>      >                         </tr>
>      >                     </xforms:group>
>      >                     <tr></tr>
>      >                     <tr></tr>
>      >                 </xforms:repeat>
>      >             </table>
>      >         </div>
>      >     </xhtml:body>
>      > </xhtml:html>
>      >
>      >
>      > Here is the pageflow:
>      > **********************************
>      >
>     <!--=================================================================================-->
>      > <!--                         EXPRESSION EDITOR
>      > PAGES                                 -->
>      >
>     <!--=================================================================================-->
>      >     <page path-info="/expression/new"
>      >           view="oxf:/expression/view/editor.xsl"
>      >           id=" expression.new"/>
>      >
>      >     <page path-info="expression/next"
>      >
>      > view="oxf:/expression/service/get.next.expression.editor.tokens.xpl"
>      >           id=" expression.next "/>
>      >
>      >
>      > Here is my xpl:
>      > *******************
>      > <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline"
>      >           xmlns:oxf=" http://www.orbeon.com/oxf/processors"
>      >           xmlns:aspic="http://www.cruk.com/aspic/editor/v1
>     <http://www.cruk.com/aspic/editor/v1>">
>      >
>      >     <p:param name="instance" type="input" debug="input" next.token/>
>      >     <p:param name="data" type="output"/>
>      >
>      >     <p:processor name="oxf:java">
>      >         <p:input name="config">
>      >             <config sourcepath="oxf:/java" class="
>      > org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens "/>
>      >         </p:input>
>      >         <p:input name="data" href="#instance"/>
>      >         <p:output name="data" ref="data"/>
>      >     </p:processor>
>      > </p:config>
>      >
>      >
>      >
>     ------------------------------------------------------------------------
>      >
>      >
>      > --
>      > You receive this message as a subscriber of the
>     [hidden email] <mailto:[hidden email]> mailing list.
>      > To unsubscribe: mailto:[hidden email]
>     <mailto:[hidden email]>
>      > For general help: mailto: [hidden email]
>     <mailto:[hidden email]>?subject=help
>      > ObjectWeb mailing lists service home page:
>     http://www.objectweb.org/wws
>
>
>     --
>     Orbeon - XForms Everywhere:
>     http://www.orbeon.com/blog/
>
>
>
>
>     --
>     You receive this message as a subscriber of the
>     [hidden email] <mailto:[hidden email]> mailing list.
>     To unsubscribe: mailto: [hidden email]
>     <mailto:[hidden email]>
>     For general help: mailto:[hidden email]
>     <mailto:[hidden email]>?subject=help
>     ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>
>
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws

--
Orbeon - XForms Everywhere:
http://www.orbeon.com/blog/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Problem with asynchrounous updates

Henrik Pettersen
Erik,

I looked into this a little further, and I found curious problem.

When you are doing these asynchrounous calls to services, and the service for some reason fails,
what is returned to the requestor is an error html page with content type txt/html.

This response then fails the tests in XformsModelSubmission (contentype applcation/xml, return code 2xx) which throws an exception.

However, the contents of the error page from calling the service seems to be lost, which leaves you with little clues for what happened.

In my example, I have a bogus model reference in the pageflow.

Are there some logs that I have not enabled? Should the error page from calling the service be displayed to the user?

Henrik


On 8/19/06, Erik Bruchez <[hidden email]> wrote:
Henrik,

This is the mediatype used by the service that sends you back the XML
document. It should be ideally be application/xml. How is your service
implemented? Does it set a mediatype (content-type)?

-Erik

Henrik Pettersen wrote:

> All,
>
> looking at the logs for the xforms instance (thanks, Erik), I find this
> message:
>
> "Body received with non-XML media type for replace="instance": text/html"
>
> Can you specify the mediatype on the submit? Am I doing something wrong,
> or could this be a bug?
>
> Thanks!
>
> Henrik
>
> On 8/18/06, *Erik Bruchez* <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     Henrik,
>
>     When something goes wrong with XForms, be sure to enable XForms
>     debugging in log4j.xml:
>
>     <category name="org.orbeon.oxf.xforms.processor.XFormsServer">
>          <priority value="debug"/>
>     </category>
>
>     This will give you a detailed log of pretty much everything the XForms
>     engine is doing.
>
>     In time, we hope to build a nice client-side console for this, but for
>     now you have to use the logs.
>
>     -Erik
>
>     Henrik Pettersen wrote:
>
>      > All,
>      >
>      > I am trying to build a page that updates asynchronosly in the
>     background
>      > as users interact with the page. Sort of like the google translation
>      > xforms example.
>      >
>      > My problem:
>      > *****************
>      > 1. Load initial page
>      > 2. Click on 'negation'
>      > 3. Expect page to be updated and
>     get.next.expression.editor.tokens.xpl
>      > to be called (note the debug statement)
>      >
>      > Instead, the tomcat log displays this:

>      > 2006-08-18 22:19:37,514
>     INFO  org.orbeon.oxf.webapp.ProcessorService   -
>      > /expression/next - Received request
>      > 2006-08-18 22:19:37,524
>     INFO  org.orbeon.oxf.webapp.ProcessorService  -
>      > /expression/next - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
>      > success rate: 98%
>      > 2006-08-18 22:19:37,534 INFO
>     org.orbeon.oxf.webapp.ProcessorService  -
>      > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1,
>     success
>      > rate: 92%
>      >
>      > But the get.next.expression.editor.tokens.xpl is never called. On
>      > further inspection, I decided to change the submit url from
>      > 'expression/next' to 'expression/next2' in the view, in an attempt to
>      > see if something would brake. All I got was this from tomcat:
>      > 2006-08-18 22:19:37,514 INFO
>     org.orbeon.oxf.webapp.ProcessorService  -
>      > /expression/next2 - Received request
>      > 2006-08-18 22:19:37,524
>     INFO  org.orbeon.oxf.webapp.ProcessorService  -
>      > /expression/next2 - Timing: 10 - Cache hits: 156, fault: 3, adds: 0,
>      > success rate: 98%
>      > 2006-08-18 22:19:37,534
>     INFO  org.orbeon.oxf.webapp.ProcessorService  -
>      > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2, adds: 1,
>     success
>      > rate: 92%
>      >
>      > So my problem is probably in the view page, but I am unable to
>     see where
>      > I have gone wrong...
>      >
>      > Any insight would be greatly appreciated !
>      >
>      > Sincerely,
>      > Henrik Pettersen
>      > Advanced Computation Lab
>      > Cancer Research UK
>      >
>      >
>      > Here is my view:
>      > ***********************
>      > <?xml version='1.0' encoding='utf-8' ?>
>      > <xhtml:html xmlns=" "  xmlns:aspic="
>      > http://www.cruk.com/aspic/editor/v1
>     <http://www.cruk.com/aspic/editor/v1>"
>      > xmlns:ev=" http://www.w3.org/2001/xml-events"
>      > xmlns:f="http://orbeon.org/oxf/xml/formatting
>     < http://orbeon.org/oxf/xml/formatting>
>      > <http://orbeon.org/oxf/xml/formatting>"
>      > xmlns:xforms=" http://www.w3.org/2002/xforms"
>      > xmlns:xhtml="http://www.w3.org/1999/xhtml"  xmlns:xi="
>      > http://orbeon.org/oxf/xml/xinclude"
>      > xmlns:xs="http://www.w3.org/2001/XMLSchema"  xmlns:xsl="
>      > http://www.w3.org/1999/XSL/Transform"
>      > xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"  xsl:version="2.0" >
>      >   <xhtml:head>
>      >     <xhtml:meta content="text/html; charset=UTF-8"
>      > http-equiv="Content-Type" ></xhtml:meta>
>      >
>      >     <xhtml:title> Expression Editor </xhtml:title>
>      >
>      >     <xforms:model>
>      >         <xforms:instance id="expression" > <!-- incoming -->
>      >             <aspic:claim>
>      >                 <aspic:id>-1</aspic:id>
>      >                   <aspic:expression></aspic:expression>
>      >                 <aspic:nextToken>
>      >                     <aspic:token>NEG</aspic:token>
>      >                     <aspic:token>IDN</aspic:token>
>      >                    </aspic:nextToken>
>      >
>      > <aspic:identifier>aLocalidentifier</aspic:identifier>
>      >                   <aspic:identifier>aCat</aspic:identifier>
>      >                 <aspic:identifier>aDog</aspic:identifier>
>      >                 <aspic:variable>MyVariable</aspic:variable>
>      >                 <aspic:variable>VariableB</aspic:variable>
>      >              </aspic:claim>
>      >          </xforms:instance>
>      >
>      >       <xforms:instance id="update-expression" >  <!-- outgoing -->
>      >         <aspic:claim>
>      >           <aspic:expression></aspic:expression>
>      >           <aspic:selectedToken></aspic:selectedToken>
>      >           <aspic:identifier></aspic:identifier>
>      >           <aspic:variable></aspic:variable>
>      >          </aspic:claim>
>      >        </xforms:instance>
>      >
>      >   <xforms:submission     ref="instance('update-expression')"
>      >                           id="next-token"
>      >                           method="post"
>      >                           action="/expression/next"
>      >                           replace="instance"

>      >                           instance="expression"/>
>      >
>      >      </xforms:model>
>      >    </xhtml:head>
>      >
>      >     <xhtml:body>
>      >         <div id="expression" >
>      >             <h2>Expression: <xforms:output
>      > ref="instance('expression')/aspic:expression" ></xforms:output></h2>
>      >         </div>
>      >         <div id="next-token" >
>      >             <h2>Next Tokens:</h2>
>      >             <table>
>      >                 <xforms:repeat id="token-repeat"
>      > nodeset="instance('expression')/aspic:nextToken" >
>      >                     <tr>
>      >                         <td>
>      >                             <xforms:submit appearance="xxforms:link"
>      > ref="aspic:token[text()='NEG']"  submission="next-token"
>      > incremental="true">
>      >
>      > <xforms:label>Negation</xforms:label>
>      >                                 <xforms:help>negation is a way to say
>      > 'not'</xforms:help>
>      >                                 <xforms:setvalue
>      > ref="instance('update-expression')/aspic:selectedToken"  value="NEG"
>      >  ></xforms:setvalue>
>      >                                 <xforms:send submission="next-token"
>      > ev:event="token-added-event"/>
>      >                             </xforms:submit>
>      >                         </td>
>      >                     </tr>
>      >                     <xforms:group ref="aspic:token[text()='IDN']"
>      > id="identifier">
>      >                         <tr>
>      >                             <td>
>      >                                 <xforms:submit
>     appearance="xxforms:link"
>      > submission="next-token" >
>      >                                     <xforms:label>Identifier  :
>      > </xforms:label>
>      >                                     <xforms:setvalue
>      > ref="aspic:selectedToken" value="IDN" ></xforms:setvalue>
>      >                                     <xforms:send
>      > ev:event="token-added-event" submission="next-token" ></xforms:send>
>      >                                 </xforms:submit>
>      >
>      >                                 <xforms:select1
>      > ref="instance('expression')/aspic:identifier" selection="open"
>      > incremental="true" appearance="xxforms:autocomplete">
>      >                                     <xforms:help>Please enter the
>     name
>      > of your identifier. It must start with a lowercase
>     letter....  Note to
>      > self: Bind this field</xforms:help>
>      >                                     <xforms:itemset
>      > nodeset="instance('expression')/aspic:identifier">
>      >                                         <xforms:label ref="."/>
>      >                                         <xforms:value ref="."/>
>      >                                     </xforms:itemset>
>      >                                 </xforms:select1>
>      >
>      >                             </td>
>      >                         </tr>
>      >                     </xforms:group>
>      >                     <tr></tr>
>      >                     <tr></tr>
>      >                 </xforms:repeat>
>      >             </table>
>      >         </div>
>      >     </xhtml:body>
>      > </xhtml:html>
>      >
>      >
>      > Here is the pageflow:
>      > **********************************
>      >
>     <!--=================================================================================-->
>      > <!--                         EXPRESSION EDITOR
>      > PAGES                                 -->
>      >
>     <!--=================================================================================-->
>      >     <page path-info="/expression/new"
>      >           view="oxf:/expression/view/editor.xsl"
>      >           id=" expression.new"/>
>      >
>      >     <page path-info="expression/next"
>      >
>      > view="oxf:/expression/service/get.next.expression.editor.tokens.xpl"
>      >           id=" expression.next "/>
>      >
>      >
>      > Here is my xpl:
>      > *******************
>      > <p:config xmlns:p=" http://www.orbeon.com/oxf/pipeline"
>      >           xmlns:oxf=" http://www.orbeon.com/oxf/processors"
>      >           xmlns:aspic=" http://www.cruk.com/aspic/editor/v1
>     <http://www.cruk.com/aspic/editor/v1>">
>      >
>      >     <p:param name="instance" type="input" debug="input" next.token/>

>      >     <p:param name="data" type="output"/>
>      >
>      >     <p:processor name="oxf:java">
>      >         <p:input name="config">
>      >             <config sourcepath="oxf:/java" class="
>      > org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens "/>
>      >         </p:input>
>      >         <p:input name="data" href="#instance"/>
>      >         <p:output name="data" ref="data"/>
>      >     </p:processor>
>      > </p:config>
>      >
>      >
>      >
>     ------------------------------------------------------------------------

>      >
>      >
>      > --
>      > You receive this message as a subscriber of the
>     [hidden email] <mailto:[hidden email]> mailing list.
>      > To unsubscribe: mailto:[hidden email]
>     <mailto:[hidden email]>
>      > For general help: mailto: [hidden email]
>     <mailto:[hidden email]>?subject=help
>      > ObjectWeb mailing lists service home page:
>     http://www.objectweb.org/wws
>
>
>     --
>     Orbeon - XForms Everywhere:
>     http://www.orbeon.com/blog/
>
>
>
>
>     --
>     You receive this message as a subscriber of the
>     [hidden email] <mailto:[hidden email]> mailing list.
>     To unsubscribe: mailto: [hidden email]
>     <mailto:[hidden email]>
>     For general help: mailto:[hidden email]
>     <mailto:[hidden email]>?subject=help
>     ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>
>
>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws


--
Orbeon - XForms Everywhere:
http://www.orbeon.com/blog/




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws





--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Problem with asynchrounous updates

Erik Bruchez
Administrator
Henrik,

You can:

o Retrieve the error message body from XForms using event('body')
   available when you handle xforms-submit-error. (Note that event
   context information names defined in XForms 1.1 are not finalized
   yet, in particular "body" may be renamed "response-body" in the
   future.)

o Put a debug attribute in config/error.xpl

o Setup another Servlet in web.xml that handles all your services and
   has an error processor returning an XML error instead of an HTML
   one, although this is a slightly heavier setup.

Possibly in the future the default error.html could return an XML
error based on an "Accept" header set during XForms submission,
i.e. if there is an Accept header but no text/html, the error could be
simply formatted as XML.

-Erik

Henrik Pettersen wrote:
 > Erik,
 >
 > I looked into this a little further, and I found curious problem.
 >
 > When you are doing these asynchrounous calls to services, and the
 > service for some reason fails,
 > what is returned to the requestor is an error html page with content
 > type txt/html.
 >
 > This response then fails the tests in XformsModelSubmission (contentype
 > applcation/xml, return code 2xx) which throws an exception.
 >
 > However, the contents of the error page from calling the service seems
 > to be lost, which leaves you with little clues for what happened.
 >
 > In my example, I have a bogus model reference in the pageflow.
 >
 > Are there some logs that I have not enabled? Should the error page from
 > calling the service be displayed to the user?
 >
 > Henrik
 >
 >
 > On 8/19/06, *Erik Bruchez* <[hidden email]
 > <mailto:[hidden email]>> wrote:
 >
 >     Henrik,
 >
 >     This is the mediatype used by the service that sends you back the XML
 >     document. It should be ideally be application/xml. How is your
service
 >     implemented? Does it set a mediatype (content-type)?
 >
 >     -Erik
 >
 >     Henrik Pettersen wrote:
 >      > All,
 >      >
 >      > looking at the logs for the xforms instance (thanks, Erik), I
 >     find this
 >      > message:
 >      >
 >      > "Body received with non-XML media type for replace="instance":
 >     text/html"
 >      >
 >      > Can you specify the mediatype on the submit? Am I doing something
 >     wrong,
 >      > or could this be a bug?
 >      >
 >      > Thanks!
 >      >
 >      > Henrik
 >      >
 >      > On 8/18/06, *Erik Bruchez* < [hidden email]
 >     <mailto:[hidden email]>
 >      > <mailto:[hidden email] <mailto:[hidden email]>>> wrote:
 >      >
 >      >     Henrik,
 >      >
 >      >     When something goes wrong with XForms, be sure to enable
XForms
 >      >     debugging in log4j.xml:
 >      >
 >      >     <category name="org.orbeon.oxf.xforms.processor.XFormsServer">
 >      >          <priority value="debug"/>
 >      >     </category>
 >      >
 >      >     This will give you a detailed log of pretty much everything
 >     the XForms
 >      >     engine is doing.
 >      >
 >      >     In time, we hope to build a nice client-side console for
 >     this, but for
 >      >     now you have to use the logs.
 >      >
 >      >     -Erik
 >      >
 >      >     Henrik Pettersen wrote:
 >      >
 >      >      > All,
 >      >      >
 >      >      > I am trying to build a page that updates asynchronosly
in the
 >      >     background
 >      >      > as users interact with the page. Sort of like the google
 >     translation
 >      >      > xforms example.
 >      >      >
 >      >      > My problem:
 >      >      > *****************
 >      >      > 1. Load initial page
 >      >      > 2. Click on 'negation'
 >      >      > 3. Expect page to be updated and
 >      >     get.next.expression.editor.tokens.xpl
 >      >      > to be called (note the debug statement)
 >      >      >
 >      >      > Instead, the tomcat log displays this:
 >      >      > 2006-08-18 22:19:37,514
 >      >     INFO  org.orbeon.oxf.webapp.ProcessorService   -
 >      >      > /expression/next - Received request
 >      >      > 2006-08-18 22:19:37,524
 >      >     INFO  org.orbeon.oxf.webapp.ProcessorService  -
 >      >      > /expression/next - Timing: 10 - Cache hits: 156, fault: 3,
 >     adds: 0,
 >      >      > success rate: 98%
 >      >      > 2006-08-18 22:19:37,534 INFO
 >      >     org.orbeon.oxf.webapp.ProcessorService  -
 >      >      > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2,
 >     adds: 1,
 >      >     success
 >      >      > rate: 92%
 >      >      >
 >      >      > But the get.next.expression.editor.tokens.xpl is never
 >     called. On
 >      >      > further inspection, I decided to change the submit url from
 >      >      > 'expression/next' to 'expression/next2' in the view, in an
 >     attempt to
 >      >      > see if something would brake. All I got was this from
tomcat:
 >      >      > 2006-08-18 22:19:37,514 INFO
 >      >     org.orbeon.oxf.webapp.ProcessorService  -
 >      >      > /expression/next2 - Received request
 >      >      > 2006-08-18 22:19:37,524
 >      >     INFO  org.orbeon.oxf.webapp.ProcessorService  -
 >      >      > /expression/next2 - Timing: 10 - Cache hits: 156, fault:
 >     3, adds: 0,
 >      >      > success rate: 98%
 >      >      > 2006-08-18 22:19:37,534
 >      >     INFO  org.orbeon.oxf.webapp.ProcessorService  -
 >      >      > /xforms-server - Timing: 60 - Cache hits: 23, fault: 2,
 >     adds: 1,
 >      >     success
 >      >      > rate: 92%
 >      >      >
 >      >      > So my problem is probably in the view page, but I am
unable to
 >      >     see where
 >      >      > I have gone wrong...
 >      >      >
 >      >      > Any insight would be greatly appreciated !
 >      >      >
 >      >      > Sincerely,
 >      >      > Henrik Pettersen
 >      >      > Advanced Computation Lab
 >      >      > Cancer Research UK
 >      >      >
 >      >      >
 >      >      > Here is my view:
 >      >      > ***********************
 >      >      > <?xml version='1.0' encoding='utf-8' ?>
 >      >      > <xhtml:html xmlns=" "  xmlns:aspic="
 >      >      > http://www.cruk.com/aspic/editor/v1
 >      >     <http://www.cruk.com/aspic/editor/v1>"
 >      >      > xmlns:ev=" http://www.w3.org/2001/xml-events"
 >      >      > xmlns:f="http://orbeon.org/oxf/xml/formatting
 >      >     < http://orbeon.org/oxf/xml/formatting>
 >      >      > <http://orbeon.org/oxf/xml/formatting>"
 >      >      > xmlns:xforms=" http://www.w3.org/2002/xforms"
 >      >      > xmlns:xhtml="http://www.w3.org/1999/xhtml"  xmlns:xi="
 >      >      > http://orbeon.org/oxf/xml/xinclude"
 >      >      > xmlns:xs="http://www.w3.org/2001/XMLSchema"  xmlns:xsl="
 >      >      > http://www.w3.org/1999/XSL/Transform"
 >      >      >
 >     xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"  xsl:version="2.0" >
 >      >      >   <xhtml:head>
 >      >      >     <xhtml:meta content="text/html; charset=UTF-8"
 >      >      > http-equiv="Content-Type" ></xhtml:meta>
 >      >      >
 >      >      >     <xhtml:title> Expression Editor </xhtml:title>
 >      >      >
 >      >      >     <xforms:model>
 >      >      >         <xforms:instance id="expression" > <!--
incoming -->
 >      >      >             <aspic:claim>
 >      >      >                 <aspic:id>-1</aspic:id>
 >      >      >                   <aspic:expression></aspic:expression>
 >      >      >                 <aspic:nextToken>
 >      >      >                     <aspic:token>NEG</aspic:token>
 >      >      >                     <aspic:token>IDN</aspic:token>
 >      >      >                    </aspic:nextToken>
 >      >      >
 >      >      > <aspic:identifier>aLocalidentifier</aspic:identifier>
 >      >      >                   <aspic:identifier>aCat</aspic:identifier>
 >      >      >                 <aspic:identifier>aDog</aspic:identifier>
 >      >      >                 <aspic:variable>MyVariable</aspic:variable>
 >      >      >                 <aspic:variable>VariableB</aspic:variable>
 >      >      >              </aspic:claim>
 >      >      >          </xforms:instance>
 >      >      >
 >      >      >       <xforms:instance id="update-expression" >  <!--
 >     outgoing -->
 >      >      >         <aspic:claim>
 >      >      >           <aspic:expression></aspic:expression>
 >      >      >           <aspic:selectedToken></aspic:selectedToken>
 >      >      >           <aspic:identifier></aspic:identifier>
 >      >      >           <aspic:variable></aspic:variable>
 >      >      >          </aspic:claim>
 >      >      >        </xforms:instance>
 >      >      >
 >      >      >   <xforms:submission
ref="instance('update-expression')"
 >      >      >                           id="next-token"
 >      >      >                           method="post"
 >      >      >                           action="/expression/next"
 >      >      >                           replace="instance"
 >      >      >                           instance="expression"/>
 >      >      >
 >      >      >      </xforms:model>
 >      >      >    </xhtml:head>
 >      >      >
 >      >      >     <xhtml:body>
 >      >      >         <div id="expression" >
 >      >      >             <h2>Expression: <xforms:output
 >      >      > ref="instance('expression')/aspic:expression"
 >      ></xforms:output></h2>
 >      >      >         </div>
 >      >      >         <div id="next-token" >
 >      >      >             <h2>Next Tokens:</h2>
 >      >      >             <table>
 >      >      >                 <xforms:repeat id="token-repeat"
 >      >      > nodeset="instance('expression')/aspic:nextToken" >
 >      >      >                     <tr>
 >      >      >                         <td>
 >      >      >                             <xforms:submit
 >     appearance="xxforms:link"
 >      >      > ref="aspic:token[text()='NEG']"  submission="next-token"
 >      >      > incremental="true">
 >      >      >
 >      >      > <xforms:label>Negation</xforms:label>
 >      >      >                                 <xforms:help>negation is a
 >     way to say
 >      >      > 'not'</xforms:help>
 >      >      >                                 <xforms:setvalue
 >      >      >
 >     ref="instance('update-expression')/aspic:selectedToken"  value="NEG"
 >      >      >  ></xforms:setvalue>
 >      >      >                                 <xforms:send
 >     submission="next-token"
 >      >      > ev:event="token-added-event"/>
 >      >      >                             </xforms:submit>
 >      >      >                         </td>
 >      >      >                     </tr>
 >      >      >                     <xforms:group
 >     ref="aspic:token[text()='IDN']"
 >      >      > id="identifier">
 >      >      >                         <tr>
 >      >      >                             <td>
 >      >      >                                 <xforms:submit
 >      >     appearance="xxforms:link"
 >      >      > submission="next-token" >
 >      >      >
 >     <xforms:label>Identifier  :
 >      >      > </xforms:label>
 >      >      >                                     <xforms:setvalue
 >      >      > ref="aspic:selectedToken" value="IDN" ></xforms:setvalue>
 >      >      >                                     <xforms:send
 >      >      > ev:event="token-added-event" submission="next-token"
 >      ></xforms:send>
 >      >      >                                 </xforms:submit>
 >      >      >
 >      >      >                                 <xforms:select1
 >      >      > ref="instance('expression')/aspic:identifier"
 >     selection="open"
 >      >      > incremental="true" appearance="xxforms:autocomplete">
 >      >      >                                     <xforms:help>Please
 >     enter the
 >      >     name
 >      >      > of your identifier. It must start with a lowercase
 >      >     letter....  Note to
 >      >      > self: Bind this field</xforms:help>
 >      >      >                                     <xforms:itemset
 >      >      > nodeset="instance('expression')/aspic:identifier">
 >      >      >                                         <xforms:label
 >     ref="."/>
 >      >      >                                         <xforms:value
 >     ref="."/>
 >      >      >                                     </xforms:itemset>
 >      >      >                                 </xforms:select1>
 >      >      >
 >      >      >                             </td>
 >      >      >                         </tr>
 >      >      >                     </xforms:group>
 >      >      >                     <tr></tr>
 >      >      >                     <tr></tr>
 >      >      >                 </xforms:repeat>
 >      >      >             </table>
 >      >      >         </div>
 >      >      >     </xhtml:body>
 >      >      > </xhtml:html>
 >      >      >
 >      >      >
 >      >      > Here is the pageflow:
 >      >      > **********************************
 >      >      >
 >      >
 >
<!--=================================================================================-->
 >      >      > <!--                         EXPRESSION EDITOR
 >      >      > PAGES                                 -->
 >      >      >
 >      >
 >
<!--=================================================================================-->
 >      >      >     <page path-info="/expression/new"
 >      >      >           view="oxf:/expression/view/editor.xsl"
 >      >      >           id=" expression.new"/>
 >      >      >
 >      >      >     <page path-info="expression/next"
 >      >      >
 >      >      >
 >     view="oxf:/expression/service/get.next.expression.editor.tokens.xpl"
 >      >      >           id=" expression.next "/>
 >      >      >
 >      >      >
 >      >      > Here is my xpl:
 >      >      > *******************
 >      >      > <p:config xmlns:p=" http://www.orbeon.com/oxf/pipeline"
 >      >      >           xmlns:oxf=" http://www.orbeon.com/oxf/processors"
 >      >      >           xmlns:aspic=" http://www.cruk.com/aspic/editor/v1
 >      >     <http://www.cruk.com/aspic/editor/v1>">
 >      >      >
 >      >      >     <p:param name="instance" type="input" debug="input"
 >     next.token/>
 >      >      >     <p:param name="data" type="output"/>
 >      >      >
 >      >      >     <p:processor name="oxf:java">
 >      >      >         <p:input name="config">
 >      >      >             <config sourcepath="oxf:/java" class="
 >      >      >
org.cruk.aspic.editor.api.orbeon.GetNextClaimEditorTokens "/>
 >      >      >         </p:input>
 >      >      >         <p:input name="data" href="#instance"/>
 >      >      >         <p:output name="data" ref="data"/>
 >      >      >     </p:processor>
 >      >      > </p:config>
 >      >      >
 >      >      >
 >      >      >
 >      >
 >
------------------------------------------------------------------------
 >      >      >
 >      >      >
 >      >      > --
 >      >      > You receive this message as a subscriber of the
 >      >     [hidden email] <mailto:[hidden email]>
 >     <mailto:[hidden email] <mailto:[hidden email]>>
 >     mailing list.
 >      >      > To unsubscribe: mailto:[hidden email]
 >     <mailto:[hidden email]>
 >      >     <mailto:[hidden email]
 >     <mailto:[hidden email]>>
 >      >      > For general help: mailto: [hidden email]
 >     <mailto:[hidden email]>
 >      >     <mailto:[hidden email]
 >     <mailto:[hidden email]>>?subject=help
 >      >      > ObjectWeb mailing lists service home page:
 >      >     http://www.objectweb.org/wws <http://www.objectweb.org/wws>
 >      >
 >      >
 >      >     --
 >      >     Orbeon - XForms Everywhere:
 >      >     http://www.orbeon.com/blog/
 >      >
 >      >
 >      >
 >      >
 >      >     --
 >      >     You receive this message as a subscriber of the
 >      >     [hidden email] <mailto:[hidden email]>
 >     <mailto:[hidden email] <mailto:[hidden email]>>
 >     mailing list.
 >      >     To unsubscribe: mailto: [hidden email]
 >     <mailto:[hidden email]>
 >      >     <mailto:[hidden email]
 >     <mailto:[hidden email]>>
 >      >     For general help: mailto: [hidden email]
 >     <mailto:[hidden email]>
 >      >     <mailto:[hidden email]
 >     <mailto:[hidden email]>>?subject=help
 >      >     ObjectWeb mailing lists service home page:
 >     http://www.objectweb.org/wws <http://www.objectweb.org/wws>
 >      >
 >      >
 >      >
 >      >
 >      >
 >
------------------------------------------------------------------------
 >      >
 >      >
 >      > --
 >      > You receive this message as a subscriber of the
 >     [hidden email] <mailto:[hidden email]> mailing
list.
 >      > To unsubscribe: mailto:[hidden email]
 >     <mailto:[hidden email]>
 >      > For general help: mailto: [hidden email]
 >     <mailto:[hidden email]>?subject=help
 >      > ObjectWeb mailing lists service home page:
 >     http://www.objectweb.org/wws
 >
 >
 >     --
 >     Orbeon - XForms Everywhere:
 >     http://www.orbeon.com/blog/
 >
 >
 >
 >
 >     --
 >     You receive this message as a subscriber of the
 >     [hidden email] <mailto:[hidden email]> mailing
list.
 >     To unsubscribe: mailto: [hidden email]
 >     <mailto:[hidden email]>
 >     For general help: mailto:[hidden email]
 >     <mailto:[hidden email]>?subject=help
 >     ObjectWeb mailing lists service home page:
http://www.objectweb.org/wws
 >
 >
 >
 >
 > ------------------------------------------------------------------------
 >
 >
 > --
 > You receive this message as a subscriber of the
[hidden email] mailing list.
 > To unsubscribe: mailto:[hidden email]
 > For general help: mailto:[hidden email]?subject=help
 > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws


--
Orbeon - XForms Everywhere:
http://www.orbeon.com/blog/




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws