All LabKey Server development issues are tracked in an internal
Issues List following the processes described in this topic. Subscribers to premium editions have access to a private support portal using the same mechanism. For general documentation about issue trackers see
Issue/Bug Tracking.
Benefits
Using the issue tracker provides a number of benefits.
- Clear ownership of issues and tasks through multi-user processes.
- Transparency around assignment of features and fixes to specific releases.
- Testing of all new features and fixes is guaranteed and documented.
- Records of past issues reported and addressed can be scanned to find similar issues and workarounds.
Issue Life Cycle
The basic life cycle of an issue looks like this:
- An issue is entered into the issue tracking system. Issues may be used to track features, tasks, bugs, documentation improvements, etc.
- The person who opens the issue chooses someone to assign it to, based on feature area ownership or using a "triage" alias created as a holding place for assignment and prioritization.
- The triage group or assignee evaluates it to determine whether an estimate of the amount of work required should be done up front and prioritized or deferred to a later release. Issues may be resolved as "Not reproducible", "Won't Fix", or "Duplicate" in some cases.
- The assignee of the issue completes the work that is required and resolves the issue. If the person who opened the issue ends up fixing it, they should assign the resolved issue to someone else to verify and close. No one should ever close an issue that they have fixed.
- The owner of the resolved issue verifies that the work is completed satisfactorily, or that they agree with any "won't fix" explanation. If not, the issue can be re-opened. If the work is complete, the issue is "closed", at which point it will be assigned to "guest" (i.e. not assigned to anyone). Issues should only be reopened if the original problem is not fixed. New or related problems/requests should be opened as new issues.
Guidelines for Issues
- LabKey staff internally opens and tracks all issues, including internal issues opened on behalf of clients.
- Include only one topic per opened issue. If a related problem is found, it will be tracked in a separate issue related to the previous issue.
- Include clear steps to reproduce the problem, including all necessary input data.
- Indicate both the expected behavior and the actual behavior.
- If an exception is described, include the full stack trace in text form (e.g., copy the text from the log file or the web page, as opposed to a screen shot).
Premium Edition Support Tickets
Subscribers to LabKey Premium Editions have similar private "Support Ticket" trackers provided on their
individual Premium Support Portals. Tickets are the best way for clients to ask a question, request assistance, or report problems or concerns they have as they work with LabKey Server. An open client ticket guarantees a response from your Account Manager or other LabKey staff.
Client Requested Improvements
A special category of internal issues tracked at LabKey is "Client Requested Improvements". These internal development issues are opened on behalf of clients reporting issues or requesting enhancements. The triage process for these issues takes into consideration the number of clients expressing interest, and the Premium Edition level to which they subscribe. The more clients using and expressing interest in a feature area, the more likely changes and improvements will be made.
In addition, LabKey also makes use of actual usage statistics reported by running servers to prioritize new feature work, and decide when to deprecate features no longer in use. Whether you subscribe to a premium edition or not, it is important that you
configure your server to support usage metrics to have your usage votes counted.
Related Topics