Developing with the OPF

Skip to end of metadata
Go to start of metadata

Overview

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

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.
  • Travis is a free CI service for GitHub hosted projects and uses VMs to build open source projects. It might not be suitable for large projects due to resource descriptions but will be suitable for most start up projects.
  • The OPF also provides a Jenkins server that can be used for more established projects. A project must build on Travis and a move to the Jenkins software is part of the best practise and curation process.

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
To Cover:
  • automated project pages generated from GitHub, Travis
  • managing versions and tags
  • packaging and distribution

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

Resources

Mailing Lists & Downloads

Mailing lists and downloads are hosted in a number of places.

Presentation on Developing with OPF

Slides from Webinar on Developing With OPF given 29th April 2013

Labels:
development development Delete
software software Delete
git git Delete
github github Delete
start start Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.