You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by Apache Bloodhound <bl...@incubator.apache.org> on 2012/11/13 04:24:49 UTC

[Apache Bloodhound] Proposals/BEP-0001 added

Page "Proposals/BEP-0001" was added by olemis
Comment: Bloodhound workflow BEP . Essentially #194 rewritten with style.
Content:
-------8<------8<------8<------8<------8<------8<------8<------8<--------

= BEP 1 : Bloodhound ticket workflow #overview

[[PageOutline]]

|| '''PEP''' || 1 ||
|| '''Title''' || Bloodhound ticket workflow ||
|| '''Version''' || '''TODO''' ||
|| '''Last-Modified''' || '''TODO''' ||
|| '''Author''' || The Bloodhound project ||
|| '''Status''' || Active ||
|| '''Type''' || Process ||
|| '''Content-Type''' || [wiki:PageTemplates/Proposals text/x-trac-wiki] ||
|| '''Created''' || '''TODO''' ||
|| '''Post-History''' || '''TODO''' ||

----

== Abstract #abstract

In the natural evolution of any software it is sometimes necessary to make changes that modify its behaviour and fix problems identified by users. This ''BEP'' documents the recommended process that [wiki:/Proposals#Bloodhoundmembers Bloodhound members] and contributors should follow in order to work on tickets created in the [http://issues.apache.org/bloodhound issue tracker] .

== Proposal #proposal

The workflow installed in the issue tracker is defined in [TracIni the configuration file] . In the following picture you will see a graphical representation.

{{{
#!Workflow width=600
}}}

=== Ticket states #workflow-states

  - [=#state_new] **new** : All tickets will enter this state 
    immediately after they are created. In general it 
    represents tickets for which no active work is 
    been carried at the moment but everything is ready
    to start with it right away.
  - [=#state_assigned] **assigned** : Tickets will enter this state once
    work on the target issue has been 
    started/continued and will remain that way until 
    work is suspended or ticket is ''closed''.
  - [=#state_needinfo] **needinfo** : The state
    for idle tickets until the community can get to an
    agreement on a subject or ticket owner 
    can figure out how to continue solving target 
    issue.
  - [=#state_review] **review** : There is a plausible
    solution (e.g. a patch) provided by an
    [wiki:/Proposals#Bloodhoundmembers external contributor] that is pending for
    review by [wiki:/Proposals#Bloodhoundmembers Bloodhound members].
  - [=#state_closed] **closed** : Represents the 
    ultimate state of the 
    ticket. At this point a resolution has been 
    given to the target issue.

=== Recommended practices #best-practices

Consider the following suggestions when working with tickets. 

  - People shouldn't assign tickets to themselves unless they 
    are planning to work on them in the near future -> it's not a landgrab. 
  - Purposefully leave some low priority, easy issues untouched 
    to be tackled last within a given milestone. Label them with 
    `starter` keyword so as to add them to a section 
    on the BloodhoundContributing page for newcomers to pick up.

== Rationale #rationale

Default ticket workflow didn't work very well for us . At the beginning tickets ended up being assigned for long periods of time, not really reflecting their state properly. This was particularly true in the following situations :

  - It was hard to identify tickets with patches
    pending for review.
  - Sometimes work made on tickets had to be suspended
    until the community could get to an agreement 
    or ticket owner could consult external sources 
    in order to make an informed decision to move
    forward. The only options at hand were `new` 
    and `accepted` so there was not enough exposure
    for these tickets.

As a consequence it was hard for potential contributors to really know if a ticket could be usefully looked at by them. It was also a trouble for reviewers/committers to determine if there was something to do.

In order to improve the situation, [attachment:ticket:194:opensource-workflow.png open source workflow] was selected as a candidate to be installed. It was better but not accurate enough , hence it was adapted to our needs until we obtained current workflow. The details are documented in #194.

== Workflow maintenance #maintenance

Workflow setup and configuration tasks will be performed by [wiki:/Proposals#Bloodhoundmembers members] granted with `TRAC_ADMIN` permission.

Requests for workflow enhancements will be formulated by creating new tickets with the following fields :

  - **type** : `enhancement`
  - **milestone** : `Unassigned`
  - **component** : `siteadmin`
  - **keywords** : include `bh_workflow`

Feel free to assign any other values to remaining fields.

This ''BEP'' is never meant to be completed. No extra effort will be needed to keep it up to date since content will be generated by WikiMacros.

== Resources #resources

See TracWorkflow for details on using the ticket workflow system.

=== Workflow enhancement proposals #bh-worflow-tickets

[[TicketQuery(keywords~=bh_workflow, format=table, col=id|summary|status)]]

== References #references

  1. [wiki:/Proposals BEP Purpose and Guidelines]
  2. Apache™ Bloodhound issue tracker (http://issues.apache.org/bloodhound)
  3. [TracIni The Trac Configuration File]
  4. [WikiMacros Trac Macros]

== Copyright #copyright

Copyright © 2009-2012 The [http://www.apache.org Apache Software Foundation] [[BR]] 
Licensed under the [http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0].

Apache Bloodhound, Apache, the Apache feather logo, and the Apache Bloodhound project logo are trademarks of The Apache Software Foundation.

-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0001>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound (incubating) issue tracker

This is an automated message. Someone added your email address to be
notified of changes on 'Proposals/BEP-0001' page.
If it was not you, please report to .