Well, I have to agree with NWP that this has been an interesting thread, one of those that takes on a life of its own... it started out with a debate about the merits of case sensitivity, did a neat hand-brake turn on the point of whether databases should be case sensitive at all, and has now lurched off into a familiar debate on the role of the slimserver database! Especially entertaining is the bit where someone comments on one topic and has their message interpreted as if it were on another one!
Having joined in the first bit, I can't resist joining in the later stages, though, so here is my two penn'orth on the slimserver database... I'm pretty sure that for the large majority of users, the current model is correct, i.e. that the tags are the source of data and that the slimserver database is purely for the convenience of slimserver. This works well because all the ripping programs or download sources provide more-or-less standard tags. However, since slim have gone to the trouble of providing a "proper" database, it would be a real shame if we couldn't use it in a lot more interesting ways. This, I understand, is one of the motivations for moving to MySQL, and I think we see the beginnings of what might be done with erland's plugins. The big issue with the slim database, though - as has been mentioned here as previously - is that it is considered "throwaway", which effectively stops anyone putting interesting information in it. And no, "tags" are not the full answer - I can easily imagine data which is not solely about a track and which therefore doesn't rightly belong in a track's tags (e.g. any information about the relationship between two tracks). So if we are going to store relational information somewhere, AND we want to keep the open principles of slimserver (i.e., its easy for third parties to add functionality and plug in), we need to establish some principles: (1) there is some basic player information that slimserver needs to be able to play tracks. This has to be generated from somewhere (today, from tags). The data model for this stuff is slimserver's to own: the slimserver developers need to be able to make changes to this in future versions without reference to anyone. (2) the writers of plugins to slimserver will want the ability to add extra information in tables of their own (eg Lazysearch). At the moment they are limited to storing information that can easily be regenerated, but in the future they really ought to be able to store stuff persistently somewhere (possibly in a different database). (3) we need to acknowledge that there are other programs and databases out there, which people like JSonnabend want to use for a variety of purposes beyond the knowledge of slim, and which slimserver really ought to be able to co-exist with. So, I think there potentially three different kinds of RELATIONAL data (i.e. in addition to the data that can easily be stored in tags): (1) the data owned by slimserver for the purposes of playing tracks (2) additional data used by slimserver plugins for whatever purpose (3) data managed by applications that slim knows nothing about at all I suspect the three need to be stored in different databases. Also that the right answer for JSonnabend is to provide an easy means of transferring the relevant data from the external database into the slimserver one: as MichaelWagner says, file tags are a simple and standard way of doing this... one drawback I can think of is that you lose the ability to transfer any relational data. Another is that it's not the right answer for dynamic data like "last played". If you don't want to use tags as a communication route, I think you have to link the two databases up (though it creates a maintenance problem for someone). I don't think the answer is to try to shoehorn it all into one database, that would cripple both sets of developers. I'll stop now before my ramblings take on a life of their own, like this thread..... Ceejay -- ceejay ------------------------------------------------------------------------ ceejay's Profile: http://forums.slimdevices.com/member.php?userid=148 View this thread: http://forums.slimdevices.com/showthread.php?t=24093 _______________________________________________ discuss mailing list discuss@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/discuss