Using Orbeon in a portlet

Posted by jagomi on
URL: https://discuss.orbeon.com/Using-Orbeon-in-a-portlet-tp1574045.html

Good afternoon, and thanks in advance for your help because I’m desperate.

I’m trying to use Orbeon in a JSR 168 portlet deployed in Vignette Portal 8, using Tomcat. I have used orbeon previously, but always without a portal.

These are the steps I have done:
1. I have deployed the portlet  in Vignette 8; it appears in the “Portlet Applications” list but it’s not shown in the “Portlet List” view to create a new portlet.

2. To solve this, I’ve had to deploy a “normal” XML  JSR-168 portlet, and then redeploy it including  the xforms configuration in the portlet.

3. The portlet this way, works properly  until I try to include any “forms” element. In this case it does not show any error in the log(nor orbeon, nor tomcat, nor vignette log) but it shows the message:
-------------------------------
Loading...
An error has occurred
You may want to try one of the following:
• Close this dialog and continue to use this page.
• Reload this page. Note that you will lose any unsaved changes.
• If the above does not work, try reloading the page yourself. Note that you will lose any unsaved changes:
o With Firefox and Safari: hold down the shift key and click the Reload button in your browser toolbar.
o With Internet Explorer: hold down the control key and click the Reload button in your browser toolbar.
• Return home.
 Show details
 Hide details
Help
Close
 $xforms-template-label$ $xforms-template-label$
 ----------------------------------------------------------


  This is the XHTML I am using:
--------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<html xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:xforms="http://www.w3.org/2002/xforms"
      xmlns:ev="http://www.w3.org/2001/xml-events"
      xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
      xmlns:exforms="http://www.exforms.org/exf/1-0"
      xmlns:xi="http://www.w3.org/2001/XInclude"
      xmlns:f="http://orbeon.org/oxf/xml/formatting"
      xmlns:xhtml="http://www.w3.org/1999/xhtml"
      xmlns:xxi="http://orbeon.org/oxf/xml/xinclude"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns="http://www.w3.org/1999/xhtml"
      xsl:version="2.0">

<head>
<link rel="stylesheet" href="http://10.2.28.196/portal/marm/style/style.css" type="text/css" media="screen" />
<xforms:model id="formulario-model">
        <xforms:submission id="prueba"  action="/PortletBus" method="post"/>
        <xforms:instance id="formulario-instance" src="input:instance"/>
       
        <xforms:action ev:event="xforms-model-construct-done">
                <xforms:setvalue ref="instance('formulario-instance')/nombre_remitente" value="xxforms:get-request-parameter('datos')" /> 
        </xforms:action>
</xforms:model>


</head>
<body>

<div id="main" class="main_proceduresRequest">
        <div id="content">
               


                <p><xforms:input ref="/DatosFirmados/DatosRegistro/Resumen" class="texter">
                                                                <xforms:label class="wide"></xforms:label>
                                                                </xforms:input></p>
               

               
                <div class="data">
               
                                <div class="top">
                                        <p class="vignettedB">Cumplimentación</p>
                                </div>
                                <div class="request">
                                        <ol class="nav">
                                                <li class="actual">Solicitar</li>
                                        </ol>
                                        <div class="content">
                                               

<p>Datos Procedimiento</p>

                                               
                                                <p><xforms:input ref="/DatosFirmados/DatosRegistro/Resumen" class="texter">
                                                                <xforms:label class="wide">Procedimiento: </xforms:label>
                                                                </xforms:input></p>
                                                       
                                                        <p>Remitente</p>
                                                               
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosRegistro/Interesados/Interesado/IntNombre" class="texter">
                                                                <xforms:label class="wide">Nombre: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                               
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosRegistro/Interesados/Interesado/IntTxtDoc" class="texter">
                                                                <xforms:label class="wide">NIF/NIE: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                               
                                                               
                                                                <xforms:select1 ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolCanal" appearance="full">
                                                                <xforms:label class="wide">Canal de comunicación preferente: </xforms:label>
                                                                        <xforms:item>
                                                                                <xforms:label>Correo postal</xforms:label>
                                                                                <xforms:value>Correo postal</xforms:value>
                                                                        </xforms:item>
                                                                        <xforms:item>
                                                                                <xforms:label>Notificación telemática</xforms:label>
                                                                                <xforms:value>Notificación telemática</xforms:value>
                                                                        </xforms:item>
                                                                        <xforms:item>
                                                                                <xforms:label>Ninguno</xforms:label>
                                                                                <xforms:value>Ninguno</xforms:value>
                                                                        </xforms:item>
                                                               
                                                                </xforms:select1>
                                                       
                                                        <p><xforms:input ref="/DatosFirmados/DatosRegistro/Interesados/Interesado/IntTxtDoc" class="texter">
                                                                <xforms:label class="wide">Contacto: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <xforms:select1 ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolCanal" appearance="full">
                                                                <xforms:label class="wide">Usted presenta esta solicitud: </xforms:label>
                                                                        <xforms:item>
                                                                                <xforms:label>A título personal</xforms:label>
                                                                                <xforms:value>A título personal</xforms:value>
                                                                        </xforms:item>
                                                                        <xforms:item>
                                                                                <xforms:label>En representación</xforms:label>
                                                                                <xforms:value>En representación</xforms:value>
                                                                        </xforms:item>
                                                                       
                                                               
                                                                </xforms:select1>
                                                               
                                                                <p><xforms:input ref="//DatosFirmados/DatosRegistro/UTDestino/DescripcionUTDestino" class="texter">
                                                                <xforms:label class="wide">Destino: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolMotivo" class="texter">
                                                                <xforms:label class="wide">Motivo: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                       

<p>Información Solicitante</p>

                                                       
                                                                <xforms:select1 ref="/DatosFirmados/DatosRegistro/Interesados/Interesado/IntTipo" appearance="full">
                                                                <xforms:label class="wide">Tipo de persona: </xforms:label>
                                                                        <xforms:item>
                                                                                <xforms:label>Física</xforms:label>
                                                                                <xforms:value>Física</xforms:value>
                                                                        </xforms:item>
                                                                        <xforms:item>
                                                                                <xforms:label>Jurídica</xforms:label>
                                                                                <xforms:value>Jurídica</xforms:value>
                                                                        </xforms:item>
                                                                       
                                                               
                                                                </xforms:select1>
                                                               
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosRegistro/Interesados/Interesado/IntNombre" class="texter">
                                                                <xforms:label class="wide">Nombre / Razón Social: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosRegistro/Interesados/Interesado/IntApellido1" class="texter">
                                                                <xforms:label class="wide">Primer apellido: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosRegistro/Interesados/Interesado/IntApellido2" class="texter">
                                                                <xforms:label class="wide">Segundo aplellido: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosRegistro/Interesados/Interesado/IntTxtDoc" class="texter">
                                                                <xforms:label class="wide">NIF / NIE / CIF: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="DatosFirmados/DatosProcedimiento/Solicitante/SolDireccion" class="texter">
                                                                <xforms:label class="wide">Dirección: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolCodPostal" class="texter">
                                                                <xforms:label class="wide">Código postal: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolProvincia" class="texter">
                                                                <xforms:label class="wide">Provincia: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <xforms:select1 ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolProvincia" appearance="minimal">
                                                                <xforms:label class="wide">Provincia: </xforms:label>
                                                                        <xforms:item>
                                                                                <xforms:label>Albacete</xforms:label>
                                                                                <xforms:value>02</xforms:value>
                                                                        </xforms:item>
                                                                        <xforms:item>
                                                                                <xforms:label>Alicante</xforms:label>
                                                                                <xforms:value>03</xforms:value>
                                                                        </xforms:item>
                                                                       
                                                                </xforms:select1>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolTel" class="texter">
                                                                <xforms:label class="wide">Teléfono: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolTelMovil" class="texter">
                                                                <xforms:label class="wide">Teléfono móvil: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolFax" class="texter">
                                                                <xforms:label class="wide">Fax: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                                <p><xforms:input ref="/DatosFirmados/DatosProcedimiento/Solicitante/SolCorreoElectronico" class="texter">
                                                                <xforms:label class="wide">Correo electrónico: </xforms:label>
                                                                </xforms:input></p>
                                                               
                                                               
                                                                               
                                        </div>
                                <div class="bottom"></div>
                        </div> 
                </div> 
                <div class="bottom"></div>
        </div> 

</div>
<xforms:submit submission="prueba">
<xforms:label>Log in</xforms:label>
</xforms:submit>
</body>
</html>

------------------------------------------------


   And this is the portlet.xml:
----------------------------------------------
<?xml version="1.0" ?>
<portlet-app>
    <portlet>
        <portlet-name>OrbeonFormsPortlet</portlet-name>
        <portlet-class>org.orbeon.oxf.portlet.OrbeonPortletDelegate</portlet-class>
        <supports>
            <mime-type>text/html</mime-type>
            <portlet-mode>edit</portlet-mode>
        </supports>
        <init-param>
            <name>oxf.main-processor.name</name>
            <value>{http://www.orbeon.com/oxf/processors}pipeline</value>
        </init-param>
        <init-param>
            <name>oxf.main-processor.input.config</name>
            <value>oxf:/config/prologue-portlet.xpl</value>
        </init-param>
        <init-param>
            <name>oxf.error-processor.name</name>
            <value>{http://www.orbeon.com/oxf/processors}pipeline</value>
        </init-param>
        <init-param>
            <name>oxf.error-processor.input.config</name>
            <value>oxf:/config/error.xpl</value>
        </init-param>
        <supports>
            <mime-type>text/html</mime-type>
            <mime-type>application/xml</mime-type>
        </supports>
        <portlet-info>
            <title>Orbeon Forms Portlet</title>
        </portlet-info>
        <portlet-preferences>
            <preference>
                <name>web-site</name>
                <value>http://www.orbeon.com/</value>
            </preference>
            <preference>
                <name>favorite-animals</name>
                <value>cat, dog</value>
            </preference>
        </portlet-preferences>
    </portlet>
</portlet-app>
--------------------------------------------
 
  Thank you very, very much.

Javier