~aleteoryx/scrobble.observer#4: 
Infrastructure for additional services

Extra services should be handled transparently to the end-user. In the wizard, they should be some sort of enum (e.g. drop-down), and in the actual request they should be selected with a single option. Wiring the services together is on the admin.

With that, I propose the following interface:

#Config Entries

  • LFME_BACKEND_DEFAULT: string: specifies a default backend for /user/ requests.
  • LFME_BACKEND_ADDITIONAL_GNUKEBOX: string,*: specifies a set of additional domains supporting the old libre.fm/gnukebox API, assuming i can track down its documentation.
  • LFME_BACKEND_ADDITIONAL_LISTENBRAINZ: string,*: specifies a set of additional domains supporting the listenbrainz API.
  • LFME_BACKEND_ADDITIONAL_AUDIOSCROBBLER: string,*: specifies a set of additional domains supporting the last.fm API.
  • LFME_BACKEND_ADDITIONAL_HACIENDA: string,*: specifies a set of additional domains supporting the hacienda API, when documentation for it is released.

#Query Parameters

  • ?backend=(last.fm|libre.fm|listenbrainz.com|{LFME_BACKEND_ADDITIONAL_*}): the first 3 will be builtin, although it will only be mandatory to specify API keys for one, plus the keys for $LFME_BACKEND_DEFAULT

#Context Members

  • user.service: never null
  • user.service.type: (audioscrobbler|listenbrainz|gnukebox|hacienda)
  • user.service.domain: the string for the service's domain.
Status
REPORTED
Submitter
~aleteoryx
Assigned to
No-one
Submitted
a month ago
Updated
a month ago
Labels
feature - new platform