If you are reading this document then you are interested in contributing to the Islandora Repository Reports module. 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!
Before creating a new issue, don't forget to search the issue queue for existing issues that already describe the problem; if you find one, please add your information as a comment.
If you would like to submit a use case, please submit an issue here using the Use Case template, prepending "Use Case:" to the title of the issue.
You can contribute documentation in two different ways. One way is to create an issue here.
To request a new feature you should open an issue or create a use case (see the Use cases section above), and summarize the desired functionality.
To report a bug you should open an issue that summarizes the problem. In order to help us understand and fix the bug it would be great if you could provide us with:
- The steps to reproduce the bug.
- The expected behavior.
- The actual, incorrect behavior.
Before you set out to contribute code you will need to have completed a Contributor License Agreement or be covered by a Corporate Contributor License Agreement. The signed copy of the license agreement should be sent to mailto:[email protected]
If you are contributing Drupal code, it must adhere to Drupal Coding Standards; Travis CI will check for this on pull requests.
Contributions to the Islandora Repository Reports codebase should be sent as GitHub pull requests. See section Create a pull request below for details. If there is any problem with the pull request we can work through it using the commenting features of GitHub.
-
For small patches, feel free to submit pull requests directly for those patches.
-
For larger code contributions, please use the following process. The idea behind this process is to prevent any wasted work and catch design issues early on.
- Open an issue, prepending "Enhancement:" in the title if a similar issue does not exist already. If a similar issue does exist, then you may consider participating in the work on the existing issue.
- Comment on the issue with your plan for implementing the issue. Explain what pieces of the codebase you are going to touch and how everything is going to fit together.
- Islandora committers will work with you on the design to make sure you are on the right track.
- Implement your issue, create a pull request (see below), and iterate from there.
Take a look at Creating a pull request. In a nutshell you need to:
- Fork this repository to your personal or institutional GitHub account (depending on the CLA you are working under). Be cautious of which branches you work from though (you'll want to base your work off master, or for Drupal modules use the most recent version branch). See Fork a repo for detailed instructions.
- Commit any changes to your fork.
- Send a pull request using the pull request template to the Islandora GitHub repository that you forked in step 1. If your pull request is related to an existing issue -- for instance, because you reported a bug/issue earlier -- prefix the title of your pull request with the corresponding issue number (e.g.
issue-123: ...
). Please also include a reference to the issue in the description of the pull. This can be done by using '#' plus the issue number like so '#123', also try to pick an appropriate name for the branch in which you're issuing the pull request from.
You may want to read Syncing a fork for instructions on how to keep your fork up to date with the latest changes of the upstream (official) repository.
The Islandora Foundation requires that contributors complete a Contributor License Agreement or be covered by a Corporate Contributor License Agreement. The signed copy of the license agreement should be sent to [email protected]. 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.