One of the main goals of the Open Planets Foundation is to SUPPORT the development of maintainable "turn-key" digital preservation software. To this extent we recommend that a simplistic well utilised strategy be employed when developing software, keeping use of many disparate services to a minimum where possible.
Sign-Up with OPF Labs & GitHub
|OPF Development Sign Up|
You'll need two accounts. In order to edit this Wiki you'll need an OPF Labs account. To join the OPF's GitHub community you'll also need a GitHub Account.
After you've done this, let admin ( a t ) openplanetsfoundation.org know your username(s), and he will add you to the appropriate groups so that you have the permissions you need.
OPF Labs Resources
The OPF development environment consists of:
- The OPF wikis
- Public code repositories on Github
- Continuous integration for start up projects using Travis
- Continuous integration for OPF supported projects on OPF Jenkins
- Issue tracking using GitHub Issues
- Help with software development best practise
- The Software Curation Process
The OPF Wikis
The OPF provide this Confluence Wiki as a resource for collaborative documentation, you need an account to add and edit content. You may need particular group permissions to see some of the Wikis restricted membership spaces for individual projects.
Source Code Management, Git & GitHub
The OPF recommends using Git, a distributed revision control system and GitHub, a web host for Git repositories to manage source code.
|The OPF's GitHub Guide|
Please read the OPF's GitHub Guide, even if you're unfamiliar with Git or GitHub. It covers joining the OPF's GitHub community, and best practices for setting up and managing repositories.
Continuous Integration, Travis & Jenkins
|ToDo CI documentation|
Document the OPF's combined use of Travis CI and the Jenkins server to provide continuous integration services.
Issue Tracking, GitHub Issues
|GitHub Issues are Public|
Please remember that your GitHub Issues can be read by anyone, whether they have a GitHub account or not, and that any logged in GitHub member can raise an issue.
The OPF recommends the use of GitHub Issues to:
- track issues raised by/for project members during development
- provide development road map for the project
- track bug reports and feature requests from external users
The OPF Software Development process
|ToDo Overview of dev process|
The OPF Build server and website have a series of software pages that are automatically populated from content in GitHub, so you are in control of your piece of software.
To find out more about getting your piece of software published via the Open Planets Foundation website, please read the Software Development Guidelines
Mailing Lists & Downloads
Mailing lists and downloads are hosted in a number of places.
- e.g. Planets developers should join https://lists.sourceforge.net/lists/listinfo/planets-suite-developers
Presentation on Developing with OPF
Slides from Webinar on Developing With OPF given 29th April 2013