Difference between revisions of "ART developers manual"

(→‎Creating a new art-decor.war package)
 
(18 intermediate revisions by 2 users 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
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:
 +
For development versions with Orbeon 2018:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
−
svn export https://sourceforge.net/p/artdecor/code-0/HEAD/tree/branches/stable/orbeon4/
+
https://bitbucket.org/art-decor/art-decor-backend/src/exist-db-2/orbeon2018/
 +
Copy the WEB-INF from git over the local version.
 
</syntaxhighlight>
 
</syntaxhighlight>
−
For development versions:
+
 
 +
For development versions with Orbeon 2017:
 
<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/orbeon2017/
−
/bin/cp -Rf orbeon2017/WEB-INF/ .
 
−
rm -Rf ./orbeon2017
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
* Create the war file:  
 
* Create the war file:  
Line 33: 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 44: 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=
−
* Commmit 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 57: 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=
−
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]].
+
==Production code repository==
 +
* 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 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=
 
=ART-DECOR testscenarios=
 
The following testscenarios can be used to test ART-DECOR software:
 
The following testscenarios can be used to test ART-DECOR software:
−
* [[testscenario demo5]]
+
* [[testscenario test]]: Test ART-DECOR information standards
 +
* [[testscenario test author]]: Test ART-DECOR information standards from an author perspective
 +
* [[testscenario xistest]]: Test ART-DECOR xis
 +
* [[testscenario terminology]]: Test ART-DECOR terminology
 +
* [[testscenario ada]]: Test ART-DECOR ada
 +
Specifically for testing the database:
 +
* [[testscenario URIs]]: Test ART-DECOR URIs
 +
* [[testscenario Terminology URIs]]: Test ART-DECOR Terminology URIs
 +
Not yet testable:
 +
[[FHIR_URIs]]
 +
 
 +
=ART-DECOR building and testing=
 +
Documentation for automated building and testing against ART-DECOR is located at:
 +
* [[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=
 +
Documentation for running tests against ART-DECOR is located at:
 +
* [[eXist-db testing]]
 +
 
 +
=ART-DECOR coding styleguide=
 +
The following styleguides are available:
 +
* [[eXist-db coding styleguide]]

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: