I wanted to know how Orbeon Forms work in Liferay because the Web Forms portlet is very limited, so I visited Orbeon’s website and read its documentation. Then I downloaded it and ran in a Tomcat server, I built a form with the Form Builder and then tried it with the Form Runner.
My question is, how can I export one of the forms I created with the Form Builder to include it in Liferay as a portlet for example? Is that possible? Can I export a form into a WAR for example and then deploy it into Liferay?
I know you can deploy Orbeon Forms into liferay but I only want to include a specific form, not all the application with the Form Builder, the examples etc.
Could anyone help me?
First, a clarification: if what you mean is that you just want “the form”, in the sense of just the XHTML, that can’t work because any form built with Orbeon Forms needs a runtime to function. If the form is created with Form Builder, that means the Form Runner runtime. Either way you will need an Orbeon Forms portlet or servlet.
The forms you create, when published, are stored into a database. By default this is the built-in eXist XML database, but you can use Oracle, MySQL, or your custom persistence layer.
In order to see forms in Liferay, you have two possibilities:
I recommend you peruse these two pages for details.
How it works depends on which type of portlet you use.
If using the proxy portlet, then the portlet is very lightweight and just forwards requests to a separate webapp running the Form Runner runtime. You configure the portlet to point to a specific form.
If using the full portlet, then Form Runner runs directly as a portlet. Here the portlet will load a landing page, and you probably will want to modify that landing page to point to the forms you want your users to see.
In both cases, your published form will be found as long as Form Runner points to the right database.
In your case it seems like the proxy portlet might be your best option. Note that lots of bug fixes have taken place with the proxy portlet since 3.9, so I would recommend a nightly build. For reference here is the source of the proxy portlet.