Contributing
Stub
This page is a skeleton. Content will be filled in during documentation sprints.
Development Setup
Development is done on a dedicated Digital Ocean droplet (not locally — local Docker setup on Mac has known issues with permissions).
Git Workflow
- Create a branch off
prod-setup - Make changes, test on the dev droplet
- Commit and push
- Merge to
prod-setupwhen stable prod-setupmerges tomainafter thorough testing
Rebuilding After Code Changes
Adding a New Data Source
To add a new source (e.g., GBIF, Dryad):
- Create a new mapper file in
src/ckanext-doi-import/ckanext/doi_import/mappers/(e.g.,gbif.py) - Implement a
fetch_metadata(doi)function that returns a dict matching the CKAN schema - Add detection logic in
mappers/base.py→detect_source() - The mapper is plain Python — testable without running CKAN