|
| 1 | +# Guide for Contributors |
| 2 | + |
| 3 | +dCache View is built with openness in mind, and the dCache team encourage anyone |
| 4 | +in the community to contribute. Here are the ways you can contribute: |
| 5 | + |
| 6 | +1. [Request a feature](#Request-a-feature) |
| 7 | +2. [Filing Issues](#Filing-Issues) |
| 8 | +3. [Submitting Pull Requests](#Submitting-Pull-Requests) |
| 9 | + |
| 10 | +### Request a feature |
| 11 | + |
| 12 | +**If you are requesting for a new feature**, click [here](https://github.com/dCache/dcache-view/issues/new), |
| 13 | +fill the form and _make sure you add a "feature" label_. To add the label, |
| 14 | +click *Labels* on the right hand side of your screen and select _feature_. |
| 15 | +Please provide a very clear description of the feature in details. |
| 16 | + |
| 17 | +### Filing Issues |
| 18 | + |
| 19 | +**If you are filing an issue to report a bug**, please provide: |
| 20 | + |
| 21 | + 1. **A clear description of the bug and related expectations.** Consider using |
| 22 | + the following example template for reporting a bug: |
| 23 | + ```markdown |
| 24 | + The user icon or image was never shown. |
| 25 | + |
| 26 | + ## Expected outcome |
| 27 | + |
| 28 | + The user image should be shown inside the user profile page. |
| 29 | + |
| 30 | + ## Actual outcome |
| 31 | + |
| 32 | + The busy loading icon is shown where the user image should be. |
| 33 | + |
| 34 | + ## Steps to reproduce |
| 35 | + |
| 36 | + 1. Authenticate using username and password. |
| 37 | + 2. Go to the user profile page. |
| 38 | + ``` |
| 39 | + 2. **A list of browsers where the problem occurs.** This can be skipped if the |
| 40 | + problem is the same across all browsers. |
| 41 | + |
| 42 | +### Submitting Pull Requests |
| 43 | + |
| 44 | +**Before creating a pull request**, please make sure that an issue exists for the |
| 45 | +corresponding change in the pull request that you intend to make. _If an issue does |
| 46 | +not exist, please create one per the guidelines above_. The goal is to discuss the |
| 47 | +design and necessity of the proposed change with dCache team and community before |
| 48 | +diving into a pull request. |
| 49 | + |
| 50 | +When submitting pull requests, please make sure your commit message contains enough |
| 51 | +contextual information. Please provide the following: |
| 52 | + |
| 53 | + 1. **Short summary of the changes** - This should be fewer than 60 characters or |
| 54 | + less and it must be in a single line. Start the line with 'Fix', 'Add', 'Change' |
| 55 | + instead of 'Fixed', 'Added', 'Changed'. |
| 56 | + |
| 57 | + 2. **Motivation** - Explain the reason for this patch. What problem are you |
| 58 | + trying to solve or what feature are trying to add. Basically, this section |
| 59 | + should answer the question: what is the motivation behind this patch? |
| 60 | + |
| 61 | + 3. **Modification** - Describe the changes you've made, what you've added |
| 62 | + or modified. |
| 63 | + |
| 64 | + 4. **Result** - After the changes, what will change. Explain how the |
| 65 | + modifications you just described will solve the initial problem. |
| 66 | + |
| 67 | + 5. **Target** branch - This is the branch that is targeted with this pull |
| 68 | + request. This is most likely going to be the *master* branch. |
| 69 | + |
| 70 | + 6. **Request** branch - if other branches have the same issue you are fixing |
| 71 | + in the target branch, list them here and make a pull request to those branches |
| 72 | + too. |
| 73 | + |
| 74 | + 7. **Fixes** - A reference to the corresponding issue or issues that will |
| 75 | + be closed by the pull request. Please refer to these issues in the pull |
| 76 | + request description using the following syntax: |
| 77 | + |
| 78 | + Fixes: https://github.com/dCache/dcache-view/issues/135 |
| 79 | + |
| 80 | + 8. **Signed-off-by** - Each submitted patch must have a "Signed-off-by" line. |
| 81 | + Patches without this line will not be accepted. The sign-off is a simple line |
| 82 | + at the end of the explanation for the patch, which certifies that you wrote |
| 83 | + it or otherwise have the right to pass it on as an open-source patch. The rules |
| 84 | + are pretty simple: if you can certify the below: |
| 85 | + |
| 86 | +``` |
| 87 | +
|
| 88 | + Developer's Certificate of Origin 1.1 |
| 89 | +
|
| 90 | + By making a contribution to this project, I certify that: |
| 91 | +
|
| 92 | + (a) The contribution was created in whole or in part by me and I |
| 93 | + have the right to submit it under the open source license |
| 94 | + indicated in the file; or |
| 95 | +
|
| 96 | + (b) The contribution is based upon previous work that, to the best |
| 97 | + of my knowledge, is covered under an appropriate open source |
| 98 | + license and I have the right under that license to submit that |
| 99 | + work with modifications, whether created in whole or in part |
| 100 | + by me, under the same open source license (unless I am |
| 101 | + permitted to submit under a different license), as indicated |
| 102 | + in the file; or |
| 103 | +
|
| 104 | + (c) The contribution was provided directly to me by some other |
| 105 | + person who certified (a), (b) or (c) and I have not modified |
| 106 | + it. |
| 107 | +
|
| 108 | + (d) I understand and agree that this project and the contribution |
| 109 | + are public and that a record of the contribution (including all |
| 110 | + personal information I submit with it, including my sign-off) is |
| 111 | + maintained indefinitely and may be redistributed consistent with |
| 112 | + this project or the open source license(s) involved. |
| 113 | +
|
| 114 | +``` |
| 115 | +then you just add a line saying ( git commit -s ) |
| 116 | + |
| 117 | + Signed-off-by: Random J Developer <[email protected]> |
| 118 | + |
| 119 | +using your real name (sorry, no pseudonyms or anonymous contributions.) |
| 120 | + |
| 121 | +Here is a sample of a commit message |
| 122 | + |
| 123 | + ```markdown |
| 124 | +dcache-view (user-profile): make gravatar optional |
| 125 | + |
| 126 | +Motivation: |
| 127 | + |
| 128 | +If a user account have an email associated with it, a request |
| 129 | +is sent to check if the email is registered with the Gravatar, |
| 130 | +and if it is, the image from gravatar is used by dcache-view |
| 131 | +as the user profile. |
| 132 | + |
| 133 | +Since this is the current default behaviour of dcache-view, |
| 134 | +some sites are not happy with this and the preferred behaviour |
| 135 | +will to make gravatar optional for users. |
| 136 | + |
| 137 | +Modification: |
| 138 | + |
| 139 | +1. properly remove all node inside the user profile section. |
| 140 | +2. add a checkbox in the login form. This enable users to |
| 141 | + choose whether to use a gravatar or not. By default, |
| 142 | + the checkbox is unchecked. This means that users will |
| 143 | + have to specifically check the checkbox to indicate that |
| 144 | + dcache-view can make a request to the Gravatar |
| 145 | +3. adjust the user-image element |
| 146 | +4. update user-profile and user-profile-dropdown element to |
| 147 | + use the adjusted user-image element. |
| 148 | +5. add a section in the user-profile for user to see and sel- |
| 149 | + ect the preferred user profile image. There are only two |
| 150 | + options (identicon and gravatar) available at this time. |
| 151 | + |
| 152 | +Result: |
| 153 | + |
| 154 | +User can now opt-in or out of gravatar. |
| 155 | + |
| 156 | +Target: master |
| 157 | +Request: 1.5 |
| 158 | +Request: 1.4 |
| 159 | +Fixes: https://github.com/dCache/dcache-view/issues/135 |
| 160 | +Signed-off-by: Random J Developer < [email protected]> |
| 161 | + ``` |
| 162 | + |
| 163 | +### References |
| 164 | + |
| 165 | + - https://stevegury.github.io/2014-05-09/writing-good-commit-message.html |
0 commit comments