Group Recent Activity - Issues Chart - Design
Context
This issue builds on Group Level Recent Activity by providing drill-in via a report page which shows historical detail. The primary reason we are taking this on now is to serve as a test case for Generic Metric APIs and to build out our Generic Report Page. Further discussion on this issue should bare this in mind. Further refinement of the feature beyond the basics necessary for the above will be handled in follow-on issues.
This issue is part of a series. See also Group Recent Activity Charts for MRs and new members.
Problem to solve
GitLab users responsible for DevOps transformation and adoption of GitLab tooling wish to see historical data to and trends to understand rate and pace of usage, make predictions about future usage, etc. See Group Level Recent Activity for more.
User experience
From the group details page the number issues created in the last ninety days is shown. A hyperlink takes me to the the Generic Report Page and shows me a column chart with the number of MRs opened and closed. Clicking on a column provides details in the table below.
The chart allows the user to group data by day, week or month. If day is chosen the chart displays columns for no more than a 31 days. If week, no more than 26 weeks. If month, no more than 24 months.
This chart will show columns for issues opened and closed and a line indicating total open.
In the MVC of the report object page no date range is provided. The range is assumed to end at yesterday and to begin at a date dependent on the selection for day, month or year, the column maximums described above and the availability of data in the data set.
Colors:
- Opened DV green
- Closed DV blue
Implementation
Note that this issue does not implement a unique page for this purpose. Instead a single Generic Report Page is passed parameters that renders the appropriate data set and provides the appropriate filter options. Metadata in Generic Metric APIs drives all behavior on the page, not custom coding.
A background job computes computes the metrics required storing the same in the Generic Metric APIs. The parameters passed to the front end identify Data Set
to display and the Data Set Definition
which provides general hints on the rendering.
See the Demo Scenario for more on expectations.
MVC Scope
We will enable first on the the GitLab Org group on GitLab.com. Concerns about roll-out to other groups or to self-managed instances should be noted here but addressed in subsequent issues.
The Generic Metric APIs from which the Generic Report Page derives its data will not be documented & supported public APIs until we gain confidence that we will not need to making breaking API changes to further develop the capability.