Search code examples
formsconfigurationorbeon

In Orbeon Forms, when multiple persistence providers are configured for Oracle, versioning is not enabled


I am using Orbeon Forms 4.7 PE. I configured multiple Oracle persistence providers per the documentation:

http://wiki.orbeon.com/forms/doc/developer-guide/form-runner/oracle-and-mysql-persistence-layers#TOC-With-multiple-schemas

When I tested publishing the same form definition multiple times, versioning was not enabled. Form Builder did not ask if I wanted to create a new version.

I tried the single provider configuration documented here:

http://wiki.orbeon.com/forms/doc/developer-guide/form-runner/oracle-and-mysql-persistence-layers#TOC-With-Orbeon-Forms-4.0

With that configuration, it worked fine. Versioning was enabled.

It should work with the multiple providers I configured.


Solution

  • I searched the code base and found that there is a property enabling versioning for each of the predefined providers (except eXist because it doesn't support it). For example:

    <property as="xs:boolean" name="oxf.fr.persistence.oracle.versioning" value="true"/>
    

    See: https://github.com/orbeon/orbeon-forms/blob/master/src/resources-packaged/config/properties-form-runner.xml

    I was able to turn on versioning for my providers using a similar property, e.g.,

    <property as="xs:boolean" name="oxf.fr.persistence.myprovider1.versioning" value="true"/>
    <property as="xs:boolean" name="oxf.fr.persistence.myprovider2.versioning" value="true"/>
    

    There doesn't seem to be any documentation for this property. It would be nice if this were mentioned in the documenation regarding multiple providers.