Affects Version/s: None
Fix Version/s: 3.1
The status quo in page editing is as follows:
Clicking on "edit" makes the Server mark a wiki page as "currently being edited" for a certain time. This timer may be stopped by:
- X minutes without any action
- a save or cancel request from the edit page
- nothing more!
Now, web surfers don't care about technological issues and are lazy, so in the majority of cases the user would simply close the edit page or use a go back function of his web browser, if he changed his mind and didn't want to edit the page anymore.
The problem arising is that on the server side, the page is still marked as being edited for a potentially long time. In the meantime, other users can't really edit the page because they're being warned that someone else is editing it, although this may not be true anymore.
This wouldn't be a big problem in a rarely visited wiki, but it's a really big problem in a frequented wiki. Additionally, it has been found that most of the page lockings occur due to spiders and spambots, not users as such.
My proposal is something like:
- making the client have to send a ping from time to time (so that if the page has been closed, the ping isn't sent anymore)
- adding onExit, on... handlers signalling a cancel action to the server.
Of course it doesn't help against wiki spam, but the "do not edit" time will be minimised. In a way, it's comparable to greylisting in the e-mail domain. You make the client tell repeatedly that its request is still valid. Fewest spiders or spambots will respond to that.