This guide is intended primarily for developers who want to work on the main Dataverse Software code base at https://github.com/IQSS/dataverse but see “Related Projects” below for other code you can work on!
To get started, you’ll want to set up your Development Environment and make sure you understand the branching strategy described in the Version Control section and how to make a pull request. Testing is expected. Opinions about Coding Style are welcome!
If you have any questions at all, please reach out to other developers via the channels listed in https://github.com/IQSS/dataverse/blob/develop/CONTRIBUTING.md such as http://chat.dataverse.org (#dataverse on freenode), the dataverse-dev mailing list, community calls, or firstname.lastname@example.org.
The Dataverse Software is a Jakarta EE application that is compiled into a WAR file and deployed to an application server (app server) which is configured to work with a relational database (PostgreSQL) and a search engine (Solr).
We make use of a variety of Jakarta EE technologies such as JPA, JAX-RS, JMS, and JSF. The front end is built using PrimeFaces and Bootstrap.
In addition, we start to adopt parts of Eclipse MicroProfile, namely MicroProfile Config.
For the Dataverse Software development roadmap, please see https://www.iq.harvard.edu/roadmap-dataverse-project
You can get a sense of what’s currently in flight (in dev, in QA, etc.) by looking at https://github.com/orgs/IQSS/projects/2