Page MenuHomePhabricator

Decide on a Stable Interface Policy for CommunityConfiguration extension
Open, MediumPublic

Description

At MediaWiki.org, a Stable Interface Policy is available. It provides many meaningful and useful requirements for code that is used across codebases (such as, services from MediaWIki Core). However, for most classes in an extension, it doesn't make sense as-is (and is generally not followed). For example, signatures of public class methods in an extension are often changed at will, without going through the formal deprecation process that the SIP technically requires.

CommunityConfiguration provides a service to other developers, which enables them to move their configuration on-wiki. To make that possible, we need to define what part of the CommunityConfiguration extension provides a public interface for extensions that makes use of CommunityConfiguration, declare the SIP applies to those parts and follow the SIP when maintaining the product.

This task should be worked shortly before the first client extension starts interacting with CommunityConfiguration.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Urbanecm_WMF moved this task from Inbox to Backlog on the Growth-Team board.
Urbanecm_WMF added subscribers: KStoller-WMF, Sgs.

Hi @Sgs and @KStoller-WMF! I'm unsure where exactly to move this on the CC board. On one hand, we should have Special:EditGrowthConfig migrated (or almost migrated) before deciding what the interface is, on the other hand, completing this at deployment would likely be fairly late, at least assuming that includes a deployment of a first user. Do you have any opinion on this?

@Sgs I'm also curious to hear about your opinions on what should be a part of the interface. As of now, I'm leaning towards including only the provider classes/interfaces, but I'm open to other thoughts.

Sgs raised the priority of this task from Medium to High.Mar 14 2024, 6:33 PM
Sgs raised the priority of this task from High to Needs Triage.
Sgs moved this task from Backlog to Up Next on the Growth-Team board.
Sgs triaged this task as Medium priority.Mar 19 2024, 2:05 PM