Difference between revisions of "ART developers manual"

(Creating a new art-decor.war package)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
{{SeeNewDocs}}
 
=Creating a new art-decor.war package=
 
=Creating a new art-decor.war package=
Steps to create the 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
 
* 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, rename orbeon.war to art-decor.war
<syntaxhighlight lang="Bash">
+
<syntaxhighlight lang="bash">
 
unzip orbeon-*.zip
 
unzip orbeon-*.zip
 
mkdir build
 
mkdir build
Line 16: Line 17:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
* Copy the configuration files from ART-DECOR repository into the folder. For version 4 Orbeon see:
 
* Copy the configuration files from ART-DECOR repository into the folder. For version 4 Orbeon see:
<syntaxhighlight lang="bash">
 
svn export https://sourceforge.net/p/artdecor/code-0/HEAD/tree/branches/stable/orbeon4/
 
</syntaxhighlight>
 
 
For development versions with Orbeon 2018:
 
For development versions with Orbeon 2018:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
svn export svn://svn.code.sf.net/p/artdecor/code-0/trunk/orbeon2018/
+
https://bitbucket.org/art-decor/art-decor-backend/src/exist-db-2/orbeon2018/
/bin/cp -Rf orbeon2018/WEB-INF/ .
+
Copy the WEB-INF from git over the local version.
rm -Rf ./orbeon2018
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
For development versions with Orbeon 2017:
 
For development versions with Orbeon 2017:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
svn export svn://svn.code.sf.net/p/artdecor/code-0/trunk/orbeon2017/
+
https://bitbucket.org/art-decor/art-decor-backend/src/exist-db-2/orbeon2017/
/bin/cp -Rf orbeon2017/WEB-INF/ .
 
rm -Rf ./orbeon2017
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
* Create the war file:  
 
* Create the war file:  
Line 39: Line 35:
  
 
=Creating new .xar packages=
 
=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 a subversion software repository:
+
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:
 
* 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
 
** even for stable releases
Line 50: Line 46:
 
These files can be copied from an existing directory and adapted to this package.
 
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 subversion there should be a git:ignore so that locally generated expath-pkg.xml and repo.xml are not included in subversion code.
+
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, see: https://sourceforge.net/p/artdecor/code-0/HEAD/tree/branches/stable/art/
+
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: http://exist-db.org/exist/apps/doc/repo.xml
+
For more information on building xars, see:  
 +
* http://exist-db.org/exist/apps/doc/repo.xml
 +
* http://expath.org/spec/pkg
  
 
=Creating a new version of an existing package=
 
=Creating a new version of an existing package=
* Commit your software code, include an (English) subversion comment that describes your changes.
+
* Commit your software code, include an (English) comment that describes your changes.
 
* build.xml: increment the build number:
 
* build.xml: increment the build number:
 
Example:
 
Example:
Line 63: Line 61:
 
     <property name="project.version" value="0.989.32"/>
 
     <property name="project.version" value="0.989.32"/>
 
</syntaxhighlight>
 
</syntaxhighlight>
* commit the build.xml to the subversion repository
+
* 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.
 
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=
 
=ART-DECOR repositories=
==Production repository==
+
==Production code repository==
The ART-DECOR repositories are updated daily to include the nightly .xar builds. Locations for the repositories are documented in the installation manual, see [[Download#Software|Download/software]].
+
* For the current '''production''' version (ART-DECOR version 2), see: https://bitbucket.org/art-decor/art-decor-backend/src/exist-db-2/
 +
ART-DECOR version 2 uses Orbeon XForms as front-end.
 +
 
 +
* Please note that this repository also has a '''development''' branch for ART-DECOR version 2: https://bitbucket.org/art-decor/art-decor-backend/src/master/
 +
 
 +
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 [https://art-decor.org/repo/list.php here].
  
==ART-DECOR Next generation repository==
+
==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]]
 
'''Currently under development''': a new front-end developed in vue. For more details on vue for developers, see [[ART_developers_vue]]
  
Please note that these repositories are not publicly viewable yet.
 
 
* Vue-client front-end: (should be used in combination with Back-end database)
 
* Vue-client front-end: (should be used in combination with Back-end database)
 
https://bitbucket.org/art-decor/art-decor/
 
https://bitbucket.org/art-decor/art-decor/
 
* Back-end database:
 
* Back-end database:
https://bitbucket.org/art-decor/art-decor-backend/
+
https://bitbucket.org/art-decor/art-decor-backend/src/exist-db-5/
* Dutch terminology demo in vue:
+
 
https://bitbucket.org/art-decor/vue-client/
+
==ART-DECOR Next generation package repository==
 +
From ART-DECOR version 3 and onwards:
 +
Under construction.
  
 
=ART-DECOR testscenarios=
 
=ART-DECOR testscenarios=
Line 96: Line 104:
 
=ART-DECOR building and testing=
 
=ART-DECOR building and testing=
 
Documentation for automated building and testing against ART-DECOR is located at:
 
Documentation for automated building and testing against ART-DECOR is located at:
* [[ART-DECOR building and testing]]
+
* [[ART-DECOR building and testing version 2]] (up until ART-DECOR version 2)
 +
* [[ART-DECOR building and testing]] (from ART-DECOR version 3)
  
 
=ART-DECOR testbench=
 
=ART-DECOR testbench=

Latest revision as of 19:51, 9 November 2022

This is documentation for ART-DECOR Release 2 and tends to be out-dated. Please visit our new documentation site at docs.art-decor.org

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: