Joined: Jan 2007
Location: Weilerbach Germany
I too have tried to setup the SQL database method, and my lack of knowledge of Linux made me give up, the XBMC settings were trivial, but I had to rely on me setting up SQL on my Linux server, and I just wasn't devoted enough to solve my SQL issues to finish it.
Why can't XBMC continue to work the way it does, using the local *.db file, but have a setting that when turned on and pointed to a .xml file on a SMB share, it will compare it's local .db to the remote .xml, and then sync their content together. Obviously XBMC should make sure the remote file is not locked (in use by another XBMC) and if so cue the sync for later (each entry in the XML would need a timestamp for the changes made, so one XBMC doesn't undo the others). For that matter, the remote .xml could contain the path to where the remote thumbnail repository is located, and when the local database is syncing with it's remote .xml, it could pull/push the artwork too.
Having an non-local database is slow, so this seems like a "best of both worlds" solution, and makes each branch responsible for it's implementation. It would just be a new task that runs, after a reboot (after the initial "Update"), and before a proper shutdown (and maybe check to see if it's changed at various random times).
It would just require a share with read/write to put the .xml and artwork folder in from the end user, and two settings changes in the XBMC GUI. Hell I could even set it up if it was like that.
The way I imagine it is when a XBMC came online, it would have to scan the .xml for differences between it and it's local .db, then add the changes to it's local .db, then scan the media shares for changes, then update it's .db with those, then update the .xml to match.
Now because I have close to no programming experience, and no idea how the database updates work in XBMC, I'm sure there are about 50 reasons why this can't work.
Thanks for all the work you Devs do, I know enough to know that you guys are awesome.
1x Revo 1600, 2x Foxconn NT-330i, 1x ATV1, 1x ATV2 - All running OpenELEC (except the ATV2), and sometimes an old XBOX running 3.0 :)