Create a comprehensive example/demonstration implementation of CommunityConfiguration inside of CommunityConfiguration that serves multiple purposes across different teams and use cases.
This demonstration will:
- Showcase the capabilities and visual design of our form generation to UX designers from other teams
- Provide a practical guide for developers from other teams on how to use our components
- Offer our development team a versatile use-case encompassing every component and feature
- Simplify the QA process by providing a consolidated testing environment
- Serve as a realistic, real-world use case for CI testing, improving upon basic test mocks
We already have something like that in the form of the https://gitlab.wikimedia.org/repos/growth/community-configuration-example repository, but that is neither well maintained nor easily accessible for non-developers.
Acceptance Criteria:
- CommunityConfiguration has an Example Schema that makes use of all the components we have
- the Example includes a Special page that shows how to access the configuration
- the code examples should focus on clarity and have extra documentation where applicable
- the Example is disabled by default and in particular: disabled in Production!
- the Example (Schema + Special page) is enabled in beta (at least in one wiki)
- the Example is enabled in CI for testing and is used in at least one end-to-end test
- the Developer Setup documentation instructs how to enable the Example
Open Question:
- Can we exclude the i18n messages from translation? This exists only for demonstration purposes, no reason to make needless work for the translatewiki volunteers
Future considerations:
- make use of and test Schema migrations
- showcase all the validation options