Critical User Journey 7: Create and edit types
Job To Be Done
When <situation> I want to <job> so I can <expected outcome or motivation>
Acceptance criteria
An editor user...
- Should be able to find the type creation links easily in the Wikifunctions landing page
- Should be able to name the type with a primary unique label and a set of alternative names to increase the chances of it being found and used by other users
- Should be able to easily define the necessary fields to create a custom type definition
- Should be able to define the necessary number of keys from 0 to n
- Should be able to define what type of value each key should have
- Should be able to assign names to the keys in at least my own language
- Should be able to easily understand what are the minimum necessary details to define a type
- Should be able to enrich the type definition with labels in more languages
- Should be able to save my type so that other users can use it or edit it in the future
- If the creation is not successful, should be able to understand what was wrong and how to fix it ---
Completion checklist
During the review process, edit and check these items to reflect the completion status of this epic
- Functionality
- Every project (repository) involved in this user story has its separate Phabricator task
- Every related task should passes its completion checklist
- The tests for every involved project pass successfully
- The build process for every involved project passes successfully
- Coverage for every involved project has improved or stayed the same
- Design
- Design review on updated software
- Test concept via an Alpha, Beta or Prototype with partner communities and those potentially impacted by feature, in their preferred language
- Documentation
- Has related and updated documentation, E.g.:
- Internal technical changes: internal repository documentation must be updated (README.md, JSDoc, PHPDoc)
- Infrastructure technical changes: technical changes that reflect on environment, infrastructure, endpoints or any other area of interest for technical contributors should be reflected on MediaWiki extension pages.
- Product or model changes: should have related documentation updated in meta
- Has related and updated documentation, E.g.:
- Versioning
- If changes in submodule packages are involved, every project that uses this submodule has updated submodule version and passes tests and build