You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by mm...@apache.org on 2019/11/14 23:46:20 UTC

[accumulo-website] branch master updated: Update contribute pages (#209)

This is an automated email from the ASF dual-hosted git repository.

mmiller pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/master by this push:
     new ade3b60  Update contribute pages (#209)
ade3b60 is described below

commit ade3b606ef63439783a98d777d4eed0361186745
Author: Mike Miller <mm...@apache.org>
AuthorDate: Thu Nov 14 18:46:12 2019 -0500

    Update contribute pages (#209)
    
    * Move information not for first time committers to the in depth guide
    * Update links on how to contribute to point to new first issue label
    * Add link to draft pull requests
---
 contributor/contributors-guide.md |  37 ++++++++--
 pages/how-to-contribute.md        | 138 +++++++-------------------------------
 2 files changed, 56 insertions(+), 119 deletions(-)

diff --git a/contributor/contributors-guide.md b/contributor/contributors-guide.md
index 99e05b6..cddd2ca 100644
--- a/contributor/contributors-guide.md
+++ b/contributor/contributors-guide.md
@@ -6,6 +6,30 @@ permalink: /contributors-guide/
 **Please read the [How to Contribute] page first before reading this guide.** This page contains additional project
 documentation.
 
+Accumulo previously used [JIRA], but now uses GitHub issues.
+All new issues should be opened using GitHub. If working an existing JIRA
+issue, please do the following :
+
+ * Open a new GitHub issue or pull request.
+ * Link the GitHub issue to the JIRA issue.
+ * Link the JIRA issue to the GitHub issue.
+ * Close the JIRA issue as a duplicate.
+
+Eventually, JIRA will be transitioned to a read-only state for reference.  For
+finding issues to work, there may still be 
+[open issues labeled for newbies][newbie-issues] in JIRA.
+
+## GitHub Project Boards (Projects)
+
+Project boards (also "projects") are used to track the status of issues and
+pull requests for a specific milestone. Projects with names such as `2.1.0`,
+and `1.9.2` are used for tracking issues associated with a particular release
+and release planning. These are set up as basic Kanban boards with automation,
+with `To do`, `In progress`, and `Done` statuses. These projects are marked as
+"closed" when the version indicated is released. Other projects may exist for
+miscellaneous puposes, such as tracking multiple issues related to a larger
+effort. These projects will be named appropriately to indicate their purpose.
+
 ## For Contributors
 
 The docs below provide additional information for contributors.
@@ -22,6 +46,11 @@ The docs below are for committers but may be of interest to contributors as well
 - [Verifying a Release][verifying]
 - [Testing a Release][testing]
 
+## Code Editors
+
+Feel free to use any editor when contributing Accumulo. If you are looking for a recommendation, many Accumulo
+developers use [IntelliJ] or [Eclipse]. Below are some basic instructions to help you get started.
+
 ## Project Governance
 
 For details about governance policies for the Accumulo project view the following links.
@@ -32,12 +61,8 @@ For details about governance policies for the Accumulo project view the followin
 - [Voting][voting]
 
 [How to Contribute]: /how-to-contribute/
-[manual]: {{ site.docs_baseurl }}
-[get-involved]: {{ site.baseurl }}/get_involved
-[mirror]: https://github.com/apache/accumulo
-[repo]: https://gitbox.apache.org/repos/asf?p=accumulo.git;a=summary
-[website-repo]: https://github.com/apache/accumulo-website
-[website-readme]: https://github.com/apache/accumulo-website/blob/master/README.md
+[newbie-issues]: https://s.apache.org/newbie_accumulo_tickets
+[JIRA]: https://issues.apache.org/jira/browse/ACCUMULO
 [building]: {{ site.baseurl }}/contributor/building
 [advanced]: {{ site.baseurl }}/contributor/advanced-contributor
 [release]: {{ site.baseurl }}/contributor/release-management
diff --git a/pages/how-to-contribute.md b/pages/how-to-contribute.md
index 65bb319..85e1916 100644
--- a/pages/how-to-contribute.md
+++ b/pages/how-to-contribute.md
@@ -7,82 +7,33 @@ redirect_from: /contributor/
 Contributions are welcome to all Apache Accumulo repositories. While most contributions are code,
 there are other ways to contribute to Accumulo:
 
-* answer questions on [mailing lists](/contact-us/#mailing-lists)
+* communicate on one of the [mailing lists](/contact-us/#mailing-lists)
 * review [pull requests](https://github.com/apache/accumulo/pulls)
 * verify and test new [releases](/release/)
 * update the [Accumulo website and documentation](https://github.com/apache/accumulo-website)
+* report bugs or triage issues
 
-Contributions are reviewed (via GitHub pull requests) by
-the community before being merged by a committer.
+First time developers should start with an issue labeled [good first issue][good-first-issue].
 
-This document provides basic instructions for contributing to Accumulo.  If you are looking for more information, check out the more comprehensive [contributor guide](/contributors-guide/).
+Any questions/ideas don't hesitate to [contact us][contact].
 
-## Issues
+## Accumulo Repositories
 
-Accumulo uses GitHub issues to track bugs and features.  Each git repository
-has its own issues.  In GitHub pull request are issues, therefore creating an
-issue before a pull request is optional. If unsure whether to start with an
-issue or pull request, then create an issue. If you need help finding an issue
-to work on, check out the [open issues labeled 'helpwanted'][helpwanted] or
-[contact us][contact].
+| Repository         | Links                          | Description
+| -------------------| ------------------------------ | -----------
+| [Accumulo][a]      | [Contribute][ac] [Issues][ai]  | Core Project
+| [Website][w]       | [Contribute][wc] [Issues][wi]  | Source for this website
+| [Examples][e]      | [Contribute][ec] [Issues][ei]  | Example code
+| [Testing][t]       | [Contribute][tc] [Issues][ti]  | Test suites such as continuous ingest and random walk
+| [Docker][d]        | [Contribute][dc] [Issues][di]  | Source for Accumulo Docker image
+| [Wikisearch][s]    | [Contribute][sc] [Issues][si]  | Example application that indexes and queries Wikipedia data
+| [Proxy][p]         | [Issues][pi]                   | Apache Thrift service that exposes Accumulo to other languages
+| [Maven plugin][m]  | [Issues][mi]                   | Maven plugin that runs Accumulo
 
-Accumulo previously used [JIRA], but is now transitioning to GitHub issues.
-All new issues should be opened using GitHub. When working an existing JIRA
-issue, please do the following :
-
- * Open a new GitHub issue or pull request.
- * Link the GitHub issue to the JIRA issue.
- * Link the JIRA issue to the GitHub issue.
- * Close the JIRA issue as a duplicate.
-
-Eventually JIRA will be transitioned to a read-only state for reference.  For
-finding issues to work, there may still be 
-[open issues labeled for newbies][newbie-issues] in JIRA.
-
-## Labels
-
-Labels, such as `bug`, `enhancement`, and `duplicate`, are used to
-descriptively organize issues and pull requests. Issues labeled with `blocker`
-indicate that the developers have determined that the issue must be fixed prior
-to a release (to be used in conjunction with a version-specific project board;
-see the next section for information on project boards).
-
-Currently only Accumulo committers can set labels.  If you think a label should
-be set, comment on the issue and someone will help.
-
-## Project Boards (Projects)
-
-Project boards (also "projects") are used to track the status of issues and
-pull requests for a specific milestone. Projects with names such as `2.1.0`,
-and `1.9.2` are used for tracking issues associated with a particular release
-and release planning. These are set up as basic Kanban boards with automation,
-with `To do`, `In progress`, and `Done` statuses. These projects are marked as
-"closed" when the version indicated is released. Other projects may exist for
-miscellaneous puposes, such as tracking multiple issues related to a larger
-effort. These projects will be named appropriate to indicate their purpose.
-
-Committers manage the project boards. If you need help with a project board or
-have questions, contact the developers using the link at the top of this page.
-
-## Repositories
-
-Contributions can be made to the following repositories. While the general contribution workflow is
-described below, repositories have special instructions in their `CONTRIBUTING.md` file which can be
-viewed by clicking on `contribute` in the Links column below.
-
-| Repository                      | Links                         | Description
-| ------------------------------- | ----------------------------- | -----------
-| [Accumulo][a]                   | [Contribute][ac] [Issues][ai]  | Core Project
-| [Accumulo Website][w]           | [Contribute][wc] [Issues][wi]  | Source for this website
-| [Accumulo Examples][e]          | [Contribute][ec] [Issues][ei]  | Accumulo example code
-| [Accumulo Testing][t]           | [Contribute][tc] [Issues][ti]  | Accumulo test suites such as continuous ingest and random walk
-| [Accumulo Docker][d]            | [Contribute][dc] [Issues][di]  | Source for Accumulo Docker image
-| [Accumulo Wikisearch][s]        | [Contribute][sc] [Issues][si]  | Accumulo example application that indexes and queries Wikipedia data
-
-## Contribution workflow
+## Example Contribution workflow
 
 1. Create a [GitHub account][github-join] for issues and pull requests.
-1. Find an [issue][helpwanted] to work on or optionally create one that describes the work that you want to do.
+1. Find an [issue][good-first-issue] to work on or optionally create one that describes the work that you want to do.
 1. [Fork] and [clone] the GitHub repository that you want to contribute to.
 1. Create a branch in the local clone of your fork.
 ```
@@ -95,7 +46,7 @@ viewed by clicking on `contribute` in the Links column below.
 ```
     git push origin accumulo-4321
 ```
-1. Create a [Pull Request] on GitHub to the appropriate repository. If the work is not complete and the Pull Request is for feedback, please put `[WIP]` in the subject.
+1. Create a [Pull Request] on GitHub to the appropriate repository. A [draft pull request] can be used if the work is not complete.
 1. At least one committer (and others in the community) will review your pull request and add any comments to your code.
 1. Push any changes from the review to the branch as new commits so the reviewer only needs to review new changes. Please avoid squashing commits after the review starts. Squashing makes it hard for the reviewer to follow the changes.
 1. Repeat this process until a reviewer approves the pull request.
@@ -103,52 +54,18 @@ viewed by clicking on `contribute` in the Links column below.
 
 ## Coding Guidelines
 
-* If a change needs to go into multiple branches of Accumulo, it should be merged into earlier branches then later branches.
 * Accumulo follows [semver] for its [public API](/api/).
 * Every file requires the ASF license header as described in [ASF Source Header][srcheaders].
-* Remove all trailing whitespaces. Eclipse users can use Source&rarr;Cleanup option to accomplish this.
-* Use 2 space indents and never use tabs!
-* Use 100-column line width for Java code and Javadoc.
-* Use a new line with single statement if/else blocks.
 * Do not use Author Tags. The code is developed and owned by the community.
 
-## Code Editors
-
-Feel free to use any editor when contributing Accumulo. If you are looking for a recommendation, many Accumulo
-developers use [IntelliJ][intellij] or [Eclipse][eclipse]. Below are some basic instructions to help you get started.
-
-### IntelliJ
-
-1. Download and install [IntelliJ][intellij]
-1. Clone the Accumulo repository that you want to work on.
-   ```shell
-   git clone https://github.com/apache/accumulo.git
-   ```
-1. [Import][intellij-import] the repository as a Maven project into IntelliJ
-1. (Optional) Download and import `Eclipse-Accumulo-Codestyle.xml` from Accumulo's [contrib][accumulo-contrib] directory
-  * Import via `File` > `Settings` > `Code Style` and clicking on cog wheel
-
-### Eclipse
-
-1. Download and install [Eclipse][eclipse].
-1. Clone the Accumulo repository that you want to work on.
-   ```shell
-   git clone https://github.com/apache/accumulo.git
-   ```
-1. [Import][eclipse-import] the repository as a Maven project into Eclipse
-1. (Optional) Download and import Eclipse formatting and style guides from Accumulo's [contrib][accumulo-contrib] directory
-  * Import Formatter: `Preferences` > `Java` > `Code Style` > `Formatter` and import the `Eclipse-Accumulo-Codestyle.xml` downloaded in the previous step.
-  * Import Template: `Preferences` > `Java` > `Code Style` > `Code Templates` and import the `Eclipse-Accumulo-Template.xml`. Make sure to check the "Automatically add comments" box. This template adds the ASF header and so on for new code.
-
 ## Helpful Links
 
 * **Build resources** - [TravisCI] & [Jenkins][jenkins]
 * **Releases** - [Making a release][making], [Verifying a release][verifying]
 
-For more details, see the [contributor guide](/contributors-guide/).
+For more information, see the [contributor guide](/contributors-guide/).
 
-[newbie-issues]: https://s.apache.org/newbie_accumulo_tickets
-[helpwanted]: https://github.com/search?utf8=%E2%9C%93&q=state%3Aopen+label%3A%22help+wanted%22+repo%3Aapache%2Faccumulo+repo%3Aapache%2Faccumulo-website+repo%3Aapache%2Faccumulo-examples+repo%3Aapache%2Faccumulo-testing&type=
+[good-first-issue]: https://github.com/apache/accumulo/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
 [contact]: /contact-us/
 [a]: https://github.com/apache/accumulo
 [ac]: https://github.com/apache/accumulo/blob/master/CONTRIBUTING.md
@@ -168,10 +85,11 @@ For more details, see the [contributor guide](/contributors-guide/).
 [s]: https://github.com/apache/accumulo-wikisearch
 [sc]: https://github.com/apache/accumulo-wikisearch/blob/master/CONTRIBUTING.md
 [si]: https://github.com/apache/accumulo-wikisearch/issues
-[jira-signup]: https://issues.apache.org/jira/secure/Signup!default.jspa
+[p]: https://github.com/apache/accumulo-proxy
+[pi]: https://github.com/apache/accumulo-proxy/issues
+[m]: https://github.com/apache/accumulo-maven-plugin
+[mi]: https://github.com/apache/accumulo-maven-plugin/issues
 [github-join]: https://github.com/join
-[manual]: {{ site.docs_baseurl }}
-[JIRA]: https://issues.apache.org/jira/browse/ACCUMULO
 [GitHub]: https://github.com/apache/accumulo/pulls
 [Jenkins]: https://builds.apache.org/view/A/view/Accumulo
 [TravisCI]: https://travis-ci.org/apache/accumulo
@@ -179,17 +97,11 @@ For more details, see the [contributor guide](/contributors-guide/).
 [verifying]: {{ "/contributor/verifying-release" | relative_url }}
 [Fork]: https://help.github.com/articles/fork-a-repo/
 [Pull Request]: https://help.github.com/articles/about-pull-requests/
+[draft pull request]: https://github.blog/2019-02-14-introducing-draft-pull-requests/
 [Push]: https://help.github.com/articles/pushing-to-a-remote/
 [clone]: https://help.github.com/articles/cloning-a-repository/
 [srcheaders]: https://www.apache.org/legal/src-headers
-[styles]: https://gitbox.apache.org/repos/asf?p=accumulo.git;a=tree;f=contrib;hb=HEAD
-[accumulo-readme]: https://github.com/apache/accumulo/blob/master/README.md#api
 [semver]: http://semver.org/spec/v2.0.0.html
-[eclipse]: https://www.eclipse.org/
-[eclipse-import]: https://stackoverflow.com/questions/2061094/importing-maven-project-into-eclipse
-[intellij]: https://www.jetbrains.com/idea/
-[intellij-import]: https://www.jetbrains.com/help/idea/maven.html#maven_import_project_start
-[accumulo-contrib]: https://github.com/apache/accumulo/tree/master/contrib
 [messages]: https://chris.beams.io/posts/git-commit/
 [squash-tutorial]: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
 [squash-stack]: https://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using-git