Issue and Enhancement Management - tsgrp/HPI GitHub Wiki
NOTE: as of February 2022, ACA and AEV issue and enhancement tracking has been moved to an internal Jira. All new issues will be tracked there. The issues in this GitHub repository can referenced for historical purposes, but any new issues created here are not guaranteed to be tracked in Jira.
OCMS issues and enhancements are all managed in OCMS's GitHub Issue Tracker. This page describes how TSG manages the OCMS/HPI issue list.
Item Labels
All items should be given labels to allow for quick filtering on the main issues page.
Enhancement vs. Issue
All items should be either labeled as issue
or enhancement
as appropriate. Issues are items that are causing some sort of problem in the system. Enhancements are new features or upgrades to existing functionality.
Other Labels
Use other labels as appropriate. If you think a new label is needed, talk to the OCMS Product Manager.
Other Notes
- The
High Priority
label is used to denote an issue that will prevent us from pushing code to our Release environments. - Do not label an item bothDocumentum
andAlfresco
because the issue affects both platforms. These tags should only be used when an item only affects Documentum or Alfresco. If we started tagging items that affected both with these labels, 95% of the issues would be tagged with both, making filtering impossible. - The
Active Wizard
tag should be used for items that are related to Active Wizard functionality, but are really part of OCMS. For example, issues with any of the Active Wizard actions in OCMS would be tagged asActive Wizard
.
Item Priority
We manage item priority based on the assigned milestone. Milestones will either be an OCMS version number or "Upon Client Request".
Milestone Name | Meaning |
---|---|
OCMS ${versionNumber} | Items that should be implemented in the given release. Once a release is complete, no items should have that milestone. All items in the current milestone should be assigned to someone. This person may not be necessarily the developer that implements the fix or enhancement. |
OCMS ${majorVersionNum}.x | Items that are are not top priority, but may be fixed as part of the current release. If the items is not completed by the end of the current release, the item will be moved to Upon Client Request. |
Upon Client Request | Items that will be added when requested as part of a client project or by TSG. |
Working on an Item
When working on an item, be sure to follow these guidelines:
- Always assign yourself when starting the issue. That way, we'll be sure not to have two people working on the same issue at the same time
- If you get pulled on to something else before finishing the issue:
- Document how far you got on the issue as a comment in GitHub
- Un-assign yourself from the issue
- Once you fix the issue, you must do the following before committing to trunk:
- Ensure all applicable unit tests are created
- Get a Code Review (CR) by an OCMS/OC Tech Arch or Analyst
- Commit the issue to trunk
- In your commit log document the following:
- The issue URL
- Short description of the fix
- Names of all code reviewers (for example:
CR: Joe Hews, Mary Smith
)
- In your commit log document the following:
- Close the issue in GitHub. Add a comment that mentions:
- The OCMS and / or OC revision numbers of the commit
- Who did the CR
- After closing the issue, leave yourself assigned. This way, if questions surrounding the update should arise, others know who last worked on it.
Adding an Item
When adding an item, be sure to supply the following:
- A good title that briefly and accurately overviews the issue
- A good description that describes the issue or enhancement. It may be helpful to have screenshots and/or an animated GIF of the current functionality. Some notes:
- Use a tool like ScreenHunter to capture pictures. You don't even need a file. Just have ScreenHunter capture the image to your clipboard. Then just position your cursor in the description and
ctrl+v
to paste in the image. - Use a tool like LICEcap to easily create an animated GIF.
- Use a tool like ScreenHunter to capture pictures. You don't even need a file. Just have ScreenHunter capture the image to your clipboard. Then just position your cursor in the description and
- Add a milestone based on the Item Priority section above
- If adding an item for the current milestone, the item must be assigned to somebody.
- Add one or more labels based on the Item Labels section above. At a minimum, items should be tagged as either
issue
orenhancement
.
Client Names
Since GitHub is a public site, be sure that TSG client names are not present in your issue title, description or comment. Also ensure any screenshots do not have client logos.
Filtering and Searching Items
When you first come into the issue tracker, all items will be shown. However, you can use the quick filter controls at the top to easily filter the list of items:
Here are some common ways to filter the list that will get you started on seeing what you're most interested in:
Query | Filter Settings |
---|---|
See all open issues | Click on labels and choose issue |
See all open enhancements | Click on labels and choose enhancement . Note that more than one label can be selected. So, if you're following along and didn't clear your selection of issue , you're now viewing items tagged with both issue and enhancement , which will be very few. |
See all open top priority items | Click on Milestones and choose the latest OCMS release number. |
See all top priority issues or enhancements | Choose the latest OCMS release milestone and either issue or enhancement from the label list. |
See what's assigned to a given person | Select the person from the Assignee list, or click on their icon if they're already assigned to an issue. |
Assigned to anybody | Use the filter assignee:* |
What if you're saying to yourself, "I want to be a GitHub issue searching ninja!". Ok, well then check out this page. You'll want to use your new skilz in this section above the issue list:
Even if you don't want to be an Issue searching ninja, you can always just use the quick filters as described above and then just type in some keywords at the end of the filters textbox. For example:
Issue Notifications
GitHub can email you when issues are added and/or updated. See the following links for more information: