> We can (hopefully) assume that the only source of error will be typos.
> It is hightly unlikely that somebody will mistype every track, so it
> might make sense to keep a track by track score. We can even present
> cases where there's a conflict to the next query of the database and
> get an additional vote that way.
I was hoping to use XML to keep track of the differences between
records. So, given two different XML records for the same CD, I would
like to be able to merge the two records into one, keeping track of all
the differences between the two. I would need to create an 'extended'
DTD to allow for this...
When a new conflict record is received, the record from the
conflict bin and the new record would be merged into one and then run
against a 'fitness' function. The fitness function could simply check
to see if there was a majority for any field conflict and if so, accept
the field into the DB and remove all the conflicts for that field from
the XML object. Once all the conlflicting fields have been removed from
the XML object, the entire object would be removed from the conflict
bin.
> However, it should be trivial to mark a new record with a time stamp and
> originating server. Thus C would know that it has 2 copies of the same
> record and act appropriately.
>
> It would be difficult implement any voting scheme without some method of
> recording the origin of the record for precisely the reasons you mentioned.
> Probably the easiest is just a server id, but a additional timestamp would
> be useful in cases where someone corrects the entry on the original
> server.
A very good point -- I'll plan to include that.
> In general, I would imagine that most people running a server would want the
> minimum amount of hassle. Anything we can automate should be automated, so
> that human intervention is as rare as possible.
Agreed -- any system that is a hassle to maintain won't be maintained.
--ruaok Freezerburn! All else is only icing. -- Soul Coughing
Robert Kaye -- robert nospam at moon.eorbit.net http://moon.eorbit.net/~robert