summaryrefslogtreecommitdiff
path: root/include/asterisk/doxygen/mantisworkflow.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asterisk/doxygen/mantisworkflow.h')
-rw-r--r--include/asterisk/doxygen/mantisworkflow.h205
1 files changed, 205 insertions, 0 deletions
diff --git a/include/asterisk/doxygen/mantisworkflow.h b/include/asterisk/doxygen/mantisworkflow.h
new file mode 100644
index 000000000..1d9524c6f
--- /dev/null
+++ b/include/asterisk/doxygen/mantisworkflow.h
@@ -0,0 +1,205 @@
+/*
+ * Asterisk -- An open source telephony toolkit.
+ *
+ * Copyright (C) 1999 - 2009, Digium, Inc.
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE file
+ * at the top of the source tree.
+ */
+
+/*!
+ * \file
+ */
+
+/*!
+ * \page MantisWorkflow Workflow Guidelines for Asterisk Open Source Issue Tracker
+ *
+ * \AsteriskTrunkWarning
+ *
+ * <hr/>
+ *
+ * The purpose of this document is to briefly describe the various statuses an
+ * issue can be placed in, and what that status means. In addition, the simple
+ * workflow and transition between statuses will be discussed.
+ *
+ * \section StatusDefinitions Issue Status Definitions
+ *
+ * \subsection New New
+ * The 'New' status is where all bugs start. This is an issue which has not
+ * received a review by a bug marshal to move it to an appropriate next
+ * status. Steps required to move to the next logical step include:
+ *
+ * \arg checking Category and Severity are set correctly
+ * \arg verifying the issue does not look like a support issue (if so, note
+ * the reporter should use the appropriate support channels, and change
+ * status to Closed)
+ * \arg determine that enough debugging information has been provided so that
+ * a developer can move the issue forward (e.g. on SIP issues, that the
+ * standard SIP debug and history, console output, and configuration
+ * file information has been provided, or in the case of a crash issue,
+ * that a proper backtrace has been provided)
+ *
+ * If the necessary information has not been collected, then the issue
+ * should be moved to Feedback status, and the missing information be
+ * requested by the reporter*.
+ *
+ * When all required information has been collected, the issue can be moved
+ * to the Acknowledged status.
+ *
+ * \note (*) issues which remain in the Feedback status for more than 2 weeks
+ * without feedback from the reporter should be marked as
+ * Closed/Suspended
+ *
+ * \subsection Acknowledged Acknowledged
+ * The 'Acknowledged' status is the first step to issue resolution. It is
+ * an issue that has been filed correctly, the categorization and severity
+ * have been set, and that initial debugging information has been
+ * collected.
+ *
+ * A developer may then review the issue tracker for Acknowledged issues
+ * and to determine whether additional information is necessary (i.e. that
+ * a crash issue with backtrace requires valgrind output, or other
+ * non-standard debugging feedback).
+ *
+ * Issues may be moved to the next step in the workflow when the developer
+ * has either determined the issue is Confirmed, requires additional
+ * Feedback, is an issue that has already been resolved (or does not need
+ * to be resolved), in which case it should be Closed.
+ *
+ * \subsection Confirmed Confirmed
+ * The 'Confirmed' status represents issues which have been verified as
+ * existing in the current branch(es), and has all necessary information to
+ * be accepted into Acknowledged status. The general qualifier for an issue
+ * being moved to Confirmed is more than one community member stating the
+ * issue exists.
+ *
+ * Confirmed issues may also contain patches created by developers which
+ * need to be applied in order to gain further knowledge or debugging by
+ * the original reporter, or any other community member who has verified
+ * this issue as existing. The developer will then move the issue to
+ * Feedback status while waiting for information from the reporter(s).
+ *
+ * Issues with patches that are candidates for inclusion into the various
+ * branches that should resolve the issue are to be moved to the
+ * Ready for Testing status.
+ *
+ * \subsection ReadyForTesting Ready for Testing
+ * 'Ready for Testing' indicates issues which have patches available for
+ * testing by community members or the original reporter which should
+ * resolve the reported issue.
+ *
+ * If the patch does not resolve the issue, then it should be placed back
+ * into Confirmed status until an additional patch can be created for
+ * testing.
+ *
+ * If the patch resolves the issue, then it should be moved to the Ready
+ * for Review status.
+ *
+ * \subsection ReadyForReview Ready for Review
+ * When an issue has a patch that has been tested by a community member and
+ * which resolves the originally reported issue, should then be moved to
+ * the Ready for Review status. Issues marked as Ready for Review should
+ * then either be reviewed by another developer prior to merging (if it is
+ * a non-invasive fix), or the patch should be placed on Reviewboard if it
+ * is a complicated or invasive fix.
+ *
+ * If an issue has a reviewboard link, it should be placed in the
+ * Additional Information section of an issue, and the marker [review]
+ * prefixed to the issue title.
+ *
+ * \subsection Resolved Resolved
+ * The Resolved status is rarely used directly by manual intervention, but
+ * rather is utilized by svnbot and other automated methods prior to an
+ * issue being closed.
+ *
+ * \subsection Feedback Feedback
+ * Feedback is used when an issue is awaiting information from the original
+ * reporter, or other active members of the community in the issue. Issues
+ * which remain in the feedback state longer than 2 weeks without feedback
+ * from any active participants, and which cannot be moved without, are to
+ * be Closed and marked as suspended.
+ *
+ * \subsection LicenseRequired License Required
+ * License Required is used when a patch has been attached to an issue, but
+ * which is currently in the License Pending state, or has been rejected
+ * and is awaiting the reporter to resign the license.
+ *
+ * \subsection Assigned Assigned
+ * Issues marked as Assigned are the responsibility of the assigned
+ * developer, typically because they contain some sort of special knowledge
+ * required to resolve the issue, or because they have decided to take
+ * responsibility for moving the issue to resolution.
+ *
+ * \subsection Closed Closed
+ * Issues which have a resolution are marked as Closed. There are several
+ * resolutions that a Closed issue can contain, such as Fixed, Won't Fix,
+ * Duplicate, or Suspended. Issues that have been Closed manually should
+ * have an appropriate resolution set such as Suspended or Won't Fix, along
+ * with a note indicating why the issue was Closed.
+ *
+ * If the issue is being closed due to a lack of feedback, the resolution
+ * should be Suspended, and a note indicating the issue was closed due to
+ * a lack of feedback, and that it will be reopened upon request if the
+ * reporter can provide the necessary information to move the issue forward
+ * again.
+ *
+ * <hr/>
+ *
+ * \section TypicalWorkflow Typical Workflow
+ *
+ * The typical workflow of an issue is as follows:
+ *
+ * \subsection Brief Brief
+ *
+ * New --> Feedback(*) --> Acknowledged --> Confirmed --> Ready for Testing
+ * --> Ready for Review --> Closed (commited, closed by svnbot)
+ *
+ * \note (*)Optional status used when not enough information provided to move to
+ * Acknowledged.
+ *
+ * \subsection Verbose Verbose
+ *
+ * - Issue is filed by a community member. All issues will start in the status New.
+ *
+ * - An issue marshal then performs triage on New issues and determined if they are
+ * valid issues (non-support), have been correctly categorized, have the
+ * necessary debugging information, etc...
+ * - Issues without the necessary information are moved to Feedback
+ * - Issues that are support, or feature requests without patches, are Closed
+ * - Issues that have all the necessary debugging information to move forward
+ * are Acknowledged
+ * .
+ *
+ * - After an issue has been moved to the Acknowledged state, then a developer will
+ * review to determine if the issue exists, and if so, to move it to the
+ * Confirmed state. If additional information is required, the issue may be moved
+ * to Feedback state.
+ *
+ * - An issue reaches the Confirmed state when the issue has been verified to
+ * exist. Issues that are Confirmed may also contain patches that provide
+ * additional debugging information.
+ *
+ * - Issues that have patches that require testing and feedback from the community
+ * are then placed in the Ready for Testing status.
+ *
+ * - Once a patch has been tested and confirmed to resolve the issue, we change the
+ * status to Ready for Review.
+ *
+ * - An issue that is Ready for Review needs to be looked over by a developer, or
+ * placed on Reviewboard (for larger patches) prior to being commited. Issues
+ * that are in Ready for Review are typically ready, or nearly ready to be
+ * commited.
+ *
+ * - Once an issue has been commited, svnbot will then Close the issue if the
+ * correct keywords are used in the commit message (see Guidelines for Commit
+ * Messages)
+ * .
+ * <hr/>
+ */