Skip to content

RFC: Add genres field to Open Library Work records (system-wide support for Genre Tags) #11610

@mekarpeles

Description

@mekarpeles

Feature Request

System-wide support for first-class genre tags on Works (books), including schema, admin/type registry, API changes, UI/UX, editing, autocomplete, search/index, data migration, and developer/user documentation.

Breakdown

  1. Update olclient/schemata/work.schema.json (and infogami type registry) to support genres: List of Tag (tag_type: genre)
  2. Ensure API/backend changes propagate to/from infogami + storage
  3. Add display of genres (as labeled chips) to templates/type/edition/view. html and work.html
  4. Update editing UI for genres: input, add/remove chip JS, autocomplete, CSS
  5. Canonicalize genre tag UX style & shape; document, get agreement
  6. Implement dedicated genres autocomplete using /tags.json?tag_type=genre
  7. Update Solr schemas, update Solr updater logic, ensure search/facet by genre
  8. Write tests (schema, UI, API, Solr), migration/backfill script
  9. Add developer and end-user documentation. Plan for upgrade/feature flag, Solr reindex.
  • See full checklist in ticket for complete file-by-file breakdown and gotchas.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Lead: @mekarpelesIssues overseen by Mek (Staff: Program Lead) [managed]Module: Solr UpdaterCode relating to live edits being reflected into solrNeeds: Staff / InternalReviewed a PR but don't have merge powers? Use this.Team: Front-endIssues belonging to the Front-end team [experimental tag]Theme: Book TagsIssues related to community book tagsTheme: CSSIssues related to CSS stylesheets. [managed]Theme: EditingIssues related to the user editing/wiki editing experience. [managed]Theme: SubjectsType: EpicA feature or refactor that is big enough to require subissues. [managed]Type: Feature RequestIssue describes a feature or enhancement we'd like to implement. [managed]hacktoberfestIssues appropriate for Hacktoberfest participants

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions