I see your points, but I still do believe it can be made to work.
If users scanned their media for the filesnames of their movies, using a regex scanner so that you just get the Film Names (if necessary).
The filenames are then uploaded to a temp store on the web adding to one big list.
Someone with admin rights, (or reliable), then downloads all the current filenames in the list and yourdb, and moves the current list of filenames to a backup, thus starting the main list again.
That person then has a program that goes through the list querying IMDB for the movie, once the movie name is found, it then queries your DB (which has been downloaded) to check if the film already exists. If it does then go onto the next movie, but if it doesn't then add the information to the database and download the cover art etc.
Then you upload the database.
I said it with alot of "you download this", "you upload this"....but this can all be done on your webserver in realtime, but I think it would be best done in batch.
This way - there would be no data inconsistency.
- I don't mean to push/prod - just a suggestion.
If users scanned their media for the filesnames of their movies, using a regex scanner so that you just get the Film Names (if necessary).
The filenames are then uploaded to a temp store on the web adding to one big list.
Someone with admin rights, (or reliable), then downloads all the current filenames in the list and yourdb, and moves the current list of filenames to a backup, thus starting the main list again.
That person then has a program that goes through the list querying IMDB for the movie, once the movie name is found, it then queries your DB (which has been downloaded) to check if the film already exists. If it does then go onto the next movie, but if it doesn't then add the information to the database and download the cover art etc.
Then you upload the database.
I said it with alot of "you download this", "you upload this"....but this can all be done on your webserver in realtime, but I think it would be best done in batch.
This way - there would be no data inconsistency.
- I don't mean to push/prod - just a suggestion.