Jim Higson wrote:
Tomer Chachamu wrote:
On Mon, 21 Mar 2005 15:07:50 +0000, Jim Higson jh@333.org wrote:
I'm trying to programatically submit edits to my wiki via a http post, using XMLHTTP. However, I am unable to 'persuade' the server to accept them. The server always responds as if I'm asking for a preview.
Either:
- I'm not making the upload requests correctly
- There is a server side security model that forbids this
- I'm going mad :)
You can see the form-data I'm sending by going here:
http://81.5.150.113/wysi/Very_small_test?debug=yes&action=edit then change the wikitext and click save, the request and response body will be shown on the right (which I use as a debugging area)
Any help would be really appreciated, this is a real show-stopper for my project.
Are you loading the edit page first and taking the wpEditToken? You need it. (It's used for various things, including detection of edit conflicts.)
I wasn't aware of such a thing - this is obviously the problem.
Is is possible to request a token from the server without it generating a page? (since the page will never be displayed) Or any another way that a thick(er) client can submit edits.
I could just request an edit page in the background to get the token, but doing so would defeat the object of a low-bandwidth, low-cpu wiki.
As an aside, what do people here think of this project? Personally I see a lot of potential in this kind of 'half-thick' interface - the very quick feedback when editing should make contributing a lot easier for those starting to learn the wiki syntax.
Having thought it some more, I'm pretty sure the only way this can be solved is to add recognition for &action=getedittoken to mediawiki. This would return a tiny http response with just the token as text/plain. When the server gets the token back, it would send back an "ok" or "collision"- this is editing equivalent of action=raw.
This would be useful for anyone who is trying to write a thick interface to mediawiki, or any other kind of alternate edit tool.
Does this sound like an acceptable addition?
Jim