SonarQube 6.x has dropped project and global dashboards, and replaced them by more powerful hard-coded pages that must answer users' needs out of the box.
What is currently missing is the ability to view and better understand the history of a project. There are 2 use cases for this:
- I want to appreciate the evolution over time of a set of metrics to be sure that the quality of my project goes into the right direction
- I want to go into details on some parts of the history of my project to understand why (for instance) there was a sudden increase of the technical debt
Currently, the background images of the project home page and the history charts on each metric page do not correctly cover those cases:
- Few people notice the background images on the home page - and it not possible to interact with it
- It's hard to get to the history of a metric - some people don't even know that it is still possible
- It's not possible to compare the evolution of some metrics, and in any case it's not possible to correlate a history chart with the corresponding analyses (that can give a hint on why some anomaly is visible on the chart)
As a user, I want to easily see the history metric and:
- Be able to see analysis events on the chart - not only the versions
- Be able to zoom into a timeframe - because the history might be big and my mouse might not be precise enough to point to a specific analysis
- Be able to compare the evolution of this metric with another metric
As a user, when I go to the "Activity" page of my project, I expect to:
- Not only see a list of analyses with their details, but also the history/evolution of the number of bugs, vulnerabilities, code smells, coverage and duplication
- Display only the relevant analyses on the timeline (dots) when I select an event type on the top right dropdown box, so that I can click on a dot an highlight the analyses (with its details) in the list
- Be able to zoom inside a chart, with the consequence that only the analyses of that timeframe are displayed on the list
As a project admin, on top of the previous needs, I want to easily update / amend the history to:
- clean it up
- make it more precise (with custom events for instance)
From now on, the history of each metric will be displayed on the “Activity” page of a project. (Note: we’ll remove them later from the “Measures" space). This “Activity” page provides a timeline of events on the left, and a block dedicated to history charts on the right.
The timeline has the same behaviour than the current one. Except that for more readability, the diamonds representing events have different colors depending on the type of events. Those symbols are duplicated on the X-axis of the chart. When filtering events, they will also disappear on the chart.
The timeline also displays versions as sticky badges. See https://jira.sonarsource.com/browse/SONAR-8550
There is also a “Custom” option that allows users to build their own history chart, out of the metrics they value the most. In that case, once this option selected, the user will find an empty chart and a “Add a metric” button
Then, a pop-up appears, allowing to choose a domain and a specific metric to display.
A maximum of 3 metrics by chart can be selected by the user.
See interactive prototype attached for the setup of a custom chart: MMF_870_Prototype_V2.zip
By default, the first chart “Overview” is displayed. If the user selects another chart, his choice must be remembered and will be displayed next time he visits this page.
By default, the charts show a time-period on the X-axis corresponding to the time-range selected in the top dropdown. However, it is possible to zoom on a specific part of the chart by using the thumbnail slider in the top right corner of the chart.
To improve discoverability, the Activity page is accessible from a project's Homepage in different ways.
- It's possible to access it via the top "Activity" tab as usual
- The Activity section on the right displays a minimal chart. On hover, the chart gives information. Clicking on the chart leads to the Activity page.
If the user changes the display of the chart in the Activity page, the minimal chart on Homepage should reflect those changes. For example if a user visit the Activity page, chooses the chart "Coverage" then leaves, the Homepage chart will show Coverage measures.
- Hovering on one of the main metrics, a button appears (see https://jira.sonarsource.com/browse/SONAR-8611 ) leading to a Custom chart showing the evolution of the specific metric.