Page MenuHomePhabricator

Define the CommunityConfiguration schema for an opt-in entry
Open, MediumPublic

Description

Define the CommunityConfiguration schema for an opt-in entry, as a schema owned by WikiLambda and exposed to sysops via CommunityConfiguration's editing surface.

The minimum fields per entry are the Wikidata QID of the abstract article and the local title under which it should appear on the wiki; an optional short free-text "rationale" field is worth including so that a sysop returning months later can remember why they opted a given topic in, which matters for long-term maintenance of the opt-in set. QID is validated as a well-formed Q\d+; local title is validated as a well-formed MediaWiki title with no namespace prefix (opt-ins surface in mainspace, not in any project namespace); and both fields must be unique within the opt-in set so that a single local title or a single QID cannot be opted in twice. Language selection is deliberately not part of the schema — the sysop opts a QID in generically, and the rendering component inherited from M1 handles reader language selection and language fallback at render time. That keeps the schema small, matches the reader-centric framing of the milestone, and means a sysop does not need to know or care which languages the pre-generation cache currently covers when they make the opt-in decision.