Uploaded image for project: 'Product Roadmaps'
  1. Product Roadmaps
  2. MMF-324

Built-in quality profiles should be read-only and automatically updated

    Details

    • Type: MMF
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Labels:

      Description

      Context

      MMF-279 already brought features to make sure that users are aware that some of their QP might be outdated. This MMF adds some other features on top of the one developed as part of MMF-279.

      Needs

      The "Sonar way" QP are built-in QP: they are provided by the language analyzers developed by SonarSource. They contain all the rules that should be usable by any project w/o discussion, and that should bring a lot of value without generating noise.

      The current problems are:

      • Once created the first time an analyser is installed, they are never ever updated again - even though the analyser itself will change them over time to make them more valuable. So users will miss new features.
      • Users can modify them, so those QP can even easily diverge from what SonarSource is pushing

      We want those built-in QP to be first class citizens in SonarQube, and to be read-only and automatically updated for users to benefit from all the latest evolutions of the analysers.

      Note that:

      • Built-in profiles are not necessarily named "Sonar way" (any plugin - even third party ones, can bring built-in quality profiles)
      • A plugin can bring several built-in quality profiles (like SonarPHP for instance)

      Use Cases

      #1 - Show the built-in quality profiles

      As a QP administrator, I expect SQ to clearly identify what QP are built-in amongst all the available quality profiles:

      • May it be in the main page
      • Or on the detailed page of a QP



      Note: the correct wording for the tooltip is "This Quality Profile will be automatically updated when its built-in parent is changed by new versions of the analyzer"

      #2 - Understand the status of built-in quality profiles

      Those QP will now be read-only and automatically updated when there is a plugin upgrade.

      As a QP administrator, I expect SQ to:

      • No more the "Restore Built-in QP" action on the "Quality Profiles" page
      • Clearly explain me (in the Web UI) that those QP are read-only and that they will be updated automatically
        • No "Delete" action is available
        • No "Activate More Rules" action on the QP page (and therefore no possibility to activate a rule on a built-in QP in the Rules page)
        • No "Change parent"
        • No "Backup"

        • We should display somewhere that projects using such QP will benefit from all the evolutions when a plugin is updated
          • If a QP extends a built-in QP, a notice should also be displayed in its page because it will be automatically updated too

      • Not be able to activate rules on built-in QP in the "Rules" page
        • Those built-in QP should not be suggested in the "Activate" modal window
        • When selecting a built-in QP in the facet, the "Activate" buttons should even not be available
          • Note: we might even want to display the "Built-in" flag in the QP facet

      Migration

      What shall we do with existing "Sonar way" QP when doing the migration?

      For OnPrem, we should:

      • Rename existing (previously built-in) QP into something like "Sonar way - outdated copy" (or "Whatever the old name - outdated copy")

      For SQ.com, because we want to highly decrease the volume, we would check if the QP corresponding to the built-in ones were modified (i.e. they have changes in changelog other than "System" ones):

      • If yes, we rename it "Sonar way - outdated copy"
      • If not, we delete the QP and replaces it with the corresponding built-in one

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                fabrice.bellingard Fabrice Bellingard
                Reporter:
                fabrice.bellingard Fabrice Bellingard
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: