This repository contains the official documentation for the eXist-db native XML database and the application for browsing it. You can browse the latest release of the documentation on eXist-db homepage. User reporting errors should check the contributions section below. Core-contributors preparing a release should consult the release procedure
.xar
files) of previous releases from GitHub.Found an area of the documentation that needs to be improved? Please raise an issue or better yet submit a pull request!
Before you edit the docs please take a look at our style guide. It should help you understand our articles structure and use of the docbook format. You can speed up the review process by running mvn validate
on your local machine before opening a pull request. This way you can be certain that your edits won't interfere with the automated tests of this repo.
Should you encounter documentation for features that are deprecated in the minimum eXist-db version mentioned above, you can simply delete them. If you are unsure about this, please open an issue.
Clone the repository to your system:
$ git clone https://github.com/exist-db/documentation.git
Build the documentation application:
$ cd documentation
$ mvn clean package -DskipTests
The compiled .xar
file is located in the /target
directory
Install this file via the Dashboard > Package Manager.
The full test-suite consists of validation, unit, and integration tests, it runs automatically on travis. To be able to run integration tests locally, contributors should run npm i
to download and install cypress.js. This is only required once. To execute the tests run the following commands:
mvn validate
,
docbook.rng
and our own exist-docs.rng
(experimental) schema.src/main/relaxng
mvn test
. We do not support testing via node alone, aka npm test
, use the maven command instead.npm run cypress
.Both unit and integration tests, expect a running instance of exist with a copy of the documentation app installed reachable at localhost:8080
and an empty admin password. To simply build a new package, without a running instance, use the command provided in the Build section. Omitting -DskipTests
will run validation and unit tests as part of the build.
You can view recordings of the previous integration test runs on our Cypress Dashboard
LGPLv2.1 eXist-db.org