Description
In my offline wiki (standalone server 'localhost:8080' ...) I discovered a strange effect with the XMLRPC getPage method today. For some reason the "get_rev" method in page.py seems to always return the same revision number for a page, even if the page's content was changed several times. Only after a restart of the standalone server the proper page revision will be returned (only once!). After that, the revision number stays stable again.
Steps to reproduce
start MoinMoin's standalone server by invoking wikiserver.py at the command prompt
- create a page and put some content in it
- how did you change page content?
- I used the editor. I pressed "Edit", typed in my changes and saved the page by pressing the "saving changes" button.
- how did you change page content?
- use the XMLRPC function "getPageInfo" to read out the page info for this page. Remember the page's revision number in the dict field "version".
- change the page's content. The revision should change now, shouldn't it?
- how did you change page content?
- I used the editor. I pressed "Edit", typed in my changes and saved the page by pressing the "saving changes" button.
- how did you change page content?
use the XMLRPC function "getPageInfo" again to read out the new page info for this page. In my case the page revision number in dict field "version" hasn't changed !!!
For some reason the XMLRPC request works well if the Wiki is driven by an apache web server.
Example
Not available in this wiki.
Component selection
- contexts.py (where the cached data is)
- page.py
Details
MoinMoin Version |
1.9.2 |
OS and Version |
WinXP |
Python Version |
2.6.4 |
Server Setup |
Standalone Server |
Server Details |
|
Language you are using the wiki in (set in the browser/UserPreferences) |
|
Workaround
After restarting the standalone server, MoinMoin seems to determine the proper revision number at least once. If you change your page's content again, the XMLRPC procedure getPageInfo won't show you an updated revision number again.
Discussion
Might be caching related. I doubt that it depends on server.
- But why does it work when Moin is ran by Apache then?
- : Maybe because you have multiple processes then (multiprocess wsgi) or no caching (cgi, new process per request)?
- I set up Apache with wsgi. But caching should work the same in standalone server and Apache, isn't it?
- : Maybe because you have multiple processes then (multiprocess wsgi) or no caching (cgi, new process per request)?
Plan
- Priority:
- Assigned to:
- Status: