Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Welcome!

If you are reading this document then you are interested in contributing to Islandora, and that's awesome! All contributions are welcome: use-cases, documentation, code, patches, bug reports, feature requests, etc. You do not need to be a programmer to speak up!

We also have an irc channel -- #islandora -- on freenode.net. Feel free to hang out there, ask questions, and help others out if you can.

Worfklows

Islandora Committers Calls happen every Thursday at 2PM EST. The meetings are generally held on Skype, and you can join the calls by sending a request to community@islandora.ca.

Improve Islandora Documentation

You can contribute documentation in two different ways. One way is to join the Documentation Interest Group. Another way is to open an issue. You will need a JIRA account to do this. If you don't have one, you can sign up here. Set the Issue Type to "Documentation".

Request a new feature (use cases)

To request a new feature you should open an issue. You will need a JIRA account to do this. If you don't have one, you can sign up here. Set the Issue Type to "New Feature".

...

  • Bullet
  • Listed
  • Remarks should you want to provide them.

Report a bug

To report a bug you should open an issue that summarizes the bug. Set the Issue Type to "Bug".

...

That is great! In this case please send us a pull request as described in section Create a pull request below.

Participate in a release

Islandora releases occur twice yearly, at the end of April and October. Two to three months before a release, a Call for Volunteers will be issued across Islandora communication channels (website, Twitter, listservs). The Release team consists of both developers and end-users who fix bugs, test fixes, verify improvements and new features; update documentation; and review README and LICENSE files. A Release VM is issued with each release so that testers can have a stable, easy-to-deploy environment in which to work.

...

  • Component Manager (Very familiar with module code; reviews and merges commits)
  • Tester (Tests JIRA tickets marked "Ready for test" and does a general workover of the module)
  • Documentor (Reviews and updates existing documentation or writes new documentation for new modules)
  • Auditor (Reviews and updates README and LICENSE files to ensure complaince with templates and standards)

Contribute code

Before you set out to contribute code you will need to have completed a Contributor License Agreement or be covered by a Corporate Contributor Licencse Agreement. The signed copy of the license agreement should be sent tocommunity@islandora.ca

...

Developer questions? We have a lot of excellent developer documentation that can be found here.

Issue / Topic Branches

All JIRA issues should be worked on in separate git branches. The branch name should be the same as the JIRA issue number, including all-caps, so ISLANDORA-153, ISLANDORA-118, etc.

Example: git checkout -b 7.x-ISLANDORA-977 or git checkout -b 7.x-1.4-ISLANDORA-977

Create a pull request

Take a look at Creating a pull request. In a nutshell you need to:

...

Community members who have push/merge permissions on a repository should never push directly to a repo, nor merge their own pull requests.

Release branch pull requests

The pull request process will roughly look like this:

  1. fork from Islandora repo if that has not already been done
  2. git remote add islandora git@github.com:Islandora/islandora_checksum.git
  3. git pull islandora 7.x
  4. Make changes, commit
  5. git push origin 7.x and issue a pull request on 7.x
  6. git fetch --all
  7. git checkout 7.x-1.4 if that does not work, git checkout islandora/7.x-1.4 then git checkout -b 7.x-1.4
  8. Make changes/cherry pick/copy changes from earlier, commit
  9. git push origin 7.x-1.4 and issue a pull request on 7.x-1.4

License agreements

The Islandora Foundation requires that contributors complete a Contributor License Agreement or be covered by aCorporate Contributor Licencse Agreement. The signed copy of the license agreement should be sent tocommunity@islandora.ca. This license is for your protection as a contributor as well as the protection of the Foundation and its users; it does not change your rights to use your own contributions for any other purpose.