Background
Several years ago, the Growth-Team deployed GrowthExperiments as a standard feature on all Wikipedias. Unfortunately, new Wikipedias get created every now and then, meaning we are not on all Wikipedias anymore. Every now and then, I meet with users from new wikis who either explicitly request Growth features, or we just naturally find out (in a disappointing way) they are not deployed yet.
Problem
GrowthExperiments expects minimum configuration on any wiki it is enabled on. Originally, it was intended to be bootstrapped via initWikiConfig.php, which contacts Wikidata and creates a good starting configuration for the wiki in question. This has worked very well for scaling – wikis had a lot of records in Wikidata, we just had to read them and convert into a suitable configuration. However, new wikis do not have anything in Wikidata yet, so this solution cannot be applied to them.
Proposed Solution
Rewrite GrowthExperiments in a way that:
- Does not enable anything special (except "safe features", such as Welcome Survey), initially
- Allows admins to configure features via Community Configuration (with the default config being empty)
- Once an admin configures the feature, it is enabled for the newcomers.
Once this is implemented, we would be allowed to set 'wikipedia' => true
Solution Analysis
This solution has several advantages:
- it promotes self-service, a model that MediaWiki-extensions-CommunityConfiguration has successfully introduced,
- it recognises per-wiki configuration is needed, while not putting an overly big burden on the Growth team,
- it recognises not all wikis can benefit from Growth features fully right away (for example, if no tasks are available, not even via Add-Link-Structured-Task, there is not much Suggested Edits can do; that doesn't stop Mentorship from doing its job, assuming there is enough mentors),
- it does not rely on staff time on every new wiki creation,
- it does not add any steps to the new wiki creation process, which is already overly complex