Contribute to the DSpace Development Fund
The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.
Code Contribution Guidelines
- Code Contribution Guidelines - Provides details on our Code Approval processes and our DSpace code conventions! Before you get started on your project, make sure you understand our Code Contribution Guidelines!
Developing With Git/GitHub
The DSpace codebase is in GitHub:
- Backend/Java codebase: https://github.com/DSpace/DSpace
- DSpace 7 UI codebase: https://github.com/DSpace/dspace-angular
If you are new to Git or GitHub development, the following resources that may be of interest to you.
- DSpace Development with Git - Some hints/tips on DSpace Development with Git/GitHub
- Git Resources - Useful third-party resources/tutorials on Git or GitHub
Still want to use SVN locally, even though DSpace is on GitHub?
- GitHub does provide some basic SVN client support (e.g. checkout via SVN): https://github.com/blog/966-improved-subversion-client-support
- Or, you could obviously download the zipped up DSpace release packages and import them into your local SVN
Developing Environments (IDEs)
You are free to use whatever developer environment works for you. Here are some guides for setting up and using particular environments.
- IntelliJ IDEA
- IDE Integration - DSpace and IDEA (covers IDEA + maven + ant + tomcat).
- NetBeans
- Eclipse (Instructions are outdated: Most of our active developers/committers tend to use either IDEA or NetBeans.)
- Vagrant-DSpace - A great way to get started quickly with DSpace development! This spins up a local Virtual Machine (using Vagrant) and automatically installs DSpace & configures Git for you. It even (optionally) integrates with your favorite IDE, or you can develop using commanline tools.
- Any source editor
Also, if you are interested in using Git/Github for local DSpace development see this for hints/tips:
Useful tools
- Luke - for work with Lucene indexes & queries, see Debug lucene query
- Eclipse ResourceBundleEditor - for work with i18n Internationalization in JSPUI, see I18nSupport#Eclipse_Resource_Bundle_Editor