Add new annotation fields which will be used by the community to better categorize toolinfo records to the GET|PUT /api/tools/{name}/annotations/ API end points.
Each field should be multi-value capable meaning that users can add one or more values from the allowed vocabulary.
The vocabulary for each field should be extensible over time, but there is currently no requirement that this mutability be implemented beyond the source code level (meaning that we do not need to make the vocabularies editable via the UI/API).
Fields and values from https://meta.wikimedia.org/wiki/Toolhub/Data_model#Taxonomy_v2:
- Audiences
- Admins
- Organizers and program coordinators
- Editors and content contributors
- Readers and content consumers
- Researchers
- Developers
- Content types
- Articles
- Audio
- Books
- Data
- Bibliographic data
- Categories or labels
- Diffs and revision data
- Event data
- Geographic data
- Linguistic data
- Page metadata
- Structured data
- User data
- Discussions
- Drafts
- Emails
- Images
- Links
- Lists
- Logs
- Maps
- References
- Software or code
- Templates
- Videos
- Watchlist
- Webpages
- Wikitext
- Tasks
- Analysis
- Annotating and linking
- Archiving and cleanup
- Categorizing and tagging
- Citing and referencing
- Communication and supporting users
- Converting and formatting content
- Creating content
- Deleting and reverting
- Disambiguation
- Downloading or reusing content
- Editing or updating content
- Event and contest planning
- Hosting and maintaining tools
- Identifying policy violations
- Identifying spam
- Identifying vandalism
- Listing and ranking
- Merging content
- Migrating content
- Patrolling recent changes
- Project management and reporting
- Reading
- Recommending content
- Translating and localizing
- Uploading or importing
- User management
- Warning users
- Subject domains
- Biography
- Cultural heritage
- Education
- Geography and mapping
- GLAM
- History
- Language and internationalization
- Outreach
- Science