History:Next Generation Schema/Edit User Interface

From MusicBrainz Wiki

This wiki page aims to define the goal for the Edit user interface for NGS.

Note: There is also an older page with similar discussion.

Goals

  • A release page has several "data" tabs. A new "edit" tab needs to be added that should be visually distinct from the other tabs. Perhaps even right aligned.
  • The existing "data" pages should not have any "edit" modifications.
  • The edit page should look nearly identical to the data page initially.
  • Mousing over the various elements should give a clue that an element can be edited.

Workflow

Any edit that a user starts, but does not submit, will be send to the server's "stash". If the user starts an edit and then navigates away from the page, the current changes should be submitted to the server stash transparently. Returning to that edit page should automatically retrieve the stashed changes from the server and load them into the page.

The user should also be able to get a list of stashed edits and be able to resume or delete any of them. A user can come back later and retrieve stashed edits to finish and submit them. Edits can be started on a mobile in a music store and retreived at a home computer later on to be finished and submitted.

Resolved Questions

1. How to add a controller action, such that http://216.121.252.161:3000/release/ceffc5e5-ae9f-4d24-a8e7-8e22e89a5153/edit loads http://216.121.252.161:3000/release/ceffc5e5-ae9f-4d24-a8e7-8e22e89a5153 but with the variable "edit" set = 1? -- RESOLVED, handled in the templates via the CGI wrapper.

2. How to get the list of countries, country abbreviations, and country values?

3. How to get the list of formats and format values?

4. How to get the list of scripts and script values?

5. How to get the list of types and type values?

6. How to get the list of statuses and status values?

7. How to get the list of languages and language values?

8. How to get the list of packagings and package values?

9. How to get the list of artist types and type values?

10. How to get the list of artist genders and gender values?

11. How to get the list of label types and type values?

2 - 11. Resolved with temporary workaround, pending eventual script to auto-populate the array data file.

13. Release (medium?) and RG annotation and ARs are of course editable for existing releases (mediums?), but would there be anything that would make it impossible to allow adding these as part of an overall release (medium?) / RG add? ie, submitting the edits to add these as part of the batch of edits submitted to the server, with the server, as part of the edit batch processing, applying that new annotation and/or ARs to the just-created release (medium?) or RG? -- ANSWERED: no, nothing should block either being possible.

19. Can a release belong to multiple release groups?

No. Murdos 22:27, 28 July 2009 (UTC)

As-of-yet Unanswered Questions

These are questions I have run into, but don't yet have answers to, while working on the UI -BrianFreud

12. Can an existing combo "artist thingie" get looked up, or does each part have to be looked up separately? (ie, looking up "Queen & David Bowie" as a single step, rather than having to look both "Queen" and "David Bowie" up separately).

14. Where will coverart be displayed for RGs?

15. Where will coverart be displayed for releases (mediums?)?

16. What are the MB versions of each country abbreviation (and the country they each map to)?

17. Given that existing release annotations are entirely moved into the release groups by the conversion script, but that releases *will* have annotations in ngs separately from RG annotations, is there any way to (manually?) add a few (temporary?) release annotations for editor testing purposes?

18. Theoretically, we would like people to enter all discs of a release all at the same time. Realistically, however, not only do we already have incomplete releases (disc 1 entered, disc 2 not entered, disc 3 entered), but especially for larger releases, it's unrealistic to expect editors to enter the entire release all at the same time (Imagine entering all 12 CDs of a 12 CD release, all at the same time). How should the editor handle both existing and new cases like this, where we have some, but not all, mediums for a release? How are they handled, in the schema and on the server end?

20. What is the [% foo.bar %] to access the parent release group (name and mbid) for a release?

21. Needed: some way, for each artist that makes up a "combo artist", a way, from a template, to access an array of those individual artists and their mbids. (To loop through each and pre-populate the input fields when in edit view.)

22. Would it be possible to get a quickie script that could be run against the database to add a few example releases with multiple mediums attached, for testing/dev of multiple medium support? (And, depending on the answer to 18, also to create a test case (or a few) like that, with a missing middle, last, or first medium?)

23. Similar to 22; any chance of a script to run against the db to make at least one track somewhere have a combo artist, with multiple individual artists attached, for testing? (For both 22 and 23, if it makes the script(s) easier to write, it doesn't matter if that script breaks the ability to keep the dumps up to date via replication in future; if I ever need an updated import, I can always re-import the entire dumps.)

Pending issues