Operations grimoire/Orbeon: Difference between revisions
(More bugs) |
|||
Line 45: | Line 45: | ||
*# Restart container: <code>docker restart nasqueron_forms</code> | *# Restart container: <code>docker restart nasqueron_forms</code> | ||
== Known issues == | |||
=== Authentication === | |||
Authentication is known to be rather buggy: | Authentication is known to be rather buggy: | ||
* if you login at form runner level (e.g. /fr/admin), you can be unlogged at builder level | * if you login at form runner level (e.g. /fr/admin), you can be unlogged at builder level | ||
Line 53: | Line 55: | ||
* If you got a 408 you accessed yourself /fr/login, but web.xml needs to be configured with a <login-config> block using the FORM auth method (that's the default Orbeon web.xml) | * If you got a 408 you accessed yourself /fr/login, but web.xml needs to be configured with a <login-config> block using the FORM auth method (that's the default Orbeon web.xml) | ||
* To enable login/logout menu, you need to add <code><property as="xs:boolean" name="oxf.fr.authentication.user-menu.enable" value="true" /></code> to properties-local.xml | * To enable login/logout menu, you need to add <code><property as="xs:boolean" name="oxf.fr.authentication.user-menu.enable" value="true" /></code> to properties-local.xml | ||
=== Features === | |||
* PDF doesn't have style when generated through nginx. As a work around, you can create SSH tunnel with <code>ssh -L 16080:dwellers:16080</code> and browse http://localhost:16080 if you need a PDF. | |||
* No flat view for multi-files attachment: https://github.com/orbeon/orbeon-forms/issues/1069 | |||
== Useful links == | == Useful links == | ||
* [https://doc.orbeon.com/ Official documentation] | * [https://doc.orbeon.com/ Official documentation] | ||
* [https://groups.google.com/g/orbeon Google Groups] | * [https://groups.google.com/g/orbeon Google Groups] |
Revision as of 01:15, 25 May 2023
Orbeon Forms allows to build and manage dynamic web forms, following the XForms XML specification. We use Orbeon Forms CE, released under open source LGPL license.
For Nasqueron, Orbeon Forms is deployed on the Docker PaaS and can be accessed at https://forms.nasqueron.org/
It allows forms administrators to create and read forms, and users to read fill forms. Those forms can be for a website or for a survey.
As of May 2023, the deployment is currently in testing mode on the "Dwellers" server. If the service has been moved to a different server, the references to "dwellers" in the procedures below should be replaced with the correct server name, for example "docker-002".
In the "Concepts" section, provide brief descriptions of Form Runner and Form Builder, explaining their respective functionalities.
Concepts
Orbeon Forms is divided in several applications:
- Form Runner allows to fill a form and read form replies. For that, it reads a form in the XForms and connects to a database source.
- Form Builder is an editor to visually design forms.
Once published, forms can be used different ways:
- Through Form Runner. You direct the user to
https://forms.nasqueron.org/orbeon/fr/<your app name>/<your form name>
. It fills the form there, and afterwards is redirected to the configured URL. - As a storage back-end. You can also interact through Persistence API with the storage back-end.
Publish a form
The Form Builder is an editor to create a new form. You can also publish forms so they're accessible to the runner.
An access to the form builder is required. Browse:
- https://forms.nasqueron.org/orbeon/fr/orbeon/builder/new to create a new form
- https://forms.nasqueron.org/orbeon/fr/orbeon/builder/summary to view and edit current forms
Each form is identified by:
- application name -> use an unique name for your application, with
nasqueron-
prefix, for example join.nasqueron.org usesnasqueron-join
- form name -> use a short descriptive name for your form goal
Forms should also be published to the forms Git repository, so they're under version control, and can also be recreated if something goes wrong with the service database.
The repository is organized in subfolders, one per application. Each subfolder matches application name, without the nasqueron-
prefix, for example join.nasqueron.org uses join/
.
Authentication
Users are configured at Tomcat level. To add an user:
- Provide Vault credential
- Create Vault credential under ops/secrets/nasqueron/orbeon/users/
- Add that credential in pillar/credentials/vault.sls
- Deploy new Vault policy
sudo salt-call --local state.sls_id salt-node-dwellers roles/vault/policies
- Declare the user in Tomcat configuration
- Edit pillar/paas/docker/dwellers/orbeon.sls
- Deploy it with
salt dwellers state.sls_id /srv/orbeon/nasqueron_forms/conf/tomcat-users.xml roles/paas-docker/containers/orbeon
, wherenasqueron_forms
is the name of our forms.nasqueron.orf instance - Restart container:
docker restart nasqueron_forms
Known issues
Authentication
Authentication is known to be rather buggy:
- if you login at form runner level (e.g. /fr/admin), you can be unlogged at builder level
- if you login from login form, you'll get a 403
- if you login from builder, it can't tell you something is wrong
Configuration known issues:
- If you got a 408 you accessed yourself /fr/login, but web.xml needs to be configured with a <login-config> block using the FORM auth method (that's the default Orbeon web.xml)
- To enable login/logout menu, you need to add
<property as="xs:boolean" name="oxf.fr.authentication.user-menu.enable" value="true" />
to properties-local.xml
Features
- PDF doesn't have style when generated through nginx. As a work around, you can create SSH tunnel with
ssh -L 16080:dwellers:16080
and browse http://localhost:16080 if you need a PDF. - No flat view for multi-files attachment: https://github.com/orbeon/orbeon-forms/issues/1069