Can you elaborate on this? Presumably at the server end there are IM, email and web interfaces to the wiki database. How is the question of an IM and an email "update" command arriving simultaneously any different from that of two web POST commands arriving simultaneously?
In retrospect, my phrasing may have made it seem like a bigger issue then there really is, but here is my understanding of the problem:
When a POST submission arrives, it's tagged with information regarding when the originating form was generated. I'm not sure where all this information is stored. It may be session or hidden form vars - I can't be sure without digging. In any case, the server then checks to make sure that the article hasn't changed since the time the form was created and alerts the user if this is the case with as "Page has been changed" message.
In the case of IM or Email, there is no "originating form" - so resolving which submission came from which previous version becomes an implementation detail. In the case of Email, I suppose you could put in the email a hashcode of some kind to establish a "session" of sorts - then remember to which article and which revision that hashcode corresponds. (I'm just thinking aloud here - I'm sure others here have more info on how this could be done).
Because of the very asynchronous behavior of SMTP/POP/IMAP, chances of this kind of collision are much more likely then with the wiki's web interface. The resolution is to send more emails explaining the condition and providing a resend request - or direct the colliders to the web interface.
Anyway, that's just my understanding of the problem - I reserve the right to be wrong on all points :)
Incidentally, is there by any chance a read-only email fetch mechanism for Wikipedia?
I don't know, but there used to be Email-a-Webpage services whereby you could Email a URL as the subject line to some entity and get a response which was the requested page. I'm having trouble locating one now though ... Googling for "webpage by email" doesn't produce anything useful :(
On 2/19/07, Steve Bennett stevagewp@gmail.com wrote:
On 2/19/07, Jim Wilson wilson.jim.r@gmail.com wrote:
Finally, in both the IM and Email cases, race-conditions become a
serious
issue. How do you determine which publishing entity (IM, Email client,
or
wiki user) got there first? Using a standard interface (the wiki) alleviates this problem.
Can you elaborate on this? Presumably at the server end there are IM, email and web interfaces to the wiki database. How is the question of an IM and an email "update" command arriving simultaneously any different from that of two web POST commands arriving simultaneously?
I would love it if there was an email-to-wikipedia interface, mainly because my mobile phone gives me unlimited email for free (whereas web browsing is ridicously expensive - go figure). There do appear to be a lot of fairly significant hurdles though: authentication, parsing email (stripping out signatures, demangling character conversions, avoiding accidental changing of whitespace etc), and of course the potential for significant lag between receive and update - is merging really a safe option when the article may have been downloaded 6 hours earlier?
Incidentally, is there by any chance a read-only email fetch mechanism for Wikipedia?
Steve
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org http://lists.wikimedia.org/mailman/listinfo/wikitech-l