Page MenuHomePhabricator

CommunityConfiguration: skipDashboardListing should fully hide the provider from UI
Closed, ResolvedPublicBUG REPORT

Description

In T361123: Make it possible to declare a Community configuration provider that does not display on the dashboard, we added a skipDashboardListing flag that allows customers to hide any provider from the dashboard at Special:CommunityConfiguration. This works, but the dashboard is not the only part of CommunityConfiguration UI we have. The links added in T363788: Community Configuration: Edit History lead to Special:CommunityConfiguration/PROVIDER do not work when the provider in question has skipDashboardListing enabled.

If a provider is excluded from the dashboard, we should not display it in any portion of CommunityConfiguration-generated UI. This is what we need to implement within this task (it might also make sense to rename skipDashboardListing to something more generic, such as excludeFromUI?). See T367655#9934331 for related conversation.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Urbanecm_WMF changed the subtype of this task from "Task" to "Bug Report".

This is a minor bug that affects providers with skipDashboardListing enabled (none at the moment, will affect T367575: Structured Mentor list should make use of CommunityConfiguration extension eventually).

The renaming and expansion of the option scope seem fair. For the mentor list case, there's indeed a "form" to update the configuration. Should we allow providers to define an option for the "View form" URL, for the cases in which it is provided by them rather than by CC extension? cc @Urbanecm_WMF

The renaming and expansion of the option scope seem fair. For the mentor list case, there's indeed a "form" to update the configuration. Should we allow providers to define an option for the "View form" URL, for the cases in which it is provided by them rather than by CC extension? cc @Urbanecm_WMF

I don't think so. If an extension wants to include its own special form in Special:CommunityConfiguration, they can do that already thanks to T364283: Community configuration: Allow client extensions to define their own editor capability. I think we should keep hiding for cases when the other extension has a reason for not including the UI elements at all, and we should honour that decision.

Arguably, the mentor list is a different kind of configuration than other things that are in Community configuration.

Change #1058192 had a related patch set uploaded (by Cyndywikime; author: Cyndywikime):

[mediawiki/extensions/CommunityConfiguration@master] Hide providers with `excludeFromUI` flag from UI components

https://gerrit.wikimedia.org/r/1058192

As I noted on Gerrit, the change to CommunityConfiguration looks good. However, renaming skipDashboardListing to excludeFromUI is technically a breaking change. You'd need to ensure GrowthExperiments doesn't break during the process. A safe way to do that would be to have three patches:

  1. in GrowthExperiments, add the excludeFromUI option, but keep the skipDashboardListing option as well (only one of them would get processed)
  2. in CommunityConfiguration, https://gerrit.wikimedia.org/r/1058192 would depend on the first patch
  3. in GrowthExperiments, once the CC patch was merged, it is possible to remove the old skipDashboardListing option

If dependencies using the Depends-On footer in Gerrit are set correctly, then merging those patches cannot result in GrowthExperiments usage of skipDashboardListing breaking at any point. Moving to Doing for now – happy to merge once the above is done :).

Change #1058589 had a related patch set uploaded (by Cyndywikime; author: Cyndywikime):

[mediawiki/extensions/GrowthExperiments@master] Hide providers with `excludeFromUI` flag from UI components

https://gerrit.wikimedia.org/r/1058589

Change #1058590 had a related patch set uploaded (by Cyndywikime; author: Cyndywikime):

[mediawiki/extensions/GrowthExperiments@master] Hide providers with `excludeFromUI` flag from UI components

https://gerrit.wikimedia.org/r/1058590

Change #1058590 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Add `excludeFromUI` flag to extension.json

https://gerrit.wikimedia.org/r/1058590

Change #1058192 merged by jenkins-bot:

[mediawiki/extensions/CommunityConfiguration@master] Hide providers with `excludeFromUI` flag from UI components

https://gerrit.wikimedia.org/r/1058192

Change #1058589 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Drop the old option name `skipDashboardListing`

https://gerrit.wikimedia.org/r/1058589