Ok, work done and super late here so I'm going to go home and sleep :)
Leftmost: let me know if you have any more doubts, or just send a mail at my nick @ mb
:)
Night! :)
LordSputnik
luks: I'm quite happy with us having 3 repositories. It's much better than just having 1. That's not really a good assessment of the state of the project. Editing has been implemented in the web service for about 3 months now - the only reason it wasn't in the site last release is because we started out using Knockout.js, a decision based on the MB client JS code, and then ditched it, because React is better.
The soft release was never intended to be feature-complete, but represented the first time that it was secure for users to register and try things out. The whole purpose of the beta is to get feedback from users about the features we have.
luks
LordSputnik: but that's what I'm saying, you are focusing on technology, not being a book database
LordSputnik
The technology is as important as the books
luks
for me, the project was a haskell experiment, NES experiment, nodejs experiment, ...
never really a book database
LordSputnik
Part of the idea behind the project is to make a reusable base for other *Brainz projects, so my aim is to minimize the amount of book specific code we have to write
Leftmost
It was never an experiment for me. For me, the focus was always on a book database. Others working on the code haven't always viewed it the same way and I haven't always been active, but that's what I've always considered it.
LordSputnik
Right now, you can edit three files, and turn the BookBrainz WS into a MusicBrainz WS
luks
LordSputnik: but you know that's never going to be done
LordSputnik
luks: why not?
luks
because the model does not fit?
I'd like to see the versioning you have there applied to MB data
I think that's the main reason the NES experiments failed
LordSputnik
Well sure, the model doesn't fit the MB schema, but that's because we've designed our schema to be different on purpose
My point is, making a new *Brainz right now is as easy as changing three files and redesigning the website
And I hope to make it even easier than that as we go along with BookBrainz
luks
I'm sorry for being skeptical, but I don't see that happening
LordSputnik
Well I hope it happens, otherwise making MovieBrainz and ElectronicsBrainz will be tough :P
Rasi has left the channel
luks
my main lesson from working on MB was to always try to make the simplest possible thing
LordSputnik
Well, BB is much simpler than MB right now, so that's good :P
luks
the database schema is definitely not simple
LordSputnik
How so? It's fairly simple, we've just used inheritance to remove the need to have loads of entity specific tables, and changed the editing system to be revision-based and follow NES
(well, NES-lite, since we ditched having both edits and revisions)
luks
without checking the code, tell me the sql query to get the data about the latest version of a book? :)
LordSputnik
sure, let me type it
Which data do you want? :P
luks
title and author
LordSputnik
SELECT al.name, c.name FROM bookbrainz.entity AS e JOIN bookbrainz.entity_revision AS rev ON e.master_revision_id = rev.revision_id JOIN bookbrainz.entity_data AS d ON d.entity_data_id = rev.entity_data_id JOIN bookbrainz.edition_data as ed ON ed.entity_data_id = d.entity_data_id JOIN bookbrainz.creator_credit AS c ON c.creator_credit_id = ed.creator_credit_id JOIN bookbrainz.entity_alias AS al ON al.alias_id = d.defau
c.name may be wrong, Leftmost only added that last week and I haven't had a good look at it yet :P
and while the MB query is simpler, aliases are considered separately from the entity name and there's no support for looking at past revisions
Oh, I missed out a table there, since entity_data -> alias is many to many
you'd need to change the last part to ... JOIN bookbrainz.entity_data__entity_alias AS ed_al ON ed.entity_data_id = ed_al.entity_data_id JOIN bookbrainz.entity_alias AS al ON al.alias_id = ed_al.alias_id;
but we don't use SQL anyway, so in terms of our code, that would only be: "revision = db.session.query(EntityRevision).filter_by(entity_gid=entity_gid).one(); aliases = revision.entity_data.aliases; credit = revision.entity_data.creator_credit;"
Nyanko-sensei joined the channel
praest76 joined the channel
luks
well, I still have my doubts that the revision cross linking is easier to manage than a bunch of json files
but good job on the SQL, I expected you wouldn't do it :)
Leftmost
I don't. I work with a bunch of JSON files at work and our data is an endless mess.
luks
but you link from one entity to past revisions of another entity and that can link to another ancient revision of another entity
I can't imagine a simple way to present that to a human who is supposed to edit that
Leftmost
We don't link from any entities to past revisions.
luks
looking at the schema, you check the revision only at the top entity
everything below that refers directly to _data tables by ID
and if I understand correctly, those IDs can refer to past revisions
Leftmost
All links between entity data and another entity are by GID, from which master_revision_id is used.
luks
ok, then the cut-off part of the SQL must have been longer than I expected
LordSputnik
luks: the entity is linked to a master revision, and each revision also has an entity_gid, so we can get all the revisions for a particular entity. Each revision links to a particular piece of entity data, which links to aliases, disambiguation and annotation
kahu joined the channel
LordSputnik has left the channel
JesseW joined the channel
pbryan joined the channel
Lotheric joined the channel
McVegan
any opinions on using Presonus interfaces with Windows 8?
Rasi joined the channel
Rasi
hi
quick clarification: having multiple artist tags is not spec-compilant, right?
kepstin
Rasi, depends on the spec
Rasi
ok, vorbiscomment and id3 are of interest for me
i know i cant set multiple artist fields in musicbrainz picard
kepstin: but would you consider it bad practice to do so?
it seems ugly to me
kepstin
dunno. it's not that well supported by players.
id3v2.4 on the other hand has a way (in some tag types) of specifying multiple values within a single tag
id3v2.3 does not, if i recall.
Rasi
ok
kepstin
(for multivalue tags in idv2.3, picard sets it to a single string with a separate character between values)
anyways, in musicbrainz we set the "artist" tag always to a single string, which is the formatted "artist credit" used on the track
which can contain multiple artist names, e.g. "Someone vs. Other Person" or "Some Band (feat. Awesome Vocalist)"
in formats that support it, the version of picard I have (which is a recent git build, i dunno if this is in the released version) sets an additional multi-value tag that contains just the list of artists.
I believe it uses the name "ARTISTS" for that in vorbiscomment.
if an automod could approve the two edits mentionned in https://musicbrainz.org/edit/32843396#note-3284... before a recording merge applies so that avoids generating duplicate ARs… it would be nice. :)
(btw, that release and recordings require some title fix after all those merges apply)
I am right in thinking that if a mb release has discids it cant possibly be a Vinyl release and should not be linked to VInyl releases on other dbs such as discogs ?
kepstin-laptop
aside from all the cases where discids were added by mistake to vinyl releases, yeah.
CallerNo6
is the discid attached to other releases too?
ijabz2
dunno, but in this example the key thing was it was linked to multiple disocgs releases, some oof them CD and some Vinyl
kepstin-laptop how do you add discids to vinyl, I thought they were only generated from CD's
or do you mean homemade CD's of vinyl tracks
kepstin-laptop
ijabz2, people have in the past added discids from a cd version of a release to the vinyl release on musicbrainz by mistake, particularly if the medium type wasn't set correctly.
so we have a bunch of releases from the 70s with discids that are obviously wrong one way or the other :)
dunno how much of that has been cleaned up, but there are reports for it.
CallerNo6
didn't the move to NGS also create a lot of incorrect release<>discid associations?
kepstin-laptop
CallerNo6, yes, but I believe it shouldn't have migrated discids to any release events that had format set correctly as vinyl.