ART developers manual

Creating a new art-decor.war package

Steps to create the art-decor.war package for Orbeon XForms ART-DECOR 2.x:

  • Download the Community version of Orbeon in zip format from: https://www.orbeon.com/download. For development versions we are running on version Orbeon 2018.1
  • unzip, rename orbeon.war to art-decor.war
unzip orbeon-*.zip
mkdir build
mv ./orbeon*/orbeon.war ./build/art-decor.war
cd build
  • Unzip and move the original art-decor.war
jar xvf art-decor.war
mkdir ../archive
mv art-decor.war ../archive
  • Copy the configuration files from ART-DECOR repository into the folder. For version 4 Orbeon see:

For development versions with Orbeon 2018:

https://bitbucket.org/art-decor/art-decor-backend/src/exist-db-2/orbeon2018/
Copy the WEB-INF from git over the local version.

For development versions with Orbeon 2017:

https://bitbucket.org/art-decor/art-decor-backend/src/exist-db-2/orbeon2017/
  • Create the war file:
jar -cvf art-decor.war ./*
  • Store the .war file online and link to it from our installation manuals: ART_installation_manual
  • Note when installing newer Orbeon versions: If you are running an Orbeon later than 3.9, also update-xforms by running: art/modules/update-xforms.xquery

Creating new .xar packages

ART-DECOR software is deployed through eXist-db .xar packages with the eXist-db package manager. In order to create these packages, the following files should be present in the software repository:

  • build.xml: contains meta information on the package, and the version number (in major.minor.build form). For packages containing software the minor number is:
    • even for stable releases
    • uneven for development (trunk) releases
  • expath-pkg.xml.tmpl: a generic template that should normally not be edited
  • icon.png: the icon to display in the package manager when installing packages
  • pre-install.xql: pre-installation procedure. This is usually package-specific.
  • post-install.xql: post-installation procedure. This is usually package-specific and can contain permission settings for collections and files.
  • repo.xml.tmpl: information to display in the package manager for this package. This is a generic template that should normally not be edited.

These files can be copied from an existing directory and adapted to this package.

When building .xar packages, a expath-pkg.xml and repo.xml is generated from the .tmpl and build.xml. In the code repository there should be a git:ignore so that locally generated expath-pkg.xml and repo.xml are not included in the code repository.

For examples of build.xml, pre-install.xql etc, see: https://bitbucket.org/art-decor/art-decor-backend/src/master/art/

For more information on building xars, see:

Creating a new version of an existing package

  • Commit your software code, include an (English) comment that describes your changes.
  • build.xml: increment the build number:

Example:

    <property name="project.version" value="0.989.32"/>
  • commit the build.xml to the code repository

If the project.version is incremented, this can act as a trigger in the package manager to install this new version of the package.

ART-DECOR repositories

Production code repository

ART-DECOR version 2 uses Orbeon XForms as front-end.

Development ART-DECOR version 2 also uses Orbeon XForms as front-end.

Production package repository

All ART-DECOR modules are exposed though an eXist-db repository for easy installation. Check modules here.

ART-DECOR Next generation code repository

From ART-DECOR version 3 and onwards: Currently under development: a new front-end developed in vue. For more details on vue for developers, see ART_developers_vue

  • Vue-client front-end: (should be used in combination with Back-end database)

https://bitbucket.org/art-decor/art-decor/

  • Back-end database:

https://bitbucket.org/art-decor/art-decor-backend/src/exist-db-5/

ART-DECOR Next generation package repository

From ART-DECOR version 3 and onwards: Under construction.

ART-DECOR testscenarios

The following testscenarios can be used to test ART-DECOR software:

Specifically for testing the database:

Not yet testable: FHIR_URIs

ART-DECOR building and testing

Documentation for automated building and testing against ART-DECOR is located at:

ART-DECOR testbench

Documentation for running tests against ART-DECOR is located at:

ART-DECOR coding styleguide

The following styleguides are available: