Skip to content

feat: close artist search parity gap with legacy WGA index #183

Description

@blackfyre

Problem

The current /artists page only supports a free-text search by name and is always sorted alphabetically by name. The legacy WGA artist index at https://www.wga.hu/index_artists.html supports a richer set of discovery and filtering options that our current implementation does not.

Missing features from the legacy index

  1. School filter — multi-select of schools/nationalities (e.g. Italian, Flemish, Dutch, Spanish, German, French, etc.).
  2. Period filter — multi-select of art-historical periods (e.g. Medieval, Early Renaissance, Northern Renaissance, High Renaissance, Mannerism, Baroque, Rococo, Neoclassicism, Romanticism, Realism, Impressionism).
  3. Time-line filter — a dual-handle range slider backed by editable "From year" and "To year" inputs, defaulting to the collection min/max.
  4. Profession filter — multi-select of professions (e.g. painter, sculptor, graphic artist, miniaturist, illuminator, architect, cabinet-maker, glass painter, goldsmith, potter, tapestry weaver).
  5. Sort options — the legacy index can sort results by Name, School, Period, Time-line, or Profession. The current page is hard-coded to sort by name only.

Current behaviour

/artists only accepts ?q=<text> and paginates matching records sorted by +name.

Desired behaviour

/artists should expose UI controls and query parameters for the filters and sort options above, mirroring the legacy index where the underlying data supports them. Results should remain paginated and HTMX-enhanced.

Data considerations

The artists collection already stores profession, school (relation to schools), year_of_birth and year_of_death. Period and active-year time-line are not currently first-class fields; they may need to be derived from existing date fields or added to the schema.

Acceptance criteria

  • School filter is exposed as a multi-select.
  • Period filter is exposed as a multi-select (values derived from existing data or added to the schema).
  • Time-line filter is exposed as a dual-handle range slider with editable "From year" / "To year" inputs and ?year_from= / ?year_to= query params.
  • Profession filter is exposed as a multi-select.
  • Sort selector allows sorting by Name, School, Period, Time-line, and Profession.
  • All filters and sort options work as URL query parameters and via HTMX requests.
  • Existing text search (?q=) continues to work and composes with the new filters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions