GSoC application review - reimplementing personal metadata importers

Matěj Laitl matej at laitl.cz
Tue Apr 30 21:12:09 UTC 2013


On 30. 4. 2013 Konrad Zemek wrote:
> Amarok 2.x importer should support importing data from both a full mysql
> server and mysql-embedded file. To ensure that metadata from current
> version of Amarok can always be synchronized, Collections::SqlCollection
> class will be used

I don't think this is a good idea at all. It is like using a cannon to smash a 
fly, and it would add great deal of complexity and open a can of worms.

You'll really be fine with a couple of SQL queries. (in fact, to fetch 
identifying metadata and statistics about a certain track, one query with 2 
joins will suffice)

> along with MySqlStorage and MySqlEmbeddedStorage
> classes.

Yes, these are actually fine.

> As an optional goal, backwards compatibility for Amarok 2.x
> importer will be provided down to version 2.5. A version auto-detection
> based on database schema would be added for convenience, with user being
> able to specify the version explicitly.

No, I don't think you should be that elaborate. I think that the core schema 
won't really change (and haven't changed since 2.5 or earlier) so perhaps only 
thing to ensure compatibility with other versions is to fail gracefully when a 
SQL query fails (and perhaps do some testing). User certainly doesn't want to 
set some kind of version, it should just work. ;)

	Matěj


More information about the Amarok-devel mailing list