BioCollect
August 11, 2026 ยท View on GitHub
Build status
Master branch
Develop branch
About
This repo is a fork of the fieldcapture-hubs repo where the plugin has been promoted to become the host app. From the moment of creation of this repo BioCollect and Merit will go separate ways.
The resulting project has been significantly refactored. All the MERIT inherited server side code base is now under the package name au.org.ala.biocollect.merit. It would be convenient to organically remove all the code that we won't be using in biocollect.
New server side classes that are custom to BioCollect should be under the package name au.org.ala.biocollect
General Information
Technologies
- Grails framework: 7.2.1
- Java 17
- Groovy 4
- Gradle 8.14.4 (via the Gradle wrapper,
./gradlew) - Knockout JS
- jQuery
- Bootstrap 5
Prerequisites
-
This project requires you to run the ecodata project on port
8080. -
An external configuration file is required at
/data/biocollect/config/biocollect-config.properties(or as configured inapplication.yml). External configuration is built into Grails 7; no plugin is needed.
Running BioCollect
Everything runs through the Gradle wrapper (the legacy Grails wrapper has been removed). With the plugin repositories cloned as siblings, run:
./gradlew :bootRun -Dgrails.run.active=true
Note the leading colon before the bootRun task - this is required because with inplace=true (the default) Gradle is configured as a multi-project build. This mode supports hot-reloading of changes to the ecodata-client-plugin and ala-map-plugin.
To build against the published plugin artifacts instead of the sibling repositories, opt out of the in-place build:
./gradlew bootRun -Pinplace=false
BioCollect runs on port 8087 in development mode by default.
Running Javascript automatic tests
- Executing the tests requires node.js
- It is recommended to install the Intellij node.js and karma plugins.
- To install the test dependencies, run the following command in the repo root folder:
npm install
- After that you can run the test directly from Intellij by right-clicking on the
karma.conf.jsfile, or from the command line:
node_modules/karma/bin/karma start karma.conf.js --single-run --browsers ChromeHeadless