Issue Details (XML | Word | Printable)

Key: MBS-2437
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Normal Normal
Assignee: Oliver Charles
Reporter: Christopher Key
Votes: 2
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
MusicBrainz Server

Add "link to entities" syntax for annotation pages

Created: 31/May/11 01:14 PM   Updated: 20/Aug/12 09:51 AM  Due: 05/Dec/12   Resolved: 20/Aug/12 09:51 AM
Component/s: Edit system, Misc features
Affects Version/s: None
Fix Version/s: Bug fixes, 2012-08-20


 Description  « Hide

It's often useful to link to MusicBrainz entities within an annotation. This can clearly be done with the standard link syntax,

[http://musicbrainz.org/artist/b972f589-fb0e-474e-b64a-803b0364fa75|Wolfgang Amadeus Mozart]

but this has a couple of drawbacks. Firstly, the links are site specific, so users browsing test.mb.org will find themselves back on the live site. Secondly, the text of the link has to be manually updated to reflect the current name of the linked entity.

I would therefore suggest the addition of a new link syntax to be available within annotations that generate will generate a link to the desired entity exactly as the links showing relationships do. The text of the link would be the entity's current name, the link would be highlighted to show pending edits, and the domain used in the link would be given by the musicbrainz installation in use. It may also be desirable to allow the link text to be overridden, whilst maintaining the other behaviour.

As relative URLs in a link get interpreted as links to locations within the MusicBrainz wiki, it seems that there is already scope for such URL rewriting. Perhaps some portion of the wiki's namespace could be reserved, permitting links like,

[musicbrainz/artist/b972f589-fb0e-474e-b64a-803b0364fa75]

to behave as described above. This syntax also lends itself well to overriding the link text e.g.:

[musicbrainz/artist/b972f589-fb0e-474e-b64a-803b0364fa75|Mozart]

The specific reason for wanting such functionality is to simplify the editing of classical music in NGS.

It is my intention to create a parent work for each 'work' in the traditional sense (e.g. opera, symphony, etc.), whose annotation then links to the works for each MusicBrainz work(e.g. movement, aria etc.). I'd imagine a similar setup might be desirable for recordings, whereby a parent recording would link to child recordings, each representing sections as cut to suit track based media.

Both of the above uses may well be obsoleted by the introduction of new relationships, in which case the links could be readily migrated to use them, but I suspect that there will always be desired types of relationships between MusicBrainz entities for which no formal relationships exist within the database, and therefore I believe that this feature will always prove useful.



Sort Order: Ascending order - Click to sort in descending order
nikki added a comment - 31/May/11 01:39 PM

If you're having to regularly make lists in annotations then something is clearly missing and you should propose whatever relationships you need on the style list.

Also, the wiki uses the syntax [[artist:mbid]], so if/when this is added, I would prefer that as the syntax for consistency.


Christopher Key added a comment - 31/May/11 07:20 PM

> If you're having to regularly make lists in annotations then something is clearly missing and you should propose whatever relationships you need on the style list.

In general I agree, but I think there are a couple of exceptions. Firstly, whilst deciding on the correct phrasing and meaning of a relationship, it might be useful to be able to quickly drop links in to the annotation. Secondly, I think there may be merit in being able to have the links correctly ordered, possibly with formatted text in between. As an example, there's the (very much work in progress) work page for Don Giovanni,

http://www.musicbrainz.org/work/b3b1e2b3-cbb8-4b46-a7d0-0031ec13492c

It would certainly be cleaner is this were instead done using, e.g., a 'has part' relationship, but I'm not sure how you'd ensure the ordering and grouping seen at the moment. I also think that the explanation of appendix works and the two overtures would need to remain in the annotation, and would benefit from easy linking to the relevant entities.

> Also, the wiki uses the syntax [[artist:mbid]], so if/when this is added, I would prefer that as the syntax for consistency.

I wasn't aware of this syntax, so yes, being consistent seems best. Perhaps (if not already supported) the syntax, [[artist::mbid|Link Text]], could be used to override the link text.



Oliver Charles added a comment - 03/Aug/12 01:53 PM - edited

This is 'partially' in review with http://codereview.musicbrainz.org/r/2103/ but I have raised various objections from the original proposal there, and I encourage more discussion.


patate12 added a comment - 03/Aug/12 02:55 PM

About your reserves, maybe the current release title (or artist name etc.) should only be put in <A>'s title : current name : Bob Dylan while letting the MBID being the <A>'s text.

[work:b3b1e2b3-cbb8-4b46-a7d0-0031ec13492c]

would gebnerate something like

<a 
  href="http://www.musicbrainz.org/work/b3b1e2b3-cbb8-4b46-a7d0-0031ec13492c" 
  title="current work name: Il dissoluto punito, ossia il Don Giovanni, K 527"
  >
  b3b1e2b3-cbb8-4b46-a7d0-0031ec13492c
</a>

Oliver Charles added a comment - 07/Aug/12 09:34 AM

We have decided to carry on with the reservations I had before. That is, the solution does not replace an MBID with the entity name.