-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updating CONTRIBUTION from 7.x-2.x instead of Tuque's
- Loading branch information
1 parent
ece5788
commit 9c65788
Showing
1 changed file
with
15 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,50 +1,30 @@ | ||
# 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. | ||
If you are reading this document then you are interested in contributing to the Chullo project. 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! | ||
|
||
## Workflows | ||
|
||
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 [email protected]. | ||
|
||
### Documentation | ||
|
||
You can contribute documentation in two different ways. One way is to join the [Documentation Interest Group](https://github.com/islandora-interest-groups/Islandora-Documentation-Interest-Group). Another way is to [open an issue](https://jira.duraspace.org/secure/CreateIssue!default.jspa). You will need a JIRA account to do this. If you don't have one, you can sign up [here](https://jira.duraspace.org/secure/Signup!default.jspa). Set the Issue Type to "Documentation". | ||
|
||
### Request a new feature (use cases). | ||
|
||
To request a new feature you should [open an issue](https://jira.duraspace.org/secure/CreateIssue!default.jspa). You will need a JIRA account to do this. If you don't have one, you can sign up [here](https://jira.duraspace.org/secure/Signup!default.jspa). Set the Issue Type to "New Feature". | ||
For the time being, the community around this project is centred at the [Islandora Foundation, Fedora 4 Interest Group](https://github.com/Islandora/Islandora-Fedora4-Interest-Group). The group meets on the fourth Friday of each month at 1PM EST. The meetings usually happen via Skype, and meeting announcements/agendas are posted to the [Islandora community list](https://groups.google.com/forum/#!forum/islandora) and the [Islandora developers list](https://groups.google.com/forum/#!forum/islandora-dev). | ||
|
||
In order to help us understand the feature request, it would be great if you could provide us with a use case: | ||
### Use cases | ||
|
||
| Title (Goal) | The title or goal of your use case | | ||
--------------- |------------------------------------ | | ||
| Primary Actor | Repository architect, implementer, repository admin, user | | ||
| Scope | The scope of the project. Example: architecture, access | | ||
| Level | The priority the use case should be given; High, Medium, Low | | ||
| Story | This is a [user story](http://en.wikipedia.org/wiki/User_story). | ||
If you would like to submit a use case for the Chullo project, please submit and issue [here](https://github.com/Islandora-Labs/Chullo/issues) using the [Use Case template](https://github.com/Islandora/Islandora-Fedora4-Interest-Group/wiki/Use-Case-template), assign the "use case" label to the issue. | ||
|
||
### Documentation | ||
|
||
*** | ||
You can contribute documentation in two different ways. One way is to create an issue [here](https://github.com/Islandora-Labs/Chullo/issues) assign the "documentation" label to the issue. Another way is to by pull request, as same as code contribution. | ||
|
||
**Examples**: | ||
* Bullet | ||
* Listed | ||
* Examples should you want to provide them. | ||
### Request a new feature | ||
|
||
**Remarks**: | ||
* Bullet | ||
* Listed | ||
* Remarks should you want to provide them. | ||
To request a new feature you should [open an issue or use case](https://github.com/Islandora-Labs/Chullo/issues) (see _use case_ section above), and summarize the desired functionality. Select the label "enhancement" if creating an issue on the project repo, and "use case" if creating a use case. | ||
|
||
### Report a bug | ||
|
||
To report a bug you should [open an issue](https://jira.duraspace.org/secure/CreateIssue!default.jspa) that summarizes the bug. Set the Issue Type to "Bug". | ||
To report a bug you should [open an issue](https://github.com/Islandora-Labs/Chullo/issues) that summarizes the bug. Set the label to "bug". | ||
|
||
In order to help us understand and fix the bug it would be great if you could provide us with: | ||
|
||
1. The steps to reproduce the bug. This includes information about e.g. the Islandora version you were using along with version of stack components. | ||
1. The steps to reproduce the bug. This includes information about the version you were using along with the versions of all applicable stack components. | ||
2. The expected behavior. | ||
3. The actual, incorrect behavior. | ||
|
||
|
@@ -54,74 +34,35 @@ Feel free to search the issue queue for existing issues (aka tickets) that alrea | |
|
||
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. | ||
|
||
To join an Islandora Release Team, sign up for one or more modules in any of the following roles: | ||
|
||
* **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](http://islandora.ca/sites/default/files/islandora_cla.pdf) or be covered by a [Corporate Contributor Licencse Agreement](http://islandora.ca/sites/default/files/islandora_ccla.pdf). The signed copy of the license agreement should be sent to <mailto:[email protected]> | ||
|
||
_If you are interested in contributing code to Islandora but do not know where to begin:_ | ||
|
||
In this case you should [browse open issues](https://jira.duraspace.org/issues/?jql=project%20%3D%20ISLANDORA%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20priority%20DESC). | ||
|
||
If you are contributing Drupal code, it must adhere to [Drupal Coding Standards](https://www.drupal.org/coding-standards); Travis CI will check for this on pull requests. | ||
In this case you should [browse open issues and use cases](https://github.com/Islandora-Labs/Chullo/issues). | ||
|
||
Contributions to the Islandora 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. | ||
|
||
1. [Open an issue](https://github.com/Islandora-Labs/islandora/issues) and assign it the label of "New Feature" or "Improvement", 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. | ||
1. [Open an issue](https://github.com/Islandora-Labs/islandora/issues) and assign it the label of "enhancement", 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. | ||
2. 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. | ||
3. Islandora committers will work with you on the design to make sure you are on the right track. | ||
4. Implement your issue, create a pull request (see below), and iterate from there. | ||
|
||
Developer questions? We have a lot of excellent developer documentation that can be found [here](https://github.com/islandora/islandora/wiki#documentation-for-developers). | ||
|
||
#### 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](https://help.github.com/articles/creating-a-pull-request). In a nutshell you | ||
Take a look at [Creating a pull request](https://help.github.com/articles/creating-a-pull-request). In a nutshell you | ||
need to: | ||
|
||
1. [Fork](https://help.github.com/articles/fork-a-repo) a given Islandora Foundation component repository at [https://github.com/islandora](https://github.com/islandora) to your personal GitHub account. See [Fork a repo](https://help.github.com/articles/fork-a-repo) for detailed instructions. | ||
1. [Fork](https://help.github.com/articles/fork-a-repo) the Islandora GitHub repository at [https://github.com/islandora-labs/chullo](https://github.com/islandora-labs/chullo) to your personal GitHub account. See [Fork a repo](https://help.github.com/articles/fork-a-repo) for detailed instructions. | ||
2. Commit any changes to your fork. | ||
3. Send a [pull request](https://help.github.com/articles/creating-a-pull-request) to the Islandora GitHub repository that you forked in step 1. If your pull request is related to an existing JIRA issue -- for instance, because you reported a bug/issue earlier -- then prefix the title of your pull request with the corresponding issue number (e.g. `ISLANDORA-123: ...`). The branch name should also correspond to the JIRA issue number. | ||
3. Send a [pull request](https://help.github.com/articles/creating-a-pull-request) to the Islandora GitHub repository that you forked in step 1. If your pull request is related to an existing Islandora issue -- for instance, because you reported a bug/issue earlier -- then prefix the title of your pull request with the corresponding issue number (e.g. `ISLANDORA-123: ...`). | ||
|
||
You may want to read [Syncing a fork](https://help.github.com/articles/syncing-a-fork) for instructions on how to keep your fork up to date with the latest changes of the upstream (official) `islandora` repository. | ||
|
||
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 [email protected]: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](http://islandora.ca/sites/default/files/islandora_cla.pdf) or be covered by a [Corporate Contributor Licencse Agreement](http://islandora.ca/sites/default/files/islandora_ccla.pdf). The signed copy of the license agreement should be sent to <a href="mailto:[email protected]?Subject=Contributor%20License%20Agreement" target="_top">[email protected]</a>. 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. | ||
|