Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MBS-8700: List genres in JSON-LD #1874

Merged
merged 1 commit into from Jun 20, 2021
Merged

Conversation

reosarevok
Copy link
Member

Implement MBS-8700

This uses only the genres on top_tags (so, the ones that would be displayed on the sidebar). This sounds sensible enough to me, since if someone has added 100 genres to an artist we probably don't want to show them all.

https://schema.org/genre specifically allows only Text or URL for genre, so I went with URL to at least be able to pass an MBID for it. Ideally we would serialize a genre object with ID and name, but that doesn't seem to be supported.

I've never knowingly touched JSON-LD stuff before, so do let me know if something here seems dumb :)

This uses only the genres on top_tags (so, the ones that would be
displayed on the sidebar). This sounds sensible enough to me,
since if someone has added 100 genres to an artist we probably don't
want to show them all.

https://schema.org/genre specifically allows only Text or URL for genre,
so I went with URL to at least be able to pass an MBID for it. Ideally
we would serialize a genre object with ID and name, but that doesn't
seem to be supported.
@mwiencek mwiencek merged commit 63fdf46 into metabrainz:master Jun 20, 2021
mwiencek added a commit that referenced this pull request Jun 20, 2021
Fixes an ISE due to `top_tags` containing unblessed references, and
reconciles the URLs with c7eb8fc.

I also cleaned up the test case to use `<<~'EOSQL'` in line with
12104a1.
mwiencek added a commit that referenced this pull request Jun 20, 2021
reosarevok added a commit that referenced this pull request Jun 28, 2021
* beta:
  Update POT files using the production database
  Update translations from Transifex
  Fix broken HTML in SetCoverArt.js
  Update POT files
  Update translations from Transifex
  MBS-11698: More specific target of external link error messages (#2128)
  MBS-11737: Return different error if IA metadata is empty
  Reset signErrorDetails on every request
  Log bad CAA item uploaders to Sentry
  MBS-11735: Beta: recording ratings broken on release page
  Fixes to #1874
  Update translations from Transifex
  Update POT files using the production database
  MBS-11697: Show historical primary types on old RG edits (#2138)
  MBS-6811: Make edit note permalink link to edit page (#2136)
  MBS-11644: Allow specifying a release MBID when moving a CD TOC (#2095)
  Remove redundant style (#2144)
  MBS-11734: ISE when filtering duplicate artists report
  Update bottom release credits HTML to match production
  MBS-11730: Beta: Relationships seeded with no type not visible
  Handle DELETE in ssssss.psgi
  Fix flaky Selenium failures
  Fall back to redirect service if IA prefix is unset
  Use is_success to check S3 responses
  Remove broken psql command
  Add logging to musicbrainz-tests services
  MBS-11677: Selenium CAA setup
  MBS-10307: Consistently use checkboxes for cover art types
  Check if cover art IDs are already in use
  Handle string/number comparison in both directions
  Support serving index.json files in ssssss.psgi
  Don't terminate connections in t/selenium.js
  MBS-10463: Remove the iframe-based cover art image uploader
  MBS-11727: Beta: Search results always lack track count and medium format
  Update POT files using the production database
  Update translations from Transifex
  MBS-11342: Add message about track durations and recording reusing (#2148)
  Convert the Release index page to React + add track paging
  On release pages, load 100 tracks or 10 mediums
  Add hasAttributes to targetGroup key
  Only output ratings data if it's defined
  Fix accent comparison in the duplicate checker
  Remove unaccented_name, perform unaccent on client
  Remove broken utf8 encoding in t/selenium.js
  Remove link phrase cache
  Pass linkType, attributes directly to linkPhrase utils
  Indent heredocs (<<'EOSQL') properly
  MBS-10711: Use ReleaseList for ReleasesSameBarcode report
  MBS-10711: Use RecordingList for RecordingTrackDifferentName report
  MBS-10711: Use ReleaseList for ReleaseRgDifferentName report
  MBS-10711: Use ReleaseList for ReleaseLabelSameArtist report
  MBS-10711: Use ReleaseList for CatNoLooks... reports
  MBS-10711: Use ReleaseList in BadAmazonUrls
  MBS-10711: Use ArtistList in ArtistsWithMultipleOccurrencesInArtistCredits
  Fix eslint sort-order, remove accessor where useless
  Consolidate annotation/relationship lists into main list
  Factor out annotation report columns
  MBS-10711: Convert report EditorList to react-table
  MBS-10711: Convert report ReleaseGroupList to react-table
  MBS-10711: Convert report ReleaseGroupRelationshipList to react-table
  MBS-10711: Convert report ReleaseGroupAnnotationList to react-table
  MBS-10711: Convert report RecordingAnnotationList to react-table
  MBS-10711: Convert report RecordingRelationshipList to react-table
  MBS-10711: Convert report RecordingList to react-table
  MBS-10711: Convert report ReleaseRelationshipList to react-table
  MBS-10711: Convert report ReleaseAnnotationList to react-table
  MBS-10711: Convert report ReleaseList to react-table
  MBS-10711: Convert report SeriesAnnotationList to react-table
  MBS-10711: Convert report PlaceRelationshipList to react-table
  MBS-10711: Convert report PlaceAnnotationList to react-table
  MBS-10711: Convert report LabelRelationshipList to react-table
  MBS-10711: Convert report LabelAnnotationList to react-table
  MBS-10711: Convert report LabelList to react-table
  MBS-10711: Convert report UrlRelationshipList to react-table
  MBS-11597: Show more data in work reports
  MBS-10711: Convert report WorkRelationshipList to react-table
  MBS-10711: Convert report WorkAnnotationList to react-table
  MBS-10711: Convert report WorkList to react-table
  MBS-10711: Convert report EventList to react-table
  MBS-10711: Convert report ArtistAnnotationList to react-table
  MBS-10711: Convert report ArtistList to react-table
  MBS-10711: Convert report InstrumentList to react-table
  MBS-10711: Convert report CD TOC lists to react-table
  Add ColumnOptionsNoValue to react-table libdef
  Require react-table accessor to be a function
  Make data covariant on CellRenderProps
  Indent heredocs (<<"EOSQL") properly
  Indent heredocs (<<EOSQL) properly
  Allow FormRenderer rendering disabled fields as such
  MBS-9695: Allow editing LinkAttributeType creditable/free_text via UI
  MBS-11724: Fix typo (#2147)
  Change the Selenium proxy port to 5051
  Fix undef value in addition in LinkAttributeType.pm
  MBS-8866: Show collaboration relations on Split Artist page
  MBS-11421: Give helpful message when trying to split empty artist
  MBS-8678: Block split artist if any non collab rels exist
  Use includes rather than match since we don't pass a regex
  MBS-11520: Convert Remove Relationship Type edit to React
  MBS-9826: Show more realistic edit closing time overviews
  MBS-8700: List genres in JSON-LD
  MBS-8070: Show Events in contained places in area events tab
  MBS-5632: Clarify when old image was autoselected in SetCoverArt
  MBS-11523: Convert Set Cover Art edit to React
  MBS-5680: Allow inc=artist-credits in combination with rels incs that have ACs
@reosarevok reosarevok deleted the MBS-8700 branch February 8, 2022 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
New feature Non urgent new stuff
Projects
None yet
2 participants