Uploaded image for project: 'MusicBrainz Server'
  1. MusicBrainz Server
  2. MBS-7546

Allow /ws/2 browse requests via advanced relations (e.g. browse recordings by work, browse release-groups by series)

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • Web service
    • None

      Some thoughts I had for how this could work:

      /ws/2/<entity-type>?target-type=<entity-type>&target=<mbid>

      e.g.

      /ws/2/release-group?target-type=series&target=703650d6-0bdd-430c-961a-7cd322cdac5d

      or optionally, to filter on a specific relationship by type id,

      /ws/2/<entity-type>?target-type=<entity-type>&target=<mbid>&type-id=<type-uuid>

      Defining the return format is a bit trickier. It would be nice to have it return e.g. a <release-group-list> like the standard browse, and it (IMO) must support all of the inc= parameters that the standard browse has (e.g. artist-credits, labels).

      However

      Using the <entity-list> format means that you do not get to see the relationship attributes! Which for this browse request are rather important.

      A couple of ideas:
      1. return a paginated <relation-list>. In this case, it might become more difficult to implement the inc= parameters, and it can't share any code with the normal entity-list or relation-list stuff. But probably workable.
      2. Include the backwards version of the relation being searched for inside a relation-list in each entity. This would be a bit trickier to parse, but would fit in our current XML schema.

      Any thoughts?

            Unassigned Unassigned
            kepstin Calvin Walton
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:

                Version Package