Ultimately it comes down to the age old problem. If you want something super simple that "just works", then you give up a lot of advanced functionality and customization, because those often stand in direct conflict.
THIS is so true … not sure about Sonos as I don't have one … but Plex clients do not allow any tag editing or server maintenance, that's why it "just work" (they do maintenance and tagging via web interface … in case you were wondering … and I am not sure if they allow multiple users to edit server at same time since I am the only one updating it … but if I have to guess, probably no concurrent editing)
Ability to edit library/database/DB from clients is very complex issue due to consistency issue.
Even if only one user is allowed to edit DB at any one given time (from client or server machine) there are multiple issues that needs to be taken into account. Few that come to my mind (pretty sure there are more):
* what to do when updated/updating items is beeing accessed? ... deny access or deny editing item or allow both? ... if allow both, once editing is done push changes to accessing client (ie search results or playlists) or let accessing client use old search result/playlists?
* confirmation from server that the changes has been updated to DB, so user is sure changes are updated
* possibly logging changes for traceability
Multiple editing clients are stuff of nightmare ... but probably what most ppl will want in regards to playlist and photo tagging ... Digital Asset Management (DAM) handles tagging for big businesses and cost fortune ... that probably indicates level of complexity of these stuff
i was looking for this a year ago, cheapest i could find was Daminion ... they offered me 3 full licence for around 1000USD ... and home edition 2 licence (admin licence without ability to set access level) for 400USD ... first option was out of my budget, second option did not give enough flexibility for my usage scenario
Personally i would be happy if only one user is allowed to edit server at any given time ... rest of users are read only (selected playlist from server are loaded as play now playlist so changes do not propagate to server)
PS. a thin client with no editing capability would be interesting (or an option on MC that disables all editing stuff and thus put MC into "thin" client mode)
PSS. i do not understand problem with ripping on clients that other has stated ... dont you just point ripping destination to where server looks for media and let server pick up changes? ... personally i rip to local destination first, check the rip, only then transfer rip to NAS (as transfer to NAS is expensive operation ... so want to make sure rip is good before committing to transfer to NAS)