Please first read the stuff below, then ask your question about MoinMoin on the appropriate subpage (this page is just a merging page and not editable).
And also please answer other people's questions, if you know the solution.
Editable subpages are:
Joy of errors: /Errors
Installing and upgrading:/Installing
Configuration Files: /ConfigFiles
Login and User Authentication: /Authentication
User Permissions and ACL related: /Permissions
How it looks, using Themes: /Themes
Administration of your wiki: /Administration
Using the wiki: /UsingTheWiki
Developing MoinMoin Extensions: /Developing
Other: /Other
Unsorted stuff: /Unsorted - please help to sort them into the right subpage.
Contents
Contents
Hi I am running Centos 5.7 with httpd-x86_64-2.2.3 with mod_wsgi, python 2.4.3 (as per yum) moin-1.9.3. I have it all installed but am receiving Internal server error, here is my apache log:
[Wed Nov 09 14:25:49 2011] [info] mod_wsgi (pid=30427): Create interpreter 'flexo2.amer.gettywan.com|'. [Wed Nov 09 14:25:49 2011] [info] [client 10.194.100.139] mod_wsgi (pid=30427, process='moin', application='flexo2.amer.gettywan.com|'): Loading WSGI script '/usr/local/share/moin/moin.wsgi'. [Wed Nov 09 14:25:49 2011] [error] [client 10.194.100.139] mod_wsgi (pid=30427): Target WSGI script '/usr/local/share/moin/moin.wsgi' cannot be loaded as Python module. [Wed Nov 09 14:25:49 2011] [error] [client 10.194.100.139] mod_wsgi (pid=30427): Exception occurred processing WSGI script '/usr/local/share/moin/moin.wsgi'. [Wed Nov 09 14:25:49 2011] [error] [client 10.194.100.139] Traceback (most recent call last): [Wed Nov 09 14:25:49 2011] [error] [client 10.194.100.139] File "/usr/local/share/moin/moin.wsgi", line 43, in ? [Wed Nov 09 14:25:49 2011] [error] [client 10.194.100.139] from MoinMoin.web.serving import make_application [Wed Nov 09 14:25:49 2011] [error] [client 10.194.100.139] ImportError: No module named MoinMoin.web.serving
Any help is greatly appreciated. Is it python version? Thanks so much.
A: As you see in the last log line, it does not find the MoinMoin code and can't locate and import the code modules. Please fix your sys.path (see moin.wsgi), add the directory that contains the MoinMoin/ code directory. Verify also that the user account running the web service has access to the MoinMoin folder (e.g.: on Apache, the user is by default www-data and you have to add it to the staff group to get access to /usr/local/lib/pythonX.X/site-packages with X.X replaced by your python version).
Hi, I got suddenly Internal Server Error. Could someone help me with it? My apache error-log says this when i try to refresh page:
[Thu Oct 25 12:55:21 2012] [error] 2012-10-25 12:55:21,507 ERROR MoinMoin.wsgiapp:293 An exception has occurred [https://10.1.1.111/moinwiki/]. [Thu Oct 25 12:55:21 2012] [error] Traceback (most recent call last): [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 282, in __call__ [Thu Oct 25 12:55:21 2012] [error] response = run(context) [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 88, in run [Thu Oct 25 12:55:21 2012] [error] response = dispatch(request, context, action_name) [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 136, in dispatch [Thu Oct 25 12:55:21 2012] [error] response = handle_action(context, pagename, action_name) [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 195, in handle_action [Thu Oct 25 12:55:21 2012] [error] handler(context.page.page_name, context) [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/dist-packages/MoinMoin/action/__init__.py", line 268, in do_show [Thu Oct 25 12:55:21 2012] [error] content_only=content_only, [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/dist-packages/MoinMoin/Page.py", line 1022, in send_page [Thu Oct 25 12:55:21 2012] [error] eventlog.EventLog(request).add(request, 'VIEWPAGE', {'pagename': self.page_name}) [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/dist-packages/MoinMoin/logfile/eventlog.py", line 50, in add [Thu Oct 25 12:55:21 2012] [error] self._add(u"%d\\t%s\\t%s\\n" % (mtime_usecs, eventtype, values)) [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/dist-packages/MoinMoin/logfile/__init__.py", line 460, in _add [Thu Oct 25 12:55:21 2012] [error] self._output.write(line) [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/dist-packages/MoinMoin/logfile/__init__.py", line 162, in __getattr__ [Thu Oct 25 12:55:21 2012] [error] self._output = codecs.open(self.__filename, 'a', config.charset) [Thu Oct 25 12:55:21 2012] [error] File "/usr/lib/python2.7/codecs.py", line 881, in open [Thu Oct 25 12:55:21 2012] [error] file = __builtin__.open(filename, mode, buffering) [Thu Oct 25 12:55:21 2012] [error] IOError: [Errno 13] Permission denied: '/usr/share/moin/data/event-log' [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] mod_wsgi (pid=9038): Exception occurred processing WSGI script '/usr/share/moin/moin.wsgi'. [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] Traceback (most recent call last): [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 411, in __call__ [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] return self.app(environ, start_response) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 282, in __call__ [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] response = run(context) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 88, in run [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] response = dispatch(request, context, action_name) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 136, in dispatch [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] response = handle_action(context, pagename, action_name) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 195, in handle_action [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] handler(context.page.page_name, context) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/MoinMoin/action/__init__.py", line 268, in do_show [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] content_only=content_only, [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/MoinMoin/Page.py", line 1022, in send_page [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] eventlog.EventLog(request).add(request, 'VIEWPAGE', {'pagename': self.page_name}) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/MoinMoin/logfile/eventlog.py", line 50, in add [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] self._add(u"%d\\t%s\\t%s\\n" % (mtime_usecs, eventtype, values)) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/MoinMoin/logfile/__init__.py", line 460, in _add [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] self._output.write(line) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/dist-packages/MoinMoin/logfile/__init__.py", line 162, in __getattr__ [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] self._output = codecs.open(self.__filename, 'a', config.charset) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] File "/usr/lib/python2.7/codecs.py", line 881, in open [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] file = __builtin__.open(filename, mode, buffering) [Thu Oct 25 12:55:21 2012] [error] [client 10.1.1.111] IOError: [Errno 13] Permission denied: '/usr/share/moin/data/event-log'
I have tried change event-log permissions, but it didn't help.
Well, that's clearly a permissions issue. Also check permission of all directories on that path. Make sure you know what uid/gid your moin process is running under. -- ThomasWaldmann 2012-10-28 10:44:50
I am running Ubuntu Desktop 11.04 with the 11.04 server installed on top via tasksel. I keep getting "Unhandled Exception An unhandled exception was thrown by the application." when running moinmoin 1.9.3. I know its trying to run on python 2.7.1 but there is no support for that yet with moinmoin 1.9.3. I installed python2.6 and put #!/usr/bin/python2.6 at the top of moin.cgi. Is this where 2.6 is located in Ubuntu? Are there any Ubuntu users here? What do I put in moin.cgi for a python 2.6 path?
I am using Windows, Apache 2.2 with mod_wsgi and MoinMoin 1.9
I try to upload some files and they fail, for example 'httpd-2.2.17-win32-x86-openssl-0.9.9o.msi' will not upload, even when I retype the name replacing the '.' with ',' for all but the '.msi'
Strangely if I zip the file (which just changes the extension) it works ok.
Please create a bug report about this. I just verified that it did behave as expected for a linux server, You can add to the bug report page an example which don't work for your windows server. We need to know which browser you use because of _do_upload
Hi, we're experiencing this odd navigation event saving changes in text edit mode:
* Internet Explorer cannot display the webpage Most likely causes: o You are not connected to the Internet. o The website is encountering problems. o There might be a typing error in the address. More information: This problem can be caused by a variety of issues, including: o Internet connectivity has been lost. o The website is temporarily unavailable. o The Domain Name Server (DNS) is not reachable. o The Domain Name Server (DNS) does not have a listing for the website's domain. o If this is an HTTPS (secure) address, click Tools, click Internet Options, click Advanced, and check to be sure the SSL and TLS protocols are enabled under the security section.
But it did save the text.
We get this more often than not, when saving changes, both from text and gui edit modes. Also we get it when previewing changes, and when that happens, the changes get lost.
We've tested this with both IE and Firefox, and it is definitely IE specific, or at least, we don't get it, ever, with Firefox.. Our connection settings are exactly the same in both.
We are using python 2.6.1 from python.org, and the PKG-INFO file says MoinMoin 1.8.1. Using IE v7.0.5730.13.
You might consider adding a Help page called HelpOnVersion.
Do you have a version that addresses this problem? We don't have the option of not supporting IE.
Thanks,
Darrell.
Well, one possible cause is missing from the list given by IE:
Internet Explorer is crap and behaving silly.
Sorry if that sounds funny / not constructive to you, but after having seen lots of IE bugs / non-standard behaviours and waisted many hours trying to work around such crap, maybe it just boils down to that.
What would be helpful is if someone would find out what is triggering this strange IE behaviour and whether there is a workaround. I guess we would then implement that workaround (if it does not harm stuff for standards compliant browsers). Please do not expect that this workaround will be found by moin developers, because (AFAIK) noone of them is using IE and most are quite tired of wasting many hours of their free time just to make that piece of crap of a browser behave.
Another option is to report this problem to Microsoft's IE team. Maybe they can fix it. As other browsers do not show this strange behaviour, it is likely a bug in THEIR software.
-- ThomasWaldmann 2009-02-12 08:12:11
I have moved my MoinWiki Persona Ed. from 1.5.something to 1.6.0 without problems. But now I cannot add new pages. I create the link, but when clicking on it it display the usual page with: This page does not exist yet. You can create a new empty page, or use one of the page templates.
Action(edit,Create new empty page)
etc.
Now clicking on Action do absolutely nothing except changing to the http://localhost:8080/Action%28edit%2CCreate%20new%20empty%20page%29 Page.
Any idea? Thanks! mario
Is that on Mac OS X? There is a known bug in 1.6.0 for Mac users, it is fixed already in the 1.6 repo (see http://hg.moinmo.in/moin/1.6/ ) and will be in 1.6.1.
mario-> no I'm on WinXP
Do you have replaced the underlay dir of your wiki instance with the shipped one? If so please check if you have a changed MissingPage page in your wiki.
mario-> Solved! I installed 1.6.1 then copied the content of /wiki/pages (except BadContent, already present) from my 1.6.0 installation to 1.6.1 and now everything works as expected. Thanks for your help!
mijo: I had the same problem. I think, I mixed up the underlay-directory. I solved the problem by removing the underlay-dir and reinstalling it with a new one (of the same version!)
IIS will return a 404 error when you click a link to a new WikiWord (ie. a missing link), if the wiki instance virtual directory is not correctly configured. This is caused by IIS returning a custom error message with the 404, rather than the industry standard default of "Not Found". It looks like Moin is reading the contents of the page returned rather than the status code, not sure if that is the correct way to implement the redirect. In any case, the fix is to change the custom error for the wiki virtual directory.
Right click the wiki instance virtual directory and select Properties
Click the Custom Errors tab
Scroll down to 404 (don't worry about 404;2 or 404;3) and click Edit...
Change the Message Type to Default
Click Ok
-- ChristopherBrandt 2009-04-09 20:06:00
You may want to read HowTo/MoinOnIIS and modify it if it is not correct. -- ReimarBauer 2009-04-09 20:38:33
I am unable to write the word "Python" without the quotes on some of my pages, when I go to save I get a 403 Forbidden.
"You don't have permission to access /cgi-bin/moin.cgi/blahBlah on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request."
When I remove "Python" from the page, it saves. Are there reserved words or phrases?
Well, you can put anything you like onto LocalBadContent page (which is intended for spam protection, not Python protection ). In case you are running IIS you need to fix its broken http error handling, see the IIS infos in the docs.
I am trying to install Moin on IIS and I am stumped. I get no error messages when loading the page but only the ext shows up, no images and no formating. Since it is a new install I have deleted and reinstalled to see if I somehow missed a step in the configuration but each time it is the same. Any ideas of why fomating and images wouldn't show up?
I'm trying to get moin running under MyFavorite OS. The Installation documentation seem strange and somewhat false. Yet I've followed the instructions by the book, I get this error with no traceback whatsoever: Premature end of script headers: moin.cgi or The specified CGI application misbehaved by not returning a complete set of HTTP headers. Running moin.cgi from the command line works fine and returns lots of nice HTML code.
This is a common error message which can have a lot of reasons:
ScriptAlias is broken
Try to look into the server error log to get more information.
On an IIS webserver, this error can occur when the IIS engine somehow loses the ability to spawn Python CGI processes correctly. If your configuration is correct and this error mysteriously occurs, try a reboot of the entire system (a simple iisreset does not seem to be enough to solve this problem).
See more troubleshooting tips on the MoinMoinQuestions/Installing page.
When running action=test, I get few errors:
parser.wiki: DateTime macro ... FAIL wikidict: names in SystemPagesGroup should be in request.dicts ... FAIL
Delete data/cache/wikidicts/* to fix the wikidicts test. The first test might fail on certain system and is a problem with your system libraries, not with moin. There is a note about it and a link to the bug page in the test error report.
I get the error when editing and saving the page FrontPage. I've tried altering the file permissions but with no luck. Since I can't save the first page I've no idea if this affects other pages. -- ThiloPfennig 2006-01-23 07:57:31
Go to data/pages/FrontPage/ and rename the current-locked file to current.
Also try: Go to data/pages/BadContent/ and rename the current-locked file to current. (I think it might alter BadContent on each edit attempt)
For more details to debug this, edit PageEditor.py and in the _write_file() function inside the loop where it tries to write the file, have the failure be reported into a log file of your choosing with something like this:
except OSError, err: write_to_my_logfile( 'exception: got an OSError: '+ str(err) )
Another solution: With my DesktopEdition it happened that I lost the current file in pages/ U s e r N a m e/MoinEditorBackup. As a result I could not edit any file and got the same error. Rebuilding the current file helped. (I assume I lost the file when saving multiple pages in rapid succession from different browser tabs).
The above is also true on systems where the slash is encoded (such as "(2f)" for example). So it would be: pages/ U s e r N a m e(2f)MoinEditorBackup instead. In other words, you should make sure that a current file exists in this path. You could copy an existing current file from elsewhere (usually with a content of "00000001"). Why on earth this file had disappeared in the first place is still a mystery.
We saw this error for one specific user. When she tried to cancel an edit, she would get this error.
MoinMoin tries to write UserName/MoinEditorBackup on cancel, so you can recover the edit in case you didn't really want to cancel. These pages exist even if there are no links to them in the Wiki (as was the case for us). Somehow, this page was corrupted and was missing it's "current" file. Deleting the UserName/MoinEditorBackup page was the solution.
I have installed 3 wiki instances (not as a farm). Looking at the following link on the HelpOnEditing page
* wiki:Self:HelpOnPageCreation#variablesubstitution - which variables are substituted (like @''''''SIG@, @''''''MAILTO@ ...)
HelpOnPageCreation#variablesubstitution - which variables are substituted (like -- 85.181.1.121 2009-08-26 17:48:06, <tw@waldmann-edv.de> ...)
generates a link to one of the other wiki instances. This is 'cured' when 'wiki:' removed.
Please file a bug on MoinMoinBugs.
I'm getting: Could not find a match for url: "10.0.0.27:85/personal-wiki/moin.cgi/?". Check your URL regular expressions in the "wikis" list in "farmconfig.py".
If you are not running a wiki farm, delete farmconfig.py from your wiki directory.
My users get this error when they save pages other people subscribed.
Make sure your mail_from is set to a legal address, e.g "My Wiki <noreply@mydomain", when mydomain is real domain.
2.3.5 (#2, Sep 4 2005, 22:01:42) [GCC 3.3.5 (Debian 1:3.3.5-13)] The newsfeed appears to be rendering the RSS successfully when I check the link in my browser, but the feed doesn't load into Firefox when it is Live Bookmarked. This MoinMoin wiki is using the farmconfig.py but I placed the Link Rel in the local mywiki.py config file. What could be wrong?
I did and it doesn't render the RSS instruction in the (html) page header at all! BTW: the failure is because of the XMLNS being <rdf:RDF xmlns:None="http://purl.org/rss/1.0/ ... Why is it xmlns:None? If I save the output file and remove the offending ":None" the file can be successfully read by any news aggregator.
I found a solution - it appeared, at least on my config to require Python2.4.
However, XSLT (even when enabled in the config.py file) from the page XsltVersion returns "XSLT processing is not available!". Is there some other switch than needs to be enabled or action taken? Is it unable to locate a library. Now using Python 2.4.1 (#2, May 5 2005, 11:32:06) [GCC 3.3.5 (Debian 1:3.3.5-12)], with MoinMoin 1.3.4 [Revision 1.3.4 release].
Does anyone who has used XSLT ever read this page? Come on - what needs to be set in order to make this feature work?
edit the wiki.py script and locate the following lines
# handle anchors parts = word.split("#", 1) anchor = "" if len(parts)==2: word, anchor = parts #here the change return (self.formatter.pagelink(1, word, anchor=anchor) + self.formatter.text(text) + self.formatter.pagelink(0, word))
input the following lines
if self.request.user.wikiname_add_spaces: split_re = re.compile('([%s])([%s])' % (config.chars_lower, config.chars_upper)) text = split_re.sub(r'\1 \2', text)
Email: <Werner DOT Hoevelmanns AT schmiechen DOT de>
I have done exactly as described above, but don't get any result. WikiNames are still written as "WikiNames" and not as "Wiki Names" as should be. If you have any solution or explanation, please publish here, mail me, if possible and delete this text!
<mail AT benschwarz DOT de>
I done all steps as described in the configuration docs word by word. I'm using Foo OS 3.1 with apache2 (I also tryed apache 1.3). When I try to browse the wiki I allways get this error:
ImportError: No module named wikiconfig Check that the file...
This error tell you that the moin can't find wikiconfig.py module. This can be caused by:
If you used farmconfig.py, the wiki names in the wikis list may be wrong.
I have installed moinmoin using Apache. The wiki is called "twmwiki" and everything seems to work fine. I can edit pages and display them and I can also view the content that came with the installation like HelpOnEditing etc. as long as I use the links from the frontpage. What does not work are the links from the editing page where it says "For more help, see HelpOnEditing or SyntaxReference.". Those link to http://localhost/mywiki/HelpOnEditing which of course does not exist and therefore only returns a 404 error.
I wonder whether this is a configuration error (I could not find any references to "mywiki" in my configuration or a bug in moinmoin? -- twm
I was afflicted with the same problem. HelpOnEditing and SyntaxReference (at the bottom of the edit(text)-page) pointed to host/instance_name/page, but they should point to host/page. ThomasWaldmann suggested to clear data/cache/i18n. That solved the problem.
I try to synchronize content of my web based wiki with a Desktop Edition (for offline editing). When I start the synchronisation I got the following error:
Unknown action SyncPages
Is there any possibility to install/activate this action for the local edition?
This feature will be in the upcoming version 1.6 of MoinMoin and the DesktopEdition. There might be a beta release of MoinMoin 1.6 DesktopEdition in the next weeks.
I move one wiki instance from one machine to another. It is fine to show the initial page, but when everytime I click a link inside of the initial page. An error message always shows up said [Error 17] Cannot Create a file when that file already exists. This is the url display in address bar http://127.0.0.1/dblue/moin.cgi/dBlueHome. But if i manaually type URL like that myself in address bar http://127.0.0.1/dblue/moin.cgi/dBlueHome?highligh=%28dbluehome%29 or do the search from search field and it turns out showing content fine.
Today is the day.. ok, small problem. I setup a complete new wiki. python... import MoinMoin ... CTRL+D perfect the data directory is beyond cgi-bin the wikiconfig.py is within /srv/www/vhosts/name/cgi-bin/daten/moin/intern/ .. .pyc is generated From the wikiconfig.py:
data_dir = '/srv/www/vhosts/name/cgi-bin/daten/moin/intern/data/' data_underlay_dir = '/srv/www/vhosts/name/cgi-bin/daten/moin/intern/data/underlay/'
The Rights are 770 from /srv/www/vhosts/name/cgi-bin/daten/ down The group + Username are ok (if y change them, the wikiconfig.py is no longer loaded)
So: the wikiconfig is loaded but the underlay dir never found. I tried: ./underlay/ underlay/ daten/moin/intern/data/underlay/ and ./daten/moin/intern/data/underlay/ and of course the absolut path.
Ah, to create the instance I took: createinstance.sh with: INSTANCE=/srv/www/vhosts/name/cgi-bin/daten/moin/intern
I'am out of Options. Any ideas? oh, apache config is fine. it hast a Alias for moin.cgi in the cgi-bin directory mentioned above.
Traceback: A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. 1. /usr/lib/python2.4/site-packages/MoinMoin/multiconfig.py in getConfig (url='name.com/intern') 1. 158 configName = _getConfigName(url) 2. 159 try: 3. 160 config = _config_cache[configName] 4. 161 except KeyError: 5. 162 config = _makeConfig(configName) * config undefined * global _config_cache = {} * configName = 'wikiconfig' KeyError 'wikiconfig' * args = ('wikiconfig',)
-- Max 2007-04-09
When I am trying to save the pages I get the following error. I am setting up MoinMoin on Windows XP and IIS
File "C:\Moin\Lib\site-packages\MoinMoin\request.py", line 1151, in run handler(self.page.page_name, self) File "C:\Moin\Lib\site-packages\MoinMoin\wikiaction.py", line 659, in do_edit savemsg = pg.saveText(savetext, rev, trivial=trivial, comment=comment) File "C:\Moin\Lib\site-packages\MoinMoin\PageEditor.py", line 976, in saveText mtime_usecs, rev = self._write_file(newtext, action, comment, extra) File "C:\Moin\Lib\site-packages\MoinMoin\PageEditor.py", line 867, in _write_file glog.add(self.request, mtime_usecs, rev, action, self.page_name, None, extra, comment) File "C:\Moin\Lib\site-packages\MoinMoin\logfile\editlog.py", line 178, in add self._add(line) File "C:\Moin\Lib\site-packages\MoinMoin\logfile\logfile.py", line 406, in _add self._output.write(line) File "C:\Moin\Lib\site-packages\MoinMoin\logfile\logfile.py", line 139, in __getattr__ self._output = codecs.open(self.__filename, 'a', config.charset) File "C:\Python23\lib\codecs.py", line 566, in open file = __builtin__.open(filename, mode, buffering) IOError: [Errno 13] File "C:\Python23\lib\codecs.py", line 566, in open file = __builtin__.open(filename, mode, buffering) IOError: [Errno 13] Permission denied: 'data\\edit-log'
What wrong I am doing ??
Abhishek
I followed the HelpOnInstalling/BasicInstallation instructions carefully, and while most of the test steps seem to work (e.g., "import MoinMoin" is fine), when I run moin.cgi either on the command line or via Apache (CGI), I get:
[...long traceback...] File "/usr/local/lib/python2.3/site-packages/MoinMoin/support/copy.py", line 74, in _getspecial for basecls in inspect.getmro(cls): AttributeError: 'module' object has no attribute 'getmro'}
Same error when I run runtests.py. Apache runs the CGI script but of course moin.cgi is returning a 500 error complaining about this missing attribute. I looked at line 74 of copy.py, and all it's doing is "for basecls in inspect.getmro(cls):". Well, python sure thinks it has it:
[...] >>> import inspect >>> inspect.getmro <function getmro at 0x81d4fb4>
I thought perhaps I wasn't using the right python, so I replaced moin.cgi's #!/usr/bin/env python with an explicitly specified python (2.3) that's the same as the one my shell's PATH prefers. No difference. Help!
Please:
I am evaluating MoinMoin as a project managment and tracking tool for my work group. I am running it on Windows XP. I recently have had my PC upgraded. The original copy of my Wiki is still running on the old PC but I need to port it over to the new one. I installed Moin, Python, Pyxml etc on the new PC. Next I followed the directions provided in the installation heklp page to create my Wiki again, making sure the name was the same as before. Finally I copied the User and Pages directories within the \MyWiki\Data folder with the onces running on my old PC. Now when I go to my Wiki on the new PC I get the message:
IOError
[Errno 13] Permission denied: 'data\\pages\\<My_Wiki_Name>\\cache\\text_html'
I am at a loss. Any suggestions?
Are you sure that you have used the right owner for the files on the second new XP windows system. Is it the same owner as the wiki instance you have removed and does have this worked before? -- ReimarBauer 2006-05-26 09:58:23
-- Laiq on Friday May 26th, 2006 at 12:13 PM: Thankyou for your response. I really hope you can help me with this.
The Wiki is running fine on the old PC and my user profile and access rights etc in the new PC should be the same as in the old PC.
Yesterday I went in and renamed the text_html file under the all the data\\pages\\<page_name>\\cache folders. With this change I am now able to load and see the Wiki correctly. But now when I edit any page and then try to preview or save it I get the following error and the changes are not saved:
Page could not get locked. Unexpected error (errno=13).
Looking at the traceback it seems the error is coming from: C:\Moin\Lib\site-packages\MoinMoin\PageEditor.py in _write_file
Also now when I run the self-test I see the following errors:
====================================================================== ERROR: testBasicPackageThings (MoinMoin._tests.test_packages.UnsafePackageTestcase)
File "C:/Moin/Lib/site-packages\MoinMoin\_tests\test_packages.py", line 54, in setUp
raise TestSkipped('This test needs to be run using the test wiki.')
TestSkipped: This test needs to be run using the test wiki.
====================================================================== ERROR: user: login with ascii password
File "C:/Moin/Lib/site-packages\MoinMoin\_tests\test_user.py", line 95, in testAsciiPassword
File "C:/Moin/Lib/site-packages\MoinMoin\user.py", line 270, in init
File "C:/Moin/Lib/site-packages\MoinMoin\user.py", line 68, in getUserId
File "C:/Moin/Lib/site-packages\MoinMoin\caching.py", line 92, in update
IOError: [Errno 13] Permission denied: 'data\\cache\\user\\name2id'
THe first error is there on the wiki runnning on my old PC as well so I think we can ignore it for now.
The "Page could not get locked. Unexpected error (errno=13)." error happened to me because the permissions weren't right in the data directory -- the owner/group hadn't been changed to www-data. I needed to do e.g. chown -R www-data:www-data data .
Hi, this is probably a typical case of PEBKAC, but maybe you could help anyways?
I just tried to set up a MoinMoin Wiki on my computer to try it out. I followed the instructions on this Wiki regarding installation but when I try to open it, i get an internal server error.
My Software: WinXP; Apatche 2.2; Python 2.4.3
the apatche error log entry reads as follows
[Tue May 30 09:57:39 2006] [error] [client 127.0.0.1] (OS 5)Zugriff verweigert : couldn't create child process: 720005: moin.cgi [Tue May 30 09:57:39 2006] [error] [client 127.0.0.1] (OS 5)Zugriff verweigert : couldn't spawn child process: C:/moin/mywiki/moin.cgi
NOTE: Yes, my moin Instance is in c:/moin/mywiki
when I rename moin.cgi to moin2.py and run it in idleI get the following traceback:
Traceback (most recent call last): File "c:\Python24\Lib\site-packages\MoinMoin\request.py", line 1372, in __init__ msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) AttributeError: PyShell instance has no attribute 'fileno'
I didn't touch request.py. *scratches head*
Help would be greatly appreciated, thanks in advance!
Fischi
I also am having the same problem have you solved this yet?
Bryan
Try testing it starting the python interpreter from a cmd, not with idle.
I've had the same problem. In my case the shebang (1st line with the #!) of the moin.cgi script was incorrect. When i changed it to the absolute path to my python.exe, the error was gone and the wiki started. E. g.: #!c:/Programme/Python/python.exe
I've seen this message in my apache error log on several occaitions. Cannot allocate memory: couldn't spawn child process: /var/www/ACDCWiki/cgi-bin/moin.cgi Any ideas on what can be done to fix this?
When editing a page, the editor box is about 13 characters wide.
The cause is missing css files:
I tried to set up EMail notification, but get
{u'foo@bar': (554, '<foo@bar>: Recipient address rejected: Access denied')}
(with a real address, of course) when I try to mail something. I'm not sure if the mail system chokes on the unicode notation. Worse: After removing the entries from mail_smarthost and mail_from, the EMail button remains on the user preferences page.
Is there any way to find out if MoinMoin received any errors from the SMTP session?
Interesting. I managed to find a configuration error on my part, but fixing that doesn't actually make things work. I can now get email sent when I click the "Mail me my account data" button on the UserPreferences page, but I don't get change notifications when I use a test-user login to make changes to a page, but I do get a long traceback where the smptlib module tries to base64-decode something that isn't encoded. Since the traceback includes password information, I'll have to try and debug it myself. I'm using Python 2.4.1 and MoinMoin 1.3.5.
I'm running MoinMoin on Fedora 4, Apache 2.0.54, Python 2.4 with mod_python-3.1.4 (as a DSO, no alternative there). The wiki works fine, and I can view the basic pages. The file permissions are set to the webserver name:group, and can write files as it writes the edit-lock file when you preview a page. However, it just will not save any pages! Is there any finer grained logging available than that in httpd's error_log? That gives the very unhelpful error
[Tue Oct 11 15:16:11 2005] [notice] child pid 28195 exit signal Segmentation fault (11)
Any help would be appreciated.
I'm not convinced it's a hardware problem, as it's a new Supermicro box which has no obvious problems at all. I'll have a look at the memtest you suggested though. All other apps/services are working fine. Thanks for the propmt reply, Thomas. I'll try recompiling mod_python with different options as I compiled Apache to use MPM worker thread. Found the following here:
That maybe true... but it didn't help. I tried compiling Apache with the mpm_prefork option (and recompiling mod_python) but it gave me the same error, though strangely it appeared twice (two error messages) for mpm_worker and only once for mpm_prefork. Go figure. I gave up! If anyone resolves this I'd love to see a solution posted here.
/usr/local/python-2.4.2/share/moin/server>python moin.py Traceback (most recent call last):
from MoinMoin.server.standalone import StandaloneConfig, run
File "/usr/local/python-2.4.2/lib/python2.4/site-packages/MoinMoin/server/standalone.py", line 41, in ?
ImportError: No module named time
How do i go about solving it??
Start an interactive interpreter by entering python and do a manual import time there. If it also fails, get a non-broken python installation. If it works, check if you broke sys.path somewhere in the moin scripts.
I just installed my first wiki pages on an apache server running on Linux. Installation was smooth enough. And I've read over the docs and troubleshooting multiple times. I can see the front page when I load http://my.server.com/mywiki, but none of the other pages load when clicked, including Edit! So I'm stuck with a FrontPage. The diagnostic /mywiki?action=test looks fine, all OK. I'm definitely seeing the moin.cgi file and the wiki .py config file, because the FrontPage displays custom images and text, so I'm fairly sure my httpd.conf is OK. And my python files are in the default location, which I have even tried explicitly identifying in the config file. Permissions on all relevant directories is set to apache.apache (same as in my httpd.conf) and mod is a+rX. Any other troubleshooting ideas? I feel like I'm so close!
When I click 'Edit' I get:
The requested URL /mywiki/FrontPage was not found on this server.
Thanks, Alex
ANSWER
I figured out the problem by following an alternate source of installation instructions
The critical issue appears to be the location of the moin.cgi file. I had placed it in a cgi-bin under a copy of htdocs which was all under my wiki instance directory. I had set up an alias and permissions for the htdocs dir to be visible to the server in httpd.conf (but perhaps this was not done properly?). Once I moved the moin.cgi file to my primary cgi-bin located at the same dir level as my default html dir, then it all worked flawlessly. I updated my ScriptAlias to this location and it's all set. Case closed.
COMMENT
I am very close, too - but here the reason seems to be different. Whatever subpage I open, it does not exist (404). /var/log/apache2/error.log says correctly:
[Fri Aug 10 20:38:16 2007] [error] [client 10.0.2.10] File does not exist: /usr/share/moin/htdocs/SeiteFinden, referer: http://10.0.2.10/wiki - as: {{{$ ls /usr/share/moin/htdocs applets common index.html rightsidebar classic favicon.ico modern robots.txt
$ locate SeiteFinden /var/www/moinmoin/underlay/pages/SeiteFinden /var/www/moinmoin/underlay/pages/SeiteFinden/current /var/www/moinmoin/underlay/pages/SeiteFinden/revisions }}}
OK, perhaps the same problem here: can see mywiki/moin.cgi but can't see mywiki/moin.cgi/ oder anything like mywiki/moin.cgi/*. Looks like the "/" after moin.cgi isn't interpreted right. Btw, i always do get a 404-error. Any ideas?
The links at the bottom of my edit page are broken. The links that look like the following:
"For more help, see HelpOnEditing or SyntaxReference."
The links are in the form http://example.com/folder/SynataxReference when they should be in the form http://example.com/SyntaxReference. All other links work fine. Only those links refuse to point to the "root" of the server. Why didn't that link change and how do I change it appropriately?
Please file a bug on MoinMoinBugs.
I'm currently trying to run moinmoin 1.5.2 with Apache 2.0.64, python2.4 and mod_python 3.0.1. But I get the error [Sat Feb 18 18:48:37 2006] [error] make_obcallback: could not import mod_python.apache.! Any ideas as to what's wrong??
Try http://wiki.r2dvd.info/moin.cgi/Čeština. The problem with char encoding is noticable only if you type the url with utf-8 chars directly in your browser, if u come through the anchor above, everything is fine.
I'm trying to get desktop moin 1.6.0 running on my office computer which runs Windows XP. When I startup my instance from the command line I get this error:
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 25-30: unsupported Unicode code range
I'm not very knowledgeable about Windows: do I need to install an updated codec somewhere? -- AmElder 2008-01-14 19:59:40
I'm trying to attach a file to my page but when I click on the attachment I get the error "Embedding of object by chosen formatter not possible" and it takes me to the attachment page to download it. This is a word doc. I can get it to work using the do=get url but it is advised not to use that. I would like to use the attachment: option without having to go the attachment page to press download.
I am having a similar problem in both 1.6.2 and 1.6.3, I didn't seem to have this issue with 1.5.X, although I was also using a different platform. For some reason the wiki is trying to embed the attachment even though it shouldn't based on the mime type of the attached file. I was able to replicate the problem here in the WikiSandBox, so I would guess this is a bug. I will try submitting one. -- JonathanDelgado 2008-05-06 15:54:31
I've attached a file to one of my wiki pages and I can locate the file under WIKI/data/pages/PAGE/attachments (so the attachment process works fine). My problem is that I cannot get to the file from the wiki page. When I click the link to the attachement (link made using attachment:file.pdf) I get a blank page. According to /var/log/httpd-error.log, MoinMoin is looking for the file int the incorrect directory. I have my data_dir set in my wikiconfig, and the attachment makes it to that directory when I upload it, but MoinMoin looks in a different directory when I try to download the file. Any ideas? Thanks! Sean
Hi, I upgraded from 1.5.8 to 1.6.1. I followed the CHANGES instructions. The data upgrade script went through fine. After starting apache (I'm using mod_python, BTW) and trying the wiki in a Browser, only a traceback like the following occurs:
[Wed Mar 19 22:06:04 2008] [notice] mod_python: Creating 8 session mutexes based on 3 max processes and 25 max threads. [Wed Mar 19 22:06:04 2008] [notice] mod_python: using mutex_directory /tmp [Wed Mar 19 22:06:04 2008] [notice] Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 configured -- resuming normal operations ERROR:root:RuntimeError: maximum recursion depth exceeded in cmp Traceback (most recent call last): File "/usr/local/lib/python2.4/site-packages/MoinMoin/request/__init__.py", line 1248, in run self.page = wikiutil.getFrontPage(self) File "/usr/local/lib/python2.4/site-packages/MoinMoin/wikiutil.py", line 783, in getFrontPage return getLocalizedPage(request, request.cfg.page_front_page) File "/usr/local/lib/python2.4/site-packages/MoinMoin/wikiutil.py", line 752, in getLocalizedPage i18n_name = request.getText(pagename, formatted=False) File "/usr/local/lib/python2.4/site-packages/MoinMoin/request/__init__.py", line 273, in <lambda> self.getText = lambda text, i18n=self.i18n, request=self, lang=self.lang, **kv: i18n.getText(text, request, lang, **kv) File "/usr/local/lib/python2.4/site-packages/MoinMoin/i18n/__init__.py", line 257, in getText dicts = request.dicts File "/usr/local/lib/python2.4/site-packages/MoinMoin/request/__init__.py", line 366, in getDicts dicts.scandicts() File "/usr/local/lib/python2.4/site-packages/MoinMoin/wikidicts.py", line 376, in scandicts if Page.Page(request, pagename).mtime_usecs() >= self.pageupdate_timestamp: File "/usr/local/lib/python2.4/site-packages/MoinMoin/Page.py", line 704, in mtime_usecs for line in logfile.reverse(): File "/usr/local/lib/python2.4/site-packages/MoinMoin/logfile/__init__.py", line 110, in reverse self.to_end() File "/usr/local/lib/python2.4/site-packages/MoinMoin/logfile/__init__.py", line 342, in to_end self._input.seek(0, 2) # to end of file File "/usr/local/lib/python2.4/site-packages/MoinMoin/logfile/__init__.py", line 158, in __getattr__ return self._input File "/usr/local/lib/python2.4/site-packages/MoinMoin/logfile/__init__.py", line 158, in __getattr__ return self._input [... same stuff few hundred times ...] File "/usr/local/lib/python2.4/site-packages/MoinMoin/logfile/__init__.py", line 158, in __getattr__ return self._input File "/usr/local/lib/python2.4/site-packages/MoinMoin/logfile/__init__.py", line 132, in __getattr__ if name == "_LogFile__rel_index": # Python black magic: this is the real name of the __rel_index attribute RuntimeError: maximum recursion depth exceeded in cmp [Wed Mar 19 22:06:57 2008] [notice] caught SIGTERM, shutting down
Any clues on how the error could be fixed? Seems to me like some log file problem. Permissions are fine though. I'm open for any tips. -- BjörnSchließmann 2008-03-19 22:51:23
Looks like it can't access a page's edit-log. Please check owner/group/mode of your pages (and use chown -R x.y data ; chmod -R ug+rwX data to set correct owner, group and mode). Especially have a look at data/pages/*Dict/edit-log. If that does not help, apply this patch and retry: http://hg.moinmo.in/moin/1.6/rev/6b64b2cdef2f -- ThomasWaldmann 2008-03-19 23:14:22
Thank you for the quick help I managed to solve the problem. It was an edit-log, but not in data, but in underlay, as your helpful patch eventually showed (strange, I didn't touch this directory during the upgrade). BTW, is it normal that I have to re-install language packages after upgrade? This should be mentioned in the upgrade guide (or I missed it) -- BjörnSchließmann 2008-03-20 23:11:33
Hi, I've just upgraded from 1.6.0 to 1.7.2 with no problems.
However, when I access the wiki, many of the pages use the TableOfContents macro with the default code as follows:
<<TableOfContents([maxdepth])>>
But when this is rendered it fails with the following error:
<<TableOfContents: Argument "maxdepth" must be an integer value, not "[maxdepth]">>
I can work around this by entering an integer (e.g. 99) instead of maxdepth but that will be painful to change on all of the pages in my wiki.
Any ideas? is there a default to set for maxdepth somewhere?
Anyone else had this problem?
Thanks, Tom, UK
Maybe you have misunderstood its syntax. When describing some syntax, stuff like [foo] usually means an optional parameter called foo at that place, not that you should type [ f o o ]. So you either can leave it empty or enter an integer at that place. -- ThomasWaldmann 2008-10-17 02:48:19
Hi, thanks I know that but what happened in 1.6.0 was that when you applied the TableOfContents macro, using the GUI editor, it would default to include this maxdepth value, and when rendered, it would display the full tableOfContents. So the users of my Wiki tended to leave this asis which worked fine. Now I've got lots of pages which have this set which aren't displaying the TableOfContents properly
So maybe this is another symptom of the GUI editor as when using text editor you'd have to type the macro in anyway.
After upgrading from 1.6 to 1.7 on debian and creating a fresh wiki instance, I clicked on "login" where a line of text says (like in 1.6) I should go to UserPrefrences to create a new account. However that page does not seem to exist. I even searched /usr/share/moin for it, it simply isn't there. Also manually adding a "?action=newaccount" to the starting page url didn't help.
Thanks for any answers, Henning
Hi Henning, please read docs/UPDATE.html and do all steps mentioned there, you likely missed the step to install the new underlay dir to your wiki instance. The systempages and language packs of MoinMoin are kept in the underlay dir. -- ReimarBauer 2008-10-29 10:05:17
Thanks for the quick answer but that doesn't seem to be the problem. What I did was:
Also I tried renaming the underlay dir (to underlay.bak) which instantly lead to an error message on the new wiki, so it definetely searches in the right place. I also tried reinstalling the moinmoin package (with the package manegement system), and copying data and underlay from anew, but that didn't help either.
I'd guess theres something messed up with the debian package, but I can hardly imagine, since this problem occurs for months now and I can remember at least one new debian package version which did not fix this.
Henning
Darn, I finally found out, that not the underlay is the problem but a moinmoin version I had manually installed in /usr/local ages ago. (an "import MoinMoin" followed by a help(MoinMoin) showed me). Thanks for your time, nevertheless
np. Can you tell which MM version debian has now (1.7.x)?
At 2008-11-14 this is 1.5.3-1.2etch in stable, 1.7.1-2 in testing and 1.8.0beta1-1 in experimental. (Obviously I use testing ;))
I have moin 1.5.4 running on a hosted server with Python 2.4.3 . The wiki has run great for a long time. Then suddenly a couple months ago, every attempt to search has resulted in the same traceback error.
I'm reluctant to vertically bloat this section, so I've attached the traceback as an attachment, Davison_Unicode_Trace.html.
If it's helpful to recreate on the original site, here's my link: http://mycompiler.org/Compiler_Wiki/moin.cgi/FrontPage
I'm also trying to get help from my ISP, but I'm almost sure there will come a point where the Moin team can't help more without info. on the python install, and my ISP will think it's a problem with Moin.
Any help greatly appreciated!
Some ideas:
If ones looks at RecentChanges in that wiki, one finds another problem: the global edit-log is damaged in its structure (one can usually fix that with vim or so).
-- ThomasWaldmann 2009-03-02 07:23:53
I have a wiki (1.8.1) running on an intranet at work. I am super user and have no problems editing, but when some other users try to make an edit to a page, the page gets deleted. I have to then go back to the page's revision history and revert to a former version to resurrect the page. Any ideas?
Which OS, fstype do you use on the server? Which browser do you and which do they use? super user has nothing to do with storing a page. It is more for suid or to access some special macros.
The wiki is hosted on Ubuntu 8.10 with ext3 FS. The clients are using Win2K with IE6.
Problem solved: It turns out it was down to 'user error'. On clicking 'Save Changes' some users showed a little impatience by clicking 'preview' or 'cancel' buttons before the web page had refreshed back to the normal read-only view. This seems to cause the save operation to fail and the page disappears from the wiki. It is possible to re-instate the page by reverting to the previous version.
Is this a known bug/feature/vulnerability?
Many thanks for your help.
No, not known yet. Please file a bug. Try to reproduce it with Firefox or some other browser. Give more information about your server installation. Remove this section here after filing the bug. -- ThomasWaldmann 2009-03-11 10:25:00
Installed version 1.8.4 recently. While doing some changes in sources I've came across the problem that I do not get any traceback in the browser window when there are errors in python code. Just see the empty page. How do I switch this on? (in 1.5.5 I think I saw the traceback with default config).
Tried adding traceback_show=1 to my wikiconfig.py and enabling os.environ['MOIN_DEBUG']='1' in moin.wsgi, but that didn't help.. -- AlexanderAgibalov 2009-06-25 13:23:26
We have a wikifarm using version 1.8.2 with a common underlay folder. On one wiki after using maint reduce wiki, and recreating the pages folder with the reduced set of pages everything works fine. I ignore copying underlay folder pages. On the other it is not possible to save an edited page (preview is OK) and the error Page could not get locked (errno=13) is returned. If I try to delete a page, the error is SaveError has occurred in PageEditor.deletePage. We need locking there I am sure it is me not doing something, but what ? -- GerardODriscoll 2009-08-25 11:52:19
Look into data/pages/PageName and compare it to some page not making trouble. -- ThomasWaldmann 2009-08-25 12:58:08
All pages have the same problem. It appears that the maint reduce wiki is a red herring, so maybe it is the way I am doing this. In my clean up of the pages I had renamed the pages folder as pages.old (for a backup), created a new pages folder, and then copied the relevant pages from the output of the maint reduce wiki. If I rename the pages folder as pages.old, create a new pages folder and copy the HomePage from the .old to pages, manually clear the cache, then open the wiki, I can view the Homepage, but any attempt to save an edited version results in Page could not get locked (errno=13). If I create a new page from the HomePage (there are unresolved links of course) then I can edit and save it. If I then delete the pages folder, and rename pages.old as pages everything is OK. Is there something wrong with the way I am doing this ? -- GerardODriscoll 2009-08-25 15:45:50
Do you see a traceback, if so please attach it
No traceback on the error. I took this a stage further by
(i) Checked that wiki using the original pages folder opened the HomePage correctly, and that it was possible to edit and save. All works OK
(ii) Renamed the working set of pages as pages.old
(iii) Created a new pages folder, and copied all the contents of pages.old to pages. No. of files, no. of folders and sizes matched after the copy
(iv) Open the wiki, which immediately gave me the error in the attachment HomePage.htm.
(v) Manually cleared the HomePage/cache folder. This allowed me to open the wiki, but does not allow any edits to be saved. The same error is returned Page could not get locked (errno=13)
Maybe a filesystem permissions issue?
Correct - A permission not propagated correctly. Thanks for the pointer, sorry for the trouble.
As the heading says some users of our project wiki get logged out sometimes. This happens e.g. if you switch from GUI mode to text mode and vice versa.
I'm pretty close - I have MoinMoin running via Apache on Windows Server 2008. The only thing I'm having an issue with is all static content comes through missing the last 800 characters or so. Padding out the .js and .css files help deliver the relevant content, but that's not as easy with images. Any idea where to look? The dynamic content comes through OK, and I have a Django installation on the same server that is also working fine.
After a dist-upgrade from debian squeeze to wheezy, including a python version upgrade from 2.6 to 2.7, I found in the server's error_log
..... File "XXXXXXXXX/MoinMoin/i18n/__init__.py", line 257, in getDirection return languages[lang]['x-direction'] TypeError: 'NoneType' object has no attribute '__getitem__'
and fixed it with
./moin.py maint cleancache
Then I obtained
File "XXXXXXXXX/MoinMoin/Page.py", line 917, in parse_processing_instructions if args in i18n.wikiLanguages(): TypeError: argument of type 'NoneType' is not iterable
This is fixed by removing all *.pyc which have been byte-compiled for python2.6 .
Contents
Does MoinMoin Support Stackless Python explizit or are there any known issues? On MoinMoin 1.8.3 (Standalone Server) with Python 2.5.2 Stackless under Windows XP it works and I couldn't find in a short test any errors or traceback.
Python Version 2.5.2 Stackless 3.1b3 060516 (release25-maint:63825M, May 30 2008, 21:23:25) [MSC v.1310 32 bit (Intel)]
any feedbacks would be nice -- MarcelHäfner 2009-05-06 16:25:41
Answering myself: Stackless should be 100% compatible for use of normal Python code. If you have Stackless installed and you use Python code which does not make any use of the Stackless functionality, that code should behave exactly the same as it would in a normal Python installation http://zope.stackless.com/wiki/FAQ
I have set up moinmoin 1.8.2 with cgi successfully. My Config-Files, the moin.cgi, the data dir,.. are all in the folder /web/thiswiki/ . For cgi I used this apache config:
Alias /moin_css/ "/usr/share/moin/htdocs/" ScriptAlias /thiswiki /web/thiswiki/moin.cgi
which worked. Now I installed and loaded the apache WSGI-Mod. I tried this apache-config:
WSGIScriptAlias /thiswiki /web/thiswiki/moin.wsgi WSGIDaemonProcess thiswiki user=www-data group=www-data home=/home/www-data processes=5 threads=10 maximum-requests=1000 umask=0007 display-name=wsgi-moin WSGIProcessGroup thiswiki WSGIPassAuthorization On
WSGI is correctly loaded by apache. But If I wanna now access the wiki I'm always getting the error:
data_dir "data" does not exist, or has incorrect ownership or permissions. Make sure the directory and the subdirectory "pages" are owned by the web server and are readable, writable and executable by the web server user and group. It is recommended to use absolute paths and not relative paths. Check also the spelling of the directory name. Error in your configuration file "/usr/lib/python2.5/site-packages/MoinMoin/config/multiconfig.py" around line 189
But the data folder has the correct permissions and the WSGI-processes have the correct owner www-data. Any idea what goes wrong here?
show us the line of moin.wsgi you changed to point to the path of your wikiconfig.py and also show us the data = line of that wikiconfig.py -- ReimarBauer 2009-04-15 11:36:38
Please also report the actual mode of the data directory (e.g. drwxr-xr-x), the owner (at least whether or not it is the web server agent). You can use 'bash> ls -l ...' on the data directory to learn its mode and owner. You can use 'bash> grep -E '(User|Group) ' /etc/apache*/*.conf to learn the web server agent user and group, 2009-05-09 23:23:12
drwxr----- and dependent on your configuration www-data.www-data as owner is mandatory. -- ReimarBauer 2009-05-10 06:31:35
I had this same issue. For me the relative paths that had worked didn't when using wsgi. I had to change the data_dir and data_underlay_dir in wikiconfig.py to use the absolute path as suggested. Hope this helps anyone looking for an answer to this question, as I was.
Possible Resolution (for Linux): I've found that MoinMoin using mod_wsgi will work after disabling SELinux or, at least, changing to the enforcement to "Permissive". I was getting this same error using mod_wsgi. I tried using moin.cgi, which generated different but informative error message. Based on that error, I decided to disable SELinux. Afterwards, moin.cgi and moin.wsgi worked perfectly. This is a workaround, as it disables additional security features in Linux -- (Someone can reword/reformat this to better fit the context. I just wanted to make sure others were able to resolve this issue in the future -- CMD)
The correct way would be:
I completely can't avoid this error on Mac OS X Lion. Using CGI, I tried lots of different paths and directories for "data". Error still exists. Check it, please. Please join us on #moin chat.freenode.net, see MoinMoinChat if you don't have a client. Please prepare a pastebin with your config and verify that you modified the right. You get the config used in SystemInfo as superuser or in the server log.
The default 1.9.7 wikiconfig.py doesn't seem to set up the data_dir and data_underlay_dir correctly. Therefore I needed to fix the permissions, then:
-- Jeremy 2013-06-24
Is it possible to run the same desktop wiki from the memory stick once on Windows XP PC and later on Mac and back? What I should do to be able to do so?
winstart.cmd: python27_win\python.exe wikiserver.py
macstart.sh: python27_mac/python wikiserver.py
Then point your browser @ http://localhost:8080/ @sig@
I've followed the instructions at HelpOnXmlPages, but cannot get the DocBook renderer to work. I'm running on a Windows Server 2003 box (IIS ver 6.0), and have MoinMoin 1.5.8, Python 2.5.1 and 4Suite-XML 1.0.2 installed. XSLT is enabled, everything according to the setup instructions.
However, when I click on 'Render as DocBook', I get the 'You need to install PyXML to use the DocBook formatter' error. Is there something I'm missing? I'm not a Python expert, so I'm struggling to trace the error and see whats going wrong. Any ideas?
Keith Fletcher, 2007-10-19
I have the same trouble with bulleted lists as described above (no scheme is being shown). But I cannot find any reason or solution. I am running Suse Linux 10.1 as admin. Wiki itself is working fine.
My wiki is called DaCapo and stored at /wiki/DaCapo
My Apache-Entry:
Alias /wiki/ "/usr/share/moin/htdocs/" ScriptAlias /DaCapo "/wiki/DaCapo/cgi-bin/moin.cgi" <Location /DaCapo> order deny,allow deny from all allow from localhost allow from 192.168.1.254 AuthType Basic satisfy any </Location>
My setting to /wiki/DaCapo/cgi-bin/moin.cgi
sys.path.insert(0, '/usr/lib/python2.4/site-packages/ ') sys.path.insert(0, '/wiki/DaCapo')
My wikiconfig.py entries:
logo_string = u'<img src="/wiki/DaCapo/DaCapo.png">' data_dir = '/wiki/DaCapo/data/' data_underlay_dir = '/wiki/DaCapo/underlay/' url_prefix = '/wiki'
If I try http://localhost/wiki/modern/css/screen.css then I get "access denied".
Could anybody help me? Thank you very much, Matthias
Finally I found the error. To others having the same problem: Please check HelpOnInstalling/ApacheOnLinux (does no longer exist >> Apache docu) at the end. The following worked fine within httpd.conf
Alias /wiki/ "/usr/share/moin/htdocs/" <Directory "/usr/share/moin/htdocs/"> Order deny,allow Allow from all </Directory> ScriptAlias /DaCapo "/wiki/DaCapo/cgi-bin/moin.cgi" <Directory "/wiki/DaCapo/cgi-bin/"> Order deny,allow Allow from all </Directory>
I have a personal homepage hosted at a provider. Updating is easy done by uploading the HTML and PHP code. I don't have access to /usr or similar directories. How do I install MoinMoin there ?
-- Thomas 2007-03-04 15:21:01
Ok - i did a workaround: In installed moinmoin on my home-PC's home directory: /home/myname. It took some time to figure qout which files to edit and how. Finally I had a wiki running at http://localhost/:8000 using the moinmoin-internal server. Should be easy to transfer that to my home-directory at my provider - I thought. I copied all moinmoin directories from my local home directory to my provider. I then edited all config files as described for the cgi installation. Finally I ended with this error message:
from MoinMoin.request import RequestCGI
ImportError: No module named MoinMoin.request STDOUT OK STDERR OK -- Thomas 2007-03-04 15:21:01
wikis = [ ("ProductionDeveloper", r"^server/proddev/.*$"), ("ApplicationDeveloper", r"^server/appdev/.*$"), ]
Could not find a match for url: "server/FindPage". Check your URL regular expressions in the "wikis" list in "farmconfig.py".
and
Could not find a match for url: "server/proddev?action=edit". Check your URL regular expressions in the "wikis" list in "farmconfig.py".
wikis = [ ("ProductionDeveloper", r"^proddev.server/.*$"), ("ApplicationDeveloper", r"^appdev.server/*$"), ]
Thank you for your time in advance BobStrickland 2006-04-18
I tried following the readme to get MoinMoin to work, but it tells me to put some stuff into httpd.conf, which is the apache1 way of doing things. When I did it anyways, it didn't work. So, where in the apache2 config do I put this:
Alias /wiki "/usr/share/moin/htdocs/" ScriptAlias /MyWiki "/var/www/moin/moin.cgi"
I think: /etc/apache2/sites-available/default
-- kamagurka 2006-08-24 09:24:20
For IP-based hosting, try /etc/httpd/conf/vhosts/Vhosts.conf and for name-based, try /etc/httpd/conf/vhosts/nameBased/whatever.conf. Hope that helps.
To store user options there should be a file /etc/apache2/httpd.conf beside the file apache2.conf. You can then put the stuff in httpd.conf and it will be respected by apache after a restart of the Service /etc/init.d/apache2 restart
If this file is not present and is not respected after creation just put the lines in /etc/apache2/apache2.conf
A better way may be the use of a virtual host, so you get rid of the /mywiki/ addition to the URL. So it looks like http://example.com instead of http://example.com/mywiki
-- RalfMoerler 2008-05-16 07:07:30
I have converted a Wiki from an ancient (pre 1.0) version to the latest one. It seems to work fine, but I don't get an RSS feed for the RecentChanges. Do I need to explicitly enable anything for this to work? -- twm 2025-01-21 01:22:26
To answer my own question:
The rss feed is only available if you use a recent version of python (2.5?), or if the pyXML package is installed. No additional configuration is required. -- twm
I've followed the guide FastCGI to the letter, but I get no CSS while it still find the themes. How do I make the server find the htdocs directory?
$HTTP["host"] == "localhost" { alias.url += ( "/wiki/" => "/the/path/to/htdocs/" ) }
When I view www.example.com/cgi-bin/moin.cgi/ in my Browser everything works fine. But when I omit the last slash (i.e. www.example.com/cgi-bin/moin.cgi) I don't start on my page_front_page and MoinMoin complains that the page cgi-bin/moin.cgi does not exist yet. What did I do wrong? What info do you need to help?
Is it possible that there is an extra slash in the apache conf corresponding to the following line from HelpOnInstalling/ApacheOnLinux?
ScriptAlias /mywiki /usr/local/share/moin/mywiki/cgi-bin/moin.cgi
2009-05-09 07:07:30
I am on a host that requires using cgiwrap so moin.cgi runs as my userid, saving the caches and pages so they can be edited by that same userid (I can't edit pages saved by the httpd user). My wiki URLs look like this: http://www.scons.org/cgi-sys/cgiwrap/scons/moin.cgi/FrontPage.
I have no trouble using mod_rewrite in my .htaccess to rewrite /wiki/FrontPage to the above ugly URL, but the links in the wiki pages all still have that long ugly form (I guess moin.cgi is looking at its own URL and using that as the base for the links). Is there a way in the config file or by changing the code to have the wiki links use my /wiki/FooPage syntax? -- GaryOberbrunner
Try editing your CGI script (moin.cgi) so that the properties in the Config class are as follows:
properties = {'script_name': '/wiki/'}
This should tell MoinMoin to use something else for constructing URLs. -- PaulBoddie
I've just installed the latest version of Moin-1.5.3 on a WinXP machine (SP2) running a fresh installation of Apache2.2.2. I appear to be getting the following problem reported in Apache's error.log file:
[error] [client 140.79.20.85] client denied by server configuration: C:/Server/Moin/mywiki/moin.cgi
When checking moin.cgi (by saving as test_moin.py and running in Python IDE) the following error results:
Traceback (most recent call last): File "C:\Program Files\Python24\Lib\site-packages\MoinMoin\request.py", line 1372, in __init__ msvcrt.setmode(sys.stdin.fileno(), os.O_BINARY) IOError: [Errno 9] Bad file descriptor
Just wondering if anyone has come across this error before, it appears that there might be a permissions clash, however the installation/setup.py has ensured that all created directories are read-only. I've attempted to change these, however they return to read-only after the change is "complete" - what Moin directories/files specifically require read/write access?
I've also checked all paths etc and everything looks about right to me... can someone help here?
I do think this is mainly caused by your apache configuration. Have you read http://www.raditha.com/blog/archives/000896.html. Please provide your apache config file if this does not help. -- MichaelRau 2006-05-04 18:10:42
Thanks Michael, from your link below it appears that the configuration file (httpd.conf) of the Apache 2.2 (2.2.2) install might be the problem here... You've indicated that the additional security in this updated release might be the conflict (which causes the document root for the virtual host to become inaccessible)... Can you clarify your resolution for me however... you suggest commenting out the access configuration stuff (what exactly are you referring too here?), or a better solution, to add "Order deny,allow Deny from all" to the virtual host block... Sorry to be a dum dum here, but can you explicitly outline what you suggest here? I am able to browse the default file in the htdocs directory, just not the (mywiki) sub directory... -- Thanks Paul 2006-05-04 07:30:56
I have not seen your httpd.conf file (read http://httpd.apache.org/docs/2.0/configuring.html). But I think, that the order directive is wrong (read http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order). Here are the important directives in my httpd.conf file.
AddHandler cgi-script .py <Directory "%root%/home"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> # ============================================================================== # MoinMoin wiki # ============================================================================== Alias /wiki/ "%root%/Python24/share/moin/htdocs/" ScriptAlias /emnosWiki "%root%/home/Moin/emnosWiki/moin.cgi" <Directory "%root%/home/Moin/emnosWiki/"> AllowOverride All Allow From All Options +ExecCGI </Directory>
-- MichaelRau 2006-05-04 21:32:41
It appears after completing the suggestions above to the Apache conf file, the error is now a (500 Internal Server error) with the error log indicating:
[error] [client 140.79.20.85] (OS 2)The system cannot find the file specified. : couldn't create child process: 720002: moin.cgi [error] [client 140.79.20.85] (OS 2)The system cannot find the file specified. : couldn't spawn child process: C:/Server/Moin/mywiki/moin.cgi
Any more suggestions? I think/hope it's getting closer... -- Paul 2006-05-08 03:30:56
Thanks for the clarification here Michael, it was indeed my shebang statement in the moin.cgi file. As Python sets itself in the system path during install "#!python" does indeed work. I've now managed to hit another "permissions" error, this time the Apache error.log file reports:
[error] [client 140.79.20.85] client denied by server configuration: C:/Program Files/Python24/share/moin/htdocs/common/js/common.js, referer: http://bs4x51s-hf/mywiki/ [error] [client 140.79.20.85] client denied by server configuration: C:/Program Files/Python24/share/moin/htdocs/modern/css/common.css, referer: http://bs4x51s-hf/mywiki/ [error] [client 140.79.20.85] client denied by server configuration: C:/Program Files/Python24/share/moin/htdocs/modern/css/screen.css, referer: http://bs4x51s-hf/mywiki/ [error] [client 140.79.20.85] client denied by server configuration: C:/Program Files/Python24/share/moin/htdocs/modern/css/print.css, referer: http://bs4x51s-hf/mywiki/ [error] [client 140.79.20.85] client denied by server configuration: C:/Program Files/Python24/share/moin/htdocs/modern/css/projection.css, referer: http://bs4x51s-hf/mywiki/ [error] [client 140.79.20.85] client denied by server configuration: C:/Program Files/Python24/share/moin/htdocs/common/moinmoin.png, referer: http://bs4x51s-hf/mywiki/ [error] [client 140.79.20.85] sys:1: DeprecationWarning: Non-ASCII character '\\xfc' in file C:/Server/Moin/mywiki/moin.cgi on line 10, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details\r
The default wiki page is viewable, however the stylesheets and icons are not accessible, and consequently, the page looks a little more chaotic than it should...
Michael I've made incorrect assumptions before, so (instead of guessing) I'm wondering if you can shed some light on this error, and possibly help me on the way to a shiny new fully-functioning wiki 1.5.3
-- Paul 2006-05-09 23:47:41
Maybe I'm starting to learn something here...
Additional to the Moin directory C:/Server/Moin/mywiki the htdocs dir C:/Program Files/Python24/share/moin/htdocs/ also needs it's directives changed (like below, appended to the end of the httpd.conf file):
# MoinMoin installation 13.21 9/5/2006 # Following values appended to the default Apache httpd.conf file Alias /wiki/ "C:/Program Files/Python24/share/moin/htdocs/" ScriptAlias /mywiki "C:/Server/Moin/mywiki/moin.cgi" <Directory "C:/Server/Moin/mywiki/"> AllowOverride All Allow From All Options +ExecCGI </Directory> <Directory "C:/Program Files/Python24/share/moin/htdocs/"> AllowOverride All Allow From All Options +ExecCGI </Directory>
Mike, are there any dramas with giving this level of access to both directories?
Thanks for all your assistance -- Paul 2006-05-09 03:25:41
Running Desktop edition (with Python installed) for a year. Love it. Want to upgrade to Apache for improved performance. (Vanilla CGI will be plenty; don't need mod_python or fastcgi.) However, following the standard instructions to install MoinMoin under Apache results in different URLs for all the pages, which would break all bookmarks.
Desktop edition looks as though the server is dedicated to that application, at least on the chosen port. So
goes directly to FrontPage, as desired. And a typical page in the wiki is at
When I install under Apache, I seem to need to identify the name of the wiki in the URL all the time. (I've done this as an experiment, not yet on the live system.) So now
goes to the Apache webroot/index.html rather than to the wiki. To get to the front page of the wiki, I need
and internal pages are like
That is, the "mywiki/" element needs to appear in every URL. Lots of users have stored bookmarks without the wikiname in them, and I would like not to break them all. How do I setup Aliases or VirtualHosts or whatever in Apache to get the same behavior as the old Desktop edition?
Help, please. Thanks in advance. -- RickLandau 2007-05-11 13:35:33
Use a virtual host on apache, so you get rid of the appendix to the URL. I read in some places that using mod_rewrite and .htaccess is the solution but the apache site recommends using virtual hosts instead of .htaccess rewrites because this causes additional server usage by querying the directories for the .htaccess files.
Here's a sample that works for me on our Intranet. (Replace the <variables> with your values)
NameVirtualHost <IP-Adress>:<Port> <VirtualHost <IP-Adress>:<Port>> ServerName <mysystem.example.com> ServerAdmin <YourMailAdressHere> Alias /wiki /usr/share/moin/htdocs ScriptAlias / </your/wiki/cgi-bin/>moin.cgi/ ErrorLog </var/log/apache2/wiki_error.log> LogLevel warn CustomLog </var/log/apache2/wiki_access.log combined> ServerSignature On </VirtualHost>
Also take a look at the http://httpd.apache.org/docs/ Apache documentation for your Version.
-- RalfMoerler 2008-05-16 07:07:30
Is it advisable to store the whole installation directory of the Desktop Edition on a memory stick? I would like to have it portable and since those sticks are now large enough, that sounds like a good idea. But what about writing cycles? Can I/should I maybe disable caching?
yes, you could put DE on a stick, works fine. Do you speak on caching for the wiki or for the stick? -- ReimarBauer 2006-01-08 13:59:22
Caching for the wiki. I was thinking about limiting the storage space required. Since I don't know how moinmoin works, I am concerned about the limited number of writing cycles of those media. It might write something to the same area of the stick over and over again and killing it within a few weeks by doing that.
btw. better you add next time questions at the end of this text. -- ReimarBauer 2006-01-08 13:59:22
I thought adding it in front was what was expected since it says "Add your new questions here" there. I have just added "(at the end)"
Is there a version of MoinMoin which will run on an AMD64 computer running Fedora Core 4? Thanks!
Do you mean that you're looking for an RPM? Otherwise, try installing the tarball using the instructions on this site. For "standalone" mode, it's fairly easy on any OS including Linux. -- TomPurl 2025-01-21 01:22:26
Thanks! I've got it up and running. I was pretty sure that it would work, but I'm really short of time and thought that I had better be proactive in posting a question.
I use mod python and the following Apache setup allow me to do root wiki without moinmodpy
RewriteEngine On RewriteLogLevel 0 RewriteRule ^/robots.txt - [last] RewriteRule ^/wiki/ - [last] RewriteRule ^/images/ - [last] RewriteRule ^/cgi-bin/ - [last] # User Dir RewriteRule ^/~(.*) - [last] # Root Wiki RewriteRule ^/?(.*) /mywiki/$1 [last] <Files mywiki> # Use mod_python as handler SetHandler python-program # set the path to the MoinMoin package and to the moin_config.py # PythonPath "['/path/to/moin/lib/python','/path/to/moin/config']+sys.path" PythonPath "['/var/www/localhost/mywiki']+sys.path" # choose the ModPy Request class as handler PythonHandler MoinMoin.request::RequestModPy.run </Files>
It seems to work fine for me now. Is there any problem or limitation with using this method?
My default install of MoinMoin has no theme. Everything that would normally be in a sidebar or along the top just appears as plain-looking text. Menu items are in a bulleted list. My install must be screwed up somehow (file locations or permissions) but so far I've not been able to find the problem.
Some details:
Installed MoinMoin to the directory /srv/www/MoinMoin
Can someone offer suggestions on how to troubleshoot this?
Thanks! --SteveDavison
Obviously your /wiki (?) url_prefix doesn't work or your apache alias configuration doesn't match the moin url_prefix configuration. You can try this without moin by accessing http://server/wiki/modern/css/screen.css (it should show some css source code in that case). -- ThomasWaldmann 2006-01-19 08:34:00
--> Solution:
Went through all the installation instructions again... I had missed the step to set up an alias in Apache that points to the moin htdocs... Once I added this, everything worked beautifully. (I think in this case, "/srv/www/MoinMoin/" is what is referred to as my MoinMoin "prefix"?)
Alias /wiki/ /srv/www/MoinMoin/share/moin/htdocs/
Q1. I am trying to create a standalone moinmoin wiki on a linode running debian and apache. I have python 2.3 and 2.4. I am using 2.4 for this installation.
I installed to /var/www/moin_python2.4/ in /var/www/moin_python2.4/ the folders are bin, lib, share, test_wiki.
In /var/www/moin_python2.4/share/moin/config/ there is a wikiconfig.py file and also in /var/www/moin_python2.4/share/moin/test_wiki there is a wikiconfig.py file.
I am not sure which I should modify and i am supposed to move the moin.py to the place where wikiconfig.py is but there are two wikiconfig.py locations so which should I move it to? Where should I copy the moin.py file from and what changes to I need to make to it? Also do I need to save it to /usr/bin/env or somewhere?
Q2. I am trying to create a standalone moinmoin wiki on a linux machine running debian. Following the instructions on http://wiki.debian.org/HelpOnInstalling/BasicInstallation, i did a 'python setup.py install --prefix=$HOME/PersonalWiki/MoinMoin'. Then I followed the instructions here to create an instance of the wiki. Then I followed the instruction here on copying moin.py to this directory and inserting the required paths. When I run moin.py I get the following
Usage: moin [command] [general options] command subcommand [specific options] ... FATAL ERROR: You must specify a command module and name: ...
.... File "/home/ganesh/PersonalWiki/MoinMoin/lib/python2.5/site-packages/MoinMoin/server/__init__.py", line 70, in __init__ . "setting and permissions." % self.docs) RuntimeError: Can't access docs directory '/usr/share/moin/htdocs'. Check docs setting and permissions.
I tried changing the Defaults in the Config class, it wouldn't work !
A: If you want a standalone wiki, just download the current MoinMoin release, uncompress it, run ./wikiserver.py and you're done.
Q: I am using the standalone setup and I want the entire wiki to have a base url, eg http://my.machine.net/foo/FrontPage rather then the current http://my.machine.net/FrontPage.
Is this possible? If so, how?
A: I did it by editing the 'wikiconfig.py' file and the 'httpd.conf' files to point to the new url I wanted, then I manually used the rename function to move the pages over. I guess that would only be of help if there are not too many pages! I do, however, believe that renaming pages can be done as a batch process - but I've never attempted it.
You should probably check which SCRIPT_NAME value your web servers passes to MoinMoin via (F)CGI, e.g. by using a test script like printenv. MoinMoin uses this request variable to determine a suitable prefix ('base' URL). If it doesn't match your specific expectations / needs, a rather crude hack is to simply overwrite it in moin.cgi or wikiconfig.py using something like
os.environ['SCRIPT_NAME'] = '/foo'
(This may be feasible for small, local wikis - but is probably not a good idea for larger installations.) See: http://osdir.com/ml/web.wiki.moin.general/2005-02/msg00138.html. -- bnortmann 2013-08-09 09:22:51
A: I did this under Nginx using Gunicorn as the WSGI server, with the wiki instance served from a subdirectory of the root URL on the site. The configuration for this case was web server and WSGI server dependent and not clearly documented. MoinMoin deployment in the case that the wiki is served from the root of a site is simplistic and works with very little additional configuration; when served from a URL prefix, additional steps are needed:
A location block should be configured in Nginx to handle the URI path on the server from which MoinMoin will be served.
The proxy_pass directive should be accompanied by at least a proxy_set_header directive that adds a SCRIPT_NAME header with the value of the URI prefix in order to pass it to the Gunicorn.
The url_prefix_static option in the MoinMoin wiki instance configuration should be modified to include the same URI prefix.
A working Nginx configuration sample to deploy a MoinMoin wiki from http://www.example.org/home/wiki/ is as follows:
location /wiki/home { try_files $uri @wiki_home_rewrite; } location @wiki_home_rewrite { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header SCRIPT_NAME /wiki/home; proxy_redirect off; proxy_pass http://127.0.0.1:8001; }
Rather terse documentation on this required variable set via request header is referenced at http://gunicorn-docs.readthedocs.org/en/latest/faq.html.
We are running a MoinMoin-Wiki at Version 1.0. Now we plan to upgrade the Wiki to the current release, but I've noticed some basic changes (pathes, encoding). Is there an existing script for migrating old data to the new format?
There is no menu entry for "subscription" and also the subscribed pages from the UserPreferences are gone. I did just an "emerge =moinmoin-1.5.1 && /etc/init.d/apache2 reload". Any hint? -- -- TobiasPolzin 2006-01-30 20:17:40
Is mail right configured, do check if mail_from in your configuration wikiconfig.py is right used -- ReimarBauer 2006-01-30 20:27:10
Thanks! Yes, Moinmoin 1.5.0 did not care, but 1.5.1 does. -- TobiasPolzin 2006-01-30 21:07:48
(No, the existing documentation doesn't help.)
Q: I am not sure I completely understand the technical concept and working of a wikifarm (though I know I would like to have one Is the main idea to have different URL aliases always pointing to/executing .../myfarm/moin.cgi which then invokes farmconfig.py to match the url and execute specific wiki configuration?
A: Exactly.
Q: I've got the basic part working: every request like '.../myfarm/wikiOne/FrontPage' maps to .../myfarm/moin.cgi which invokes farmconfig.py, matches the url against regular expressions and loads the FrontPage from the correct data directory (different title pages, easy to recognise for testing). Then I have a problem: all the system generated links (such as RecentChanges or Edit(Text), etc) displayed on the FrontPage point to .../myfarm/moin.cgi/some_page (like .../myfarm/moin.cgi/RecentChanges). The 'wikiOne' - wiki name in the url - is missing. What have I missed in configuring the farm? I am doing this on IIS and if I make it work, I will describe the procedure here in more detail.
A: Your initial assumption is wrong. For each member of your farm, you need to point to its own moin.cgi (however they will all be identical), i.e. '.../myfarm/wikiOne/FrontPage' maps to .../myfarm/wikiOne/moin.cgi. Then use entries like
("wikione", r".*wikiOne.*$"),
in jour wiki list in farmconfig.py and put individual config in wikione.py etc.
Here's how to do it on IIS:
extension .cgi, executable "D:\Python23\python.exe" -u %s %s, check "script engine" only
enable anonymous access for user IUSR_<name_of_server>
test it with http:/your_server/wikiOne/moi.cgi
Do not bother to remove the moin.cgi from URLs - there are ways to do this partially with some redirection and patches but none of them will be satisfactory - you will always end up with the long URL in the end. If you don't want that, use Apache.
Install moin as described in the help. When the help tell you to copy the data directory from /usr/share/moin/, copy instead the data directory from your wiki directory on the other machine. Copy also your config files and update the paths if needed.
Is there a way to have Moin installed on a server that you don't have shell access to, and you can't change any Python files?
See HelpOnInstalling/ApacheOnLinuxFtp
I cannot get python to recognize Moin. I have edited the moin.cgi under the instance and added sys.path.insert (0, c:\moin\lib\site-packages') but it does not seem to help. If I try the python import test, I get the error. Any help would be appreciated.....I am running windows 2003 sp1
I just installed Moin 1.3.4 on an Windows 2k3 server running IIS6. I installed Python 2.3.5. When I try to access my new wiki, I get "error 403 Forbidden...not authorized".
Please look into your server error log.
CGI gate is quite slow. There is an MoinMoin ISAPI to invoke wiki from under IIS. And its quite easier to config than CGI gate. Note that this is only tested through version 1.3.5 of Moin. Later releases are said to have issues with the ISAPI.
Q: I am getting the error "The specified CGI application misbehaved by not returning a complete set of HTTP headers." There is a note below regarding Python versions, but my versions match the install instructions so I don't think that's it. I'm using Win2k3 Server, IIS, Python 2.3.2, Moin 1.2.2.
Also, when I try to add the Application Extension Mapping, I append the -u %s %s to the executable line, but the dialog complains unless I enclose them in quotes. Could this be the problem? My executable line looks like this:
c:\python23\python.exe -u "%s" "%s"
A:In addition for Windows installations there are two levels of security permission checking - one at the IIS level and other at the file system level. So make sure that
You enable anonymous access in the directory security tab (Anonymous access and authentication control -> Edit)
You give write permissions to the Anonymous internet user (IUSR_YOURMACHINENAME) for the xyzwiki folder on your filesystem (right click -> sharing and security -> Add user and give the above user write permissions as well)
A: I had this problem.To get it working I did the following:
"C:\python23\python.exe" -u %s %s
The moin installation wasn't correctly included on my PythonPath. To see if this is a problem try running the following:
> C:\python23\python.exe >>> import MoinMoin
If that raises an exception, you need to check the PythonPath is correctly configured. It worked after I ensured C:\moin\Lib\site-packages was on the PythonPath. PYTHONPATH is a key in the System Environment Variables found by right-clicking My Computer and going to the advanced tab.
A: The same CGI error occures if you forget to set the path to wikiconfig.py in moin.cgi. I did.
A: This CGI error can also occur on a IIS-based Moin installation when the IIS engine somehow loses the ability to spawn Python CGI processes correctly. Watch the Task Manager for python processes as you quickly refresh the Wiki. If IIS is spawning the process correctly, you should see a python process appear for each successive page request. If it is not, you will see IIS attempt to double the memory for an existing python process and then return the "misbehaved" error. To fix this, reboot the machine--a simple iisreset does not seem to help.
Q: I have tried all the above suggestions. It still does not work. I am trying to install on IIS 6.0 windows server 2003, python 2.5.1, moinmoin 1.6.1. I followed all the instructions carefully. I have given all the permissions in the answers above also. I tried the above suggestion_ IIS is correctly spawning python cgi processes as I can see python processes as i refresh the browser. I don't know what's wrong. But, I had this message "Environment variables in file names will not be expanded" when I tried to create python cgi the web service extensions on IIS with the following values_
extension name : python cgi Files required: D:\python25\python.exe -u "%s" "%s"
Can this be the problem cause?
A: I resolved this CGI error on Windows Server 2003 by changing the line
logging.info("logging initialized")
in moin\Lib\site-packages\MoinMoin\server\__init__.py in moin 1.6.1. This line caused the line "logging initialized" to be printed before any header information and thus causing the above error message. I changed the line to
#logging.info("logging initialized")
and got my first wiki page served.
A: I (foxhop) also had this error after editing the wikiconfig.py file. It seems I pasted in some bad text that corrupted the file. After deleting the text the error went away...
I've installed MoinMoin on an IIS server and notice that it seems necessary to always specify /moin.cgi/ in the URL to get it to work, whereas on this wiki and some others, I don't see that. Is there a configuration setting to get IIS to work this way, too?
That question is quite IIS specific. You should ask people that know more about IIS in order to get an answer. I am sure that IIS allows such aliases.
Could you tell me how it's done on any other server and maybe that'll be the clue I need to know what to search for to figure it out?
In Apache for example, you have to set two Aliases: one that maps /wiki to the static htdocs files and another one too map / to the CGI file of MoinMoin. See HelpOnInstalling about this. Feel free to enhance the documentation after you found out how it works.
A: This is easy in IIS... edit the properties on your virtual directory and go to the documents tab. Put "moin.cgi" in the list of documents and move it to the top. That's it.
So my new moinmoin installation shows the initial page beautifully but won't show any non-existing pages. MyStartPage, and any new page I edit in (edit works) just take me to a 404 error when I click on them. Any ideas? I've set R/W access to the virtual directory, and to the /data and /underlay folders, and I've given everyone full access to those directories through Windows. Any ideas?
I got the same problem, is there a chance to solve it? Installed on IIS, Virtual Directory has r/w, and everybode has full access to the moin folder. So how to fix this? Everything works, but I can't create pages, because they are "not" found. I had the error, that to page at all (only "moin.cgi") had been found, this could be fixed by unchecking the option "check for existence of files" (or similiar, translated be me into English) in the IIS.
Messing with the sandbox on my server - whenever I try and edit a page and save it, i get a 500 internal server error. When I refresh the pages, the changes have been saved, but i can't alleviate the issue. Why is this happening?
I ran into this also and found the problem was no permissions to edit <mywiki>/data/edit-log. I think this happens if you add IUSR_<computername> to the data folder permissions after you've already edited a page once. I simple removed the edit-log file and let MoinMoin recreate it and all was good. There were error messages complaining about this in the error-log file. --DavidAvraamides
I configured my wiki at http://example.com/foo/bar/wiki using Apache and mod_python. When I access /foo/bar/wiki/FrontPage moin try to access page bar/wiki/FrontPage, instead of accessing page FrontPage.
This is a limitation of mod_python. MoinMoinBugs/ModPyWikiOnlyOneDirDeep explains the problem and contains a patch to make this possible.
I'm installing on a Linux ISP with Python, CGI, Apache, no admin access. I started as described on HelpOnInstalling/BasicInstallation by downloading, ensuring I had Python, unzipping into a temporary directory, and calling setup.py.
Unfortunately, setup.py provokes an 'out of quota' error from my ISP's system. This appears to happen while copying the pages in wiki/underlay/pages, and is either because I've hit the ISP's limit of 12000 files (I already have lots of other files there), or because I've hit the limit on total size allowed. Is there a quick way to delete languages I don't need, because there are lots of language-variant pages. Removing them will probably solve my problem, but I don't want to have to delete them one at a time by hand.
Also on storage, how much of setup.py is just copying files from a subdirectory where Moin was downloaded to its final location? If I could replace this by moves, it would avoid having two copies of the directories being copied, which would also help my storage.
See ScriptMarket/RemovingUnwantedLanguages
I can not seem to get the latest version of MoinMoin configured correctly to process html. After a clean installation of MoinMoin what steps do I need to take to set up processing of HTML?
I to am having this problem. With 1.5.1 I attempt to place the #!format htmldirective at the top of a page and then I place the raw HTML. I expect moinmoin to render the page as HTML as per instructions I saw somewhere but nothing happens. There is mention that the HTML parser is not considered secure and has to be "turned on", but I see no mention of how to do that.
Where did you have read this?
Read this in the FrequentlyAskedQuestions on the section for Can I add HTML to the wiki
you have at first to copy the html.py from ParserMarket into your local wiki data/plugin/parser dir. Then there are two methods to use it one is to use the pragma #format html and the other to use a pasrser call { { {#!html} } } -- ReimarBauer 2006-02-03 21:13:19
I'm trying to install moin-desktop-1.3.4-2.exe and Python-2.3.4.exe. When running python setup.py install, I found there is no setup.py. I can't find also any moin.cgi file.
The 1.5.0 docs/README.migration files says to just read CHANGES. But docs/CHANGES does not give instructions under the 1.5.0 heading.
HelpOnUpdating describes the updating process.
When following the install instructions HelpOnInstalling/ApacheOnLinux I get following error:
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Apache/2.0.54 (Fedora) Server at localhost Port 80
This error is the result of SELinux (Security Enhanced Linux) target policy. To disable SELinux on http requests in Fedora Core (4) click System Settings -> Security Level and on the SELinux tab check the Disable SELinux protection for httpd deamon checkbox in HTTPD service section. This is not the perfect solution and if you care of security you should tweak SELinux file permissions properly. This page describes SELinux and its Apache policies in Fedora.
Q: I am getting the error "The specified CGI application misbehaved by not returning a complete set of HTTP headers." There is a note below regarding Python versions, but my versions match the install instructions so I don't think that's it. I'm using Win2k3 Server, IIS, Python 2.5, Moin 1.5.5a.
Also, when I try to add the Application Extension Mapping, I append the -u %s %s to the executable line, but the dialog complains unless I enclose them in quotes. Could this be the problem?
Q: My server company says they have version 2.4.3 of Python running, but when I run the pythontest.cgi script provided on this wiki, nothing comes up for python. What gives? Should I go ahead and try installing the wiki?
A: First make sure that you have execute permission enabled on pythontest.cgi. I had the same problem until I realized I (as file owner) could read and write the file, but not execute it. You might have the same problem with moin.cgi.
Q:In a wikifarm installation I am getting: "Configuration Error: data_dir "/usr/local/share/moin/wikifarm/wikis/linuxwiki/data" does not exist, or has incorrect ownerships or permissions. Howevwer, the permissions are correct and set to nobody (The Apache user) and read write execute. The directory does exist but is empty. I use the absolute path in the config file.
Q:I followed the instructions on how to install and configure MoinMoin, but when testing the wiki, the server barfs with the following message:
[Tue Dec 19 15:45:33 2006] [error] [client 127.0.0.1] Premature end of script headers: /usr/local/share/moin/mywiki/moin.cgi Traceback (most recent call last):
from MoinMoin.request import RequestCGI
ImportError: No module named MoinMoin.request
I found the MoinMoin module in the tar distro, but nowhere under the installation directory (/usr/local). Where should the MoinMoin module go?
A: Try installing Python with the developer headers. I've had the same problem and reinstalled Python with the developer headers, after this the import error was gone. You might check if an installer.log exist when you install MoinMoin with the installerlog option. If not, the setup might not have run correctly, ergo Moin will not work.
Q: After installing MoinMoin over FTP and a minor problem with css, the wiki finally runs, but all links on the main page dont work since they reference moin.cgi : e.g. http://www.myserver.de/cgi-bin/moin.cgi/SystemPagesSetup I get that this might have something to do with apache aliases, but thats something I cant configure since its a hosted server. Is there anyway to solve this ? (MoinMoin is 1.5.6 and Python 2.3.4)
I have both Apache and Python installed and running, and installed MoinMoin as explained in the install.html. Still, I keep getting a "403 - Access denied". I can not even run the diagnosis (...=?action=test)
I have edited the moin.cgi and httpd.conf as indicated.
The error.log of Apache shows "[client 127.0.0.1] client denied by server configuration: C:/moin/mywiki/moin.cgi". If I run Python and do "import moinmoin" it tells me no such module exists. What am I missing?
A: Don't know about the importing part but I solved similar error (same Python and Apache version) by adding access rights for the Wiki installation folders in the httpd.conf file:
... # # "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin" should be changed to # whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> # MoinMoin directory access <Directory "C:/Python25/share/moin/htdocs/"> AllowOverride None Options None Order allow,deny Allow from all </Directory> <Directory "C:/Moin/mywiki/"> AllowOverride None Options None Order allow,deny Allow from all </Directory> ...
Q: I'm trying to get the spell checking to work on my OSX install of MoinMoin. However, It appears that I need a dictionary file, as it wasn't installed with the OS (AFAIK). Any idea where one is available? There is reference to one on the page HelpOnSpellCheck, but the link is no longer valid.
A: Look at /usr/share/dict/words. Moin simply needs a plain text file containing a list of words to check against. If you don't find the file on your system, you can try to search the internet by "Wordlist YourLang" and you'll find things like this: http://www.sil.org/linguistics/wordlists/english/. Simply put the file in your wikiinstance/data/dict dir. This should work. Or just look into the contrib/ directory of the moin download archive.
Hello, I tried to upgrade from 1.5.3 to the current version (was 1.5.7, now is 1.5.8), so I tried to upgrade from 1.5.3 to 1.5.4, 1.5.4 to 1.5.5, etc. I never achieved the first upgrade, so I gave up.
Since then, I reinstall another 1.5.3 MoinMoin Wiki to
So, now I have a little time, I just retry the migration on my clone Wiki and another time it fail!
First, I'm lost with the documentation about upgrading. I read and reread the docs/README.migration and I'm still not sure of what I have to do.
Bur it seems that the steps are :
Ok, so for the migration scripts, I can't understand if I need some to migrate from 1.5.3 to 1.5.4, so as in my /usr/lib/python2.4/site-packages/MoinMoin/script/migration I found 1050300.py 1050301.py and 1050400.py, I ran each.
I then install the 1.5.4 version following the guide. I run through the "Basic Installation" and "Wiki Instance Creation".
For the "post 1.5.3 new style migration", I swith to my www-data user, and invoke
moin --config-dir=/opt/wiki-instances/wikiname --wiki-url=wiki.domain.tld migration data
and I have an error everytime
MoinMoin.error.ConfigurationError: data_dir "../data" does not exists, or has incorrect ownership or permissions.
In my wikiconfig.py, I have
data_dir = '../data/' data_underlay_dir = '../underlay/'
(I'm under Debian, and after the installation, it was the only way to have MoinMoin running)
What can I do?
Is my migration method correct?
Can anyone help me?
-- EricVeirasGalisson 2007-06-04 15:17:16
Using relative pathes is asking for trouble. And you obviously got trouble.
Ok, I put some absolute paths in my wikiconfig.py and got
Calling migration script for /opt/wiki-instances/wikiname/data, base revision 1050400 Final mig script reached, migration is complete.
I think my migration is complete now, and I can do the same for the following versions. But, does it means that the migration scripts are called by the moin executable or do I need to call them before ? Thanks -- EricVeirasGalisson 2007-06-05 08:28:24
Hum... the problem is: the README.migration is not very clear (reverse order and so on...), so does it mean that if I'm running a version >= 1.5.3, I don't need to run any migration scripts manually?
So, in this case, the migration procedure is
Q: I installed Python (Python 2.5.1) on a win2k system. I downloaded MoinMoi version 1.5.8 and untarred it. When I run the folowing command in the command prompt
C:\Moin\moin-1.5.8\setup.py --quiet install --prefix="C:\moin" --record=install.log
I get the following error:
error: package directory 'MoinMoin' does not exist
Any feedback would be appreciated
A: To answer my own question: Navigate to the script directory (c:\moin\moin-1.5.8\ in this case) before executing the script.
Q: Is it possible somehow to embed an external (non-wiki)page into a MoinMoin page? We have a process monitoring application running with a user interface through JSP. It would be handy if we could embed it in the wiki pages. Maybe in some kind of frame?
A. You could find a way to insert an IFrame somewhere in their. An IFrame lets you embed a webpage within a webpage from a different domain or not. IFrames, unlike Frames, if my memory is correct, lets you embed the a webpage using a kind of html box; kind of like those used for images. You will probably need to make sure the xhtml supports it; this usually means using transitional xhtml instead of strict xhtml for strict xhtml does not accept IFrames. Use your favorite search engine for the details of this. -Nick L.
I'm attempting to upgrade an existing Wiki (Apache 2.2.2, Python 2.4.3, Moin 1.5.4) an in the process also updating Python to the latest release (2.5.1). I removed the previous Python installation and upgraded to 2.5.1 (which now sits in C:/Program Files/Python25) and then proceeded to install the latest release of Moin 1.5.8. Installation appeared to work fine, and I have adjusted the shebang and path-dependent info in moin.cgi, as well as path dependent info in http.conf. When called locally on the commandline, moin.cgi works without reporting any errors, however when I try and call this locally through a browser, I receive the following error:
[Thu Sep 13 11:48:26 2007] [error] [client 127.0.0.1] (OS 2)The system cannot find the file specified. : couldn't create child process: 720002: moin.cgi [Thu Sep 13 11:48:26 2007] [error] [client 127.0.0.1] (OS 2)The system cannot find the file specified. : couldn't spawn child process: C:/Server/Moin/mywiki/moin.cgi
I've attempted to include changes to the directory access rights, as specified in the post above (Problem when installing on Windows XP with Apache 2.2.4 and Python 2.5) however this doesn't appear to have solved the problem..
Does anyone have any tips for me here?
-- Thanks Paul 2007-09-13 11:53:03
I have just installed the latest version of Moin-1.5.8 on a WinXP machine (SP2) running a fresh installation of Apache2.2. I appear to be getting a problem with permissions. I had the following problem reported in Apache's error.log file, although I followed the same steps as in http://moinmoin.wikiwikiweb.de/HelpOnInstalling/ApacheOnWin32
[error] [client 127.0.0.1] client denied by server configuration: C:/Moin/mywiki/moin.cgi
Any help will be greatly appreciated.
Thanks a lot.
Any suggestions would be welcome.
Thanks
upgrade question from moin-1.5.5 to the latest stable version 1.5.8
can anyone please give me some tips? or point me to an how-to upgrade procedure? does anyone know about problems with upgrades from this versions?
thank you.
Hello,
I'm trying to upgrade a wiki from 1.3.3 to 1.5.8, and the following part of the README.migration confuses me:
1.5.3 migration =============== First make sure you have run all the old mig scripts ONCE (and only once) on your data dirs. The old style stuff moved here: MoinMoin/script/old/migration/ In that directory, there is also a new 152_to_1050300.py mig script - you need to run it as the last mig script to switch to new style mig scripts. It puts a file "meta" in your data dirs that hold the data_format_revision value. The new style mig scripts use that value to make it much simpler for you in future. After this, please continue in section "Post 1.5.3 new style migration". 1.3.4/1.3.5 migration ===================== We added some mig scripts in moin 1.3.4. So if you have done the 1.2 to 1.3 migration with some earlier moin version (like 1.3.3), then please run the new scripts, too: * 12_to_13_mig10.py * 12_to_13_mig11.py
the 12_to_13_mig11.py says:
migration from moin 1.2 to moin 1.3
12_to_13_mig10.py:
migration from moin 1.3 < patch-xxx to moin 1.3 >= patch-xxx
and 152_to_1050300.py
Migration from moin 1.5.2 to moin 1.5.3
Can you please tell me, where the 1.3.xxx -> 1.5.2 part is?
Q: There is apache available for Symbian called Raccoon, mod_python is working there. Is it worth an attempt to install MoinMoinWiki on phones having Raccoon installed?
A: I guess it would be too slow. If you have Python on the phone (it won't work without), you can also use the standalone server of moin (will eat less resources, but still be too slow).
What do I need to do to convert my data pages to the 1.6.0 syntax? I've read the README.migration and still don't understand what needs to be done. I've located some migration scripts but need a little direction on how to use them.
moin.py --config-dir=pathToWikiConfig --wiki-url=http://yourwiki/ migration data
Create the rename2.txt file
moin.py --config-dir=pathToWikiConfig --wiki-url=http://yourwiki/ migration data
Thanks very much! This worked nicely.
Hi guys, Im trying to update from 1.5.8 to 1.6.0 atm but run into a small problem. Im using apache2 with fastcgi and python2.5 on a debian system. When I manually upload all files to python2.5/site-packages/MoinMoin, the new/changed ones arent recognized, its still showing up as 1.5.8 (so the update script doesnt even think theres something to update). An Apache restart/stop+start doesnt work, any other way to tell python that there are new files? (would like to prevent a full server restart if possible)
you have to check your moin.fcg it needs changes do compare it with the example from the server dir.
Trying to upgrade from 1.5.8 to 1.6.1. When running moin.py --config-dir="D:\WikiFarm" --wiki-url=farm1.site.ru/ migration data I get the following traceback:
145852 INFO logging initialized Traceback (most recent call last): File "D:\Moin\_install\moin-1.6.1\moin.py", line 138, in <module> run(Config) File "D:\Moin\_install\moin-1.6.1\MoinMoin\server\server_standalone.py", line 584, in run httpd = makeServer(config) File "D:\Moin\_install\moin-1.6.1\MoinMoin\server\server_standalone.py", line 526, in makeServer return serverClass(config) File "D:\Moin\_install\moin-1.6.1\MoinMoin\server\server_standalone.py", line 176, in __init__ SimpleServer.__init__(self, config) File "D:\Moin\_install\moin-1.6.1\MoinMoin\server\server_standalone.py", line 63, in __init__ BaseHTTPServer.HTTPServer.__init__(self, address, MoinRequestHandler) File "C:\Python25\lib\SocketServer.py", line 330, in __init__ self.server_bind() File "C:\Python25\lib\BaseHTTPServer.py", line 101, in server_bind SocketServer.TCPServer.server_bind(self) File "C:\Python25\lib\SocketServer.py", line 341, in server_bind self.socket.bind(self.server_address) File "<string>", line 1, in bind socket.error: (10013, 'Permission denied')
IIS 6.0 and Python 2.5.1.
This is the wrong moin.py (the standalone server). You need MoinMoin/script/moin.py.
File "D:\moin\Lib\site-packages\MoinMoin\script\migration\migutil.py", line 50, in listdir names = [name for name in os.listdir(path) WindowsError: [Error 3] : 'd:\\WikiFarm\\wiki\\data\\user/*.*'
It seems like the script is looking for a user dir in each farm wiki's data dir, while I have a single user dir for all wikis which I specified in farmconfig.py
giving it an empty user dir should make that simple program happy.
After moving my wiki instance to another server, I copied my /data folder onto the server and immediately started getting the following error on MyStartupPage and all other header links:
"WindowsError[Error 183] Cannot create a file when that file already exists"
I discovered that deleting the /data/cache/ folder fixed the issue. Moin immedatiately recreates the /cache folder os it did not cause any issues. Using the maint cleancache may also work, but I had a lot of troubles getting it to run on the server.
The problem may be with windows file abstraction layer which doesn't distinguish files with names which differ only in character cases (like, lowercase and uppercase). Consider avoiding using windows or renaming those pages. -- EugeneSyromyatnikov 2010-06-02 07:16:50 hmm, ntfs has an option for using upper and lowercase chars in filenames. Btw. 1.8.4 is outdated see SecurityFixes and update. -- ReimarBauer 2010-06-02 11:05:00
NTFS does, win file abstraction layer doesn't (precisely, it does, too, but it's generally unusable). -- EugeneSyromyatnikov 2010-06-02 11:22:58
I´m running a Suse 10.2 and installed Python 2.5 and the 1.6.1 moin². Calling up "python moin.py" gives the goo news below, but starting "http://localhost:8080" is not all it takes as the quick manual says.
This is what I get:
localhost:~/moin-1.6.1 # python moin.py Loading ... MoinMoin - 1.6.1 [release]
222501 INFO logging initialized 222501 INFO Serving on localhost:8080 222501 INFO Running as uid/gid 1000/100 222708 INFO 127.0.0.1 "GET / HTTP/1.1" 500 -
==> here the trouble after calling the localhost in firefox
Exception happened during processing of request from ('127.0.0.1', 22951) Traceback (most recent call last):
self.RequestHandlerClass(request, client_address, self)
File "/root/moin-1.6.1/MoinMoin/server/server_standalone.py", line 281, in init File "/usr/lib/python2.5/SocketServer.py", line 521, in init
File "/root/moin-1.6.1/MoinMoin/request/request_standalone.py", line 56, in init File "/root/moin-1.6.1/MoinMoin/request/init.py", line 1418, in fail
ImportError: cannot import name failure
There´s much more to know, isn´t it ??
Completely erase that stuff, log in as user (not root) and start from scratch.
I am having the worst time trying to install MoinMoin on OSX - I upgraded my computer to Leopard just recently, followed the instructions listed in the Help all to no luck. There are problems, since the most recent version is 1.6.3 - the installer seems to be for 1.6.0 - I tried just changing the numbering appropriately, but cannot find the wiki when I browse to http://localhost/mywiki . Any help would be appreciated - unless I'm missing something on my computer, there is something wrong with the install guide.
If you have trouble with the apache installation, why don't you simply use python ./moin.py? That's all you need to do to start the standalone server of 1.6.x and have a working wiki. -- ThomasWaldmann 2008-06-19 20:25:26
I'm working on a wiki at work where I have access to the wikiconfig.py file, but not the /wiki/ directory. The sys admins install everything for our wikis and this is the way they have it set up. Is it possible for me to add or modify themes in this case?
I'm running a lighttpd server under linux, and I'm trying to get MoinMoin running using fastgci with a unix socket in a site directory as opposed to a subdomain. In other words, I want the URL for getting to MoinMoin to be http://myserver.tld/moin, where the /moin part is the site directory.
However, I can't get this to work. When I go to http://myserver.tld/moin using the configuration described below, I always get a 500 Internal Server error.
Can any of you see what's wrong with my configuration? Here it is:
The directory where the site resides is /home/hippoman/sites/moin, and it contains the following items:
% ls -l total 13 2 drwxr-sr-x 7 hippoman www-data 2048 Oct 6 20:14 content/ 2 drwxrwx--- 7 hippoman www-data 2048 Oct 6 17:26 data/ 2 drwxrwx--- 3 hippoman www-data 2048 Oct 6 17:26 underlay/ 7 -rw-rw---- 1 hippoman www-data 6705 Oct 6 20:09 wikiconfig.py
The content subdirectory is a copy of the htdocs directory under /usr/local/share/moin (the place where MoinMoin got installed on my system). In other words, it's the static content.
This is the pertinent part of my lighttpd config file:
alias.url = ( # "/moin" => "/home/hippoman/sites/moin/content", "/moin" => "/home/hippoman/sites/moin", } $HTTP["url"] =~ "^/moin\b" { url.rewrite-once = ( "^/moin/robots\.txt" => "/moin/content/robots.txt", "^/moin/favicon\.ico" => "/moin/content/favicon.ico", "^/moin/(.*)" => "/moin/content/$1", "^/moin$" => "/moin/content" ) server.document-root = "/home/hippoman/sites/moin" accesslog.filename = "/home/hippoman/log/moin.access_log" fastcgi.server = ( "/moin" => (( "socket" => "/var/run/lighttpd/hippoman/moin.socket", "bin-path" => "/root/bin/smoin", "bin-copy-environment" => ( "USER", "LOGNAME", "SHELL" ), "bin-environment" => ( "PATH" => "/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin", "UNAME" => "hippoman", "GNAME" => "www-data", ), "min-procs" => 1, "max-procs" => 4, # "check-local" => "disable", )) )
I tried it both with and without check-local set, but it fails nonetheless. I also tried it with both versions of the /moin alias, with the same error.
The /root/bin/smoin script is a wrapper which changes the uid and gid:
[HASHBANG]/bin/sh uname=${UNAME:=www-data} gname=${GNAME:=www-data} unset UNAME unset GNAME exec /usr/bin/sudo \ /usr/local/bin/chpst -u ${uname}:${gname} \ /root/bin/local-moin.fcg "$@" exit 1
... where [HASHBANG] represents #!, which I can't figure out how to escape in the text above using this markup language.
The /root/bin/local-moin.fcg program is my local version of the standard moin.fcg:
... etc. ... # Debug mode - show detailed error reports os.environ['MOIN_DEBUG'] = '1' from MoinMoin.server.server_fastcgi import FastCgiConfig, run class Config(FastCgiConfig): loglevel_file = logging.INFO logPath = '/home/hippoman/log/moin.access_log' max_requests = 1024 properties = {} # properties = {'script_name': '/moin'} # use this instead of the line above if your wiki runs under "/moin" url # for backlog, we use a default of 5. if the listen(backlog) call crashes for you, try a smaller value! # backlog = 1 run(Config)
I tried it with both versions of the properties setting.
Can anyone see what I'm doing wrong? Thanks in advance.
PS: The wrapper script works fine. I use one just like it to run other fastcgi engines under specific user ID's. Also, the ownerships and file permissions are all correct, as far as I can tell.
PPS: All other sites work fine under my web server, including all of them running under other fastcgi instances.
PPPS: The only error message that I can find in any log file is this (anonymized):
xxx.xxx.xxx.xxx myserver.tld - [06/Oct/2008:21:51:20 -0400] "GET /moin HTTP/1.1" 500 369 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.3) Gecko/2008092414 Firefox/3.0.3"
When I try to edit a page on my wiki using the Edit(GUI) button I seem to be missing the editing screen. I can see the Save Changes, Preview, ect buttons at the top of the page and the Comment entry at the bottom of the page but the section to actually edit the page is just blank. Have I missed a config setting somewhere to enable GUI editing? I know it is not the browser as I am able to edit other MoinMoin wiki's using the GUI editor.
I figured this out by accident. As an FYI, in my wikiconfig.py I had my url_prefix set incorrectly.
Has anyone else come up with a guide to installing MoinMoin on a memory stick? I've started one that is centered around Windows, I'm not a Linux or Mac user, at the page PortableMoin. If anyone wants to help categorize it and add information for the other OSes, please feel free.
Robert K, Dec 29 6:39PM GMT
I'd like to change how the variable SIG is being displayed. Is there a way to change it so the name and date are shown on two lines instead on one next to each other?
I have created 2 moin wiki instances on ubuntu that both appear to work, except that the GUI Editor doesn't appear. The apache log file shows that the /usr/share/moin/htdocs/applets/FCKEditor/fckeditor.js file is being called up, but doesn't exist. How should this editor be configured? I can see some fckeditor config references in the usr/share/docs/python-moinmoin/examples folder, but no information as to how to use these.
Ubuntu 8.10, MoinMoin 1.7.1
debians package manager has dropped the old fckeditor package. 1.8 uses the current fckeditor version and was refactored last gsoc, see MoonByeongweon/SOC2008. You may want to download a recent version.
Same issue appears on Ubuntu 10.10, MoiMoin 1.9.3.
Solution is:
1. Install fckeditor:
sudo apt-get install fckeditor
2. Make it available for MoinMoin:
cd /usr/share/moin/htdocs/applets
sudo rm -rf FCKeditor
sudo ln -s /usr/share/fckeditor FCKeditor
3. Restart web server
After the upgrade to MoinMoin 1.81, the pages cannot be edited anymore. It always shows "Locked" (mandarin theme), even if I or the Admin is logged in. Also with the classic theme 'edit' does not work.
Any idea what the problem could be?
Please try "modern" or "modernized", whether it works with those.
I found a workaround for the problem. It had to do with the ACL configuration. There was a group defined - but unfortunately, the new MoinMoin version does not work with this group, so I had do enter all users directly into the file wikiconfig.py.
EpGroup (was working with MoinMoin 1.6)
#acl EpGroup:read,write,delete,revert * Admin * UserOne * UserTwo * UserThree * UserFour
wikiconfig.py (was working with MoinMoin 1.6)
acl_rights_default = u"EpGroup:read,write,delete,revert All:read"
wikiconfig.py (works now also on MoinMoin 1.81)
acl_rights_default = u"EpGroup:read,write,delete,revert \ Admin:read,write,delete,revert \ UserOne:read,write,delete,revert \ UserTwo:read,write,delete,revert \ UserThree:read,write,delete,revert \ UserFour:read,write,delete,revert \ All:read" GPL
This workaround works find for me, but sure, it would be nice if the groups also worked in the new version.
Groups are working with no problem, you maybe have to check your wikiconfig for the group regex. It should look like page_group_regex = ur'(?P<all>(?P<key>\S+)Group)' and also carefully read the full documentation about migration: docs/CHANGES and docs/README.migration in your moinmoin download!. You may want also to read http://moinmo.in/RickVanderveer/UpgradingFromMoin16ToMoin17 and http://moinmo.in/RickVanderveer/UpgradingFromMoin17ToMoin18 Site!
I've got a farm of two wiki's and tried to upgrade from 1.7.2 to 1.8.4 One of the wiki's works fine, but for the second I get the following error:
Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.5/threading.py", line 486, in __bootstrap_inner self.run() File "/usr/lib/python2.5/threading.py", line 446, in run self.__target(*self.__args, **self.__kwargs) File "/usr/lib/python2.5/site-packages/MoinMoin/support/thfcgi.py", line 537, in accept_handler req.run() File "/usr/lib/python2.5/site-packages/MoinMoin/support/thfcgi.py", line 283, in run self._handle_record(rec) File "/usr/lib/python2.5/site-packages/MoinMoin/support/thfcgi.py", line 385, in _handle_record self._handle_app_record(rec) File "/usr/lib/python2.5/site-packages/MoinMoin/support/thfcgi.py", line 456, in _handle_app_record self.req_handler(self, self.env, self.getFieldStorage()) File "/usr/lib/python2.5/site-packages/MoinMoin/server/server_fastcgi.py", line 56, in <lambda> request_fcgi.Request(req, env, form, properties=properties).run() File "/usr/lib/python2.5/site-packages/MoinMoin/request/__init__.py", line 1205, in run self.initTheme() File "/usr/lib/python2.5/site-packages/MoinMoin/request/__init__.py", line 1184, in initTheme self.loadTheme(theme_name) File "/usr/lib/python2.5/site-packages/MoinMoin/request/__init__.py", line 741, in loadTheme Theme = wikiutil.importPlugin(self.cfg, 'theme', theme_name, 'Theme') File "/usr/lib/python2.5/site-packages/MoinMoin/wikiutil.py", line 1110, in importPlugin return importWikiPlugin(cfg, kind, name, function) File "/usr/lib/python2.5/site-packages/MoinMoin/wikiutil.py", line 1120, in importWikiPlugin plugins = wikiPlugins(kind, cfg) File "/usr/lib/python2.5/site-packages/MoinMoin/wikiutil.py", line 1193, in wikiPlugins module = pysupport.importName(modname, kind) File "/usr/lib/python2.5/site-packages/MoinMoin/util/pysupport.py", line 81, in importName module = __import__(modulename, globals(), {}, [name]) ImportError: No module named p_dd8c12da6c9cca3e1448683a3f9a81deb21bd610
I tried to insert my custom logging.debug checks in various places of that files in the trace and discovered that this is an attempt to load a standard theme for this wiki. Another wiki uses the same theme too. After dumping to log from the _loadPluginModule in multiconfig.py I can see that this is the correct UID and it seems like no exceptions occur there. htdocs are updated.
After rolling back python/site-packages/MoinMoin to the previous version everthing is fine again.
.fcg files for both wiki's are the same. Config files differ only in sitename, interwikiname and data_dir. All permissions in both ./data ./underlay ./htdocs are double-checked.
So I'm completely stuck now. Can any one help?
-- AlexanderAgibalov 2009-07-02 13:44:19
I am in the process of updating my Wiki from the old 1.5.5. version to 1.8.4. I have already setup the Wiki on a new server and have copied all my old data from the 1.5.5 machine to the new 1.8.4. Based on reading all the support docs, I need to run some scripts to convert the data to the new format; however, I can't seem to find a script to move from 1.5.5 to 1.8.4 - do I need to convert from 1.5.5 to 1.6.0 then to the next version, etc until I reach 1.8 or is there another way?
Thanks.
-- Stephen Spector
Migrating data from 1.5.3+ is a one-step process. See "Post 1.5.3 new style migration" in docs/README.migration -- MarkSapiro 2009-09-01 23:17:28
Several months ago I had installed and configured moin-1.8.2 from source and had been using it happily afterwards. Until this past weekend. Fedora told me I had 500+ package updates waiting to get installed. I didn't think about the impact it could have on moin and told it to go ahead and install the updates. Turns out one of the updates was moin-1.6.2 which it installed as an rpm and it messed up my wiki instance. Here's what it impacted:
Anyone know how to fix this?
Answer: Deinstall the dist package, make sure everything MoinMoin is gone from /usr/lib/python/sites-packages. If it didn't mix things up, moin should start working again. Maybe clean the cache.
If that isn't enough, just install 1.8.5.
Reply: Deinstalled, removed MoinMoin from site-packages, cleaned cache. Did not fix it. installing 1.8.5 from source, imported my data/pages and it fixed. Thanks.
I have just upgraded from 1.8.5 to 1.9.0 and I see there is no SiteNavigation page. I added my old page from 1.8.5 and it seems to work fine. In particular, all the linked pages are present. Is there some reason why it was removed and I shouldn't be using it, or is this an oversight. -- MarkSapiro 2009-12-19 16:44:03
Contents was merged into FindPage (and FindPage is referenced from default navibar).
Thank you. I never scrolled down far enough on FindPage to see it. My bad. -- MarkSapiro 2009-12-19 16:59:50
I installed (not upgraded) 1.8.7 on Fedora 10 and cannot figure out how to add any accounts. The login page says "To create an account, see the UserPreferences page" but there is no UserPreferences page; clicking UserPreferences gives "This page does not exist yet". I also tried adding "?action=newaccount" to the URL and it says "Unknown action newaccount". BTW, the SendMyPassword page doesn't exist, either.
Please help!
This sounds extremly different to the moin-1.8.7 from our download page. By executing of the login action I see If you do not have an account, you can create one now. Forgot your password? So may be look into the Fedora 10 README or other documentations. I guess it is not a 1.8 release perhaps 1.5? -- ReimarBauer 2010-02-28 22:23:02
I know I did install moin-1.8.7. But, based on your note, I checked for other versions. Long ago (probably when I installed Fedora 10) apparently I installed moin-1.6.4 and it was in the path before 1.8.7. I moved it out of the way and now, magically, everything works. Thank you, ReimarBauer. -- -- LarryFenske 2010-03-02 05:52:01
I installed (not upgraded) 1.9.1 on Fedora 10 and cannot find any help pages. Do I need to install some other version first, then upgrade to 1.9.1 to get help pages?
Did you copy the underlay/ directory to your instance directory or set data_underlay_dir appropriately in wikiconfig.py -- MarkSapiro 2010-02-28 18:14:07 Also see LanguageSetup -- MarkSapiro 2010-02-28 18:35:09
Yes, I did copy underlay and set data_underlay_dir. The help files don't seem to exist in the tar.gz distribution.
Oh, I see: LanguageSetup should install the help pages for me. I'll try it. I had gone back to 1.8.7 because it has help pages, but I'm having problems with it, too. Thank you.
With 1.9 we only pre install one page for you. Select in LanguageSetup what you want to have installed
environment: windows 2008 r2 + iis 7.5 + moin1.9.2 i use the cgi mode(looks like the only way in iis7) to run wiki: http://localhost/moin.cgi some url looks fine:
some url looks bad:
create page - http://localhost/moin.cgi/moin.cgi?action=edit create a new account - http://localhost/moin.cgi/moin.cgi/moin.cgi?action=edit
what' wrong with it?
Hi,
i am trying to install the moin-1.9.3 on a hosted server, where i only have ftp access.
I am unable to change the apache config (I think, MoinMoin MUST be installable, without doing so).
Here are the troubles i encountered:
The Documentation http://moinmo.in/via_ftp_on_vserver is wrong/incomplete.
The Point "Dateien hochladen" makes no sense. I think you need to upload the Folder /MoinMoin, don't you?
After this trouble i got MoinMoin working with FastCGI. (The Server does not support WSGI). But the entire CSS mechanism is broken.
The CSS is searched in wiki.domain.tld/moin_static193 -> WTF?
may be read again in your wikiconfig line 56 to 62 or here
What is the url to a page of your instance?
Can anyone help?
MoinMoin is a very nice wiki engine. But without root access on the server, you encounter very much installation problems and the documentation is very confusing.
This is may be the documentation for such an installation wants a maintainer. It would help if one make an HowTo for others for this kind of installation
This needs to be easier.
help and just do it
-- trequ
I did this with older versions of moinmoin, but the moin.cgi script changed (again) and I couln't find how to do it.
I can only use moin.cgi and .htaccess (I'm hosting on Dreamhost).
What I want is that my wiki be seen as http://www.example.com/WikiPage
I already added a couple of lines to .htaccess so that it works partially:
DirectoryIndex moin.cgi index.html Options FollowSymLinks ExecCGI # start the rewrite engine RewriteEngine On RewriteBase / RewriteRule ^(static/|moin_static.*/|moin.cgi) - [last] RewriteRule ^(.*) moin.cgi/$1 [type=application/x-httpd-cgi]
So, if I go to http://www.example.com/WikiPage it shows the correct page. However, if I click on SomePage there, it goes to http://www.example.com/moin.cgi/SomePage , that is, what I need is to convince moinmoin to generate links using only /.
In previous versions, there were a properties array that you could set in moin.cgi like:
properties = {'script_name': '/'}
And in yet older versions, you put something similar as the argument to a function that drawed the page, but I don't know how to do this in 1.9.4.
-- MarianoAbsatz 2012-05-03 19:42:39
In Moin 1.9.4, if you use the moin.fcgi script (it works for CGI, too), you can edit the fix_script_name variable to specify the URL path. For example:
fix_script_name = '/'
I'm not sure of any reason why you'd use moin.cgi in Moin 1.9, but maybe it is still useful for something. -- PaulBoddie 2012-05-04 11:33:28 That worked alright, thank you (and started using moin.fcgi, btw). -- MarianoAbsatz 2012-05-05 22:33:10
I had an old moin instance that I installed and ran with very little trouble for several years on an old Windows NT box.
The NT box is now gone (I no longer have any access to it) but I have a copy of the data from the old wiki, and I want to set up a new server to access it. I installed python and moin on a new Windows 7 box. Now I can start moin and it seems to come up fine. I can edit pages from the "out of the box" wiki that comes with moin. So far, so good.
Now I try to point the new moin instance to the data from my old wiki, which I've restored from a backup. I edit wikiconfig.py to set data_dir. This works just enough to let me know that I'm probably on the right track. If I set data_dir to point to a directory that doesn't exist, I get an error message like: Directory c:\moin\olstuff\data does not exist. But If I fix it to point to c:\moin\oldstuff\data it doesn't display pages from "oldstuff\data", I get some generic "out of the box" front page instead. There is a page called FrontPage in oldstuff\data\pages, so why doesn't it come up?
I think the new moin instance is 1.9.3. I'm not sure what version the old server was, but it had been installed several years ago and it ran ever since with no trouble, so I had not upgraded it. Are there incompatibility issues with wikis created with old versions of moin?
PaulBerglund 2012-12-05
OK, I think I've answered part of my own question: there are incompatibilities with wikis build with older versions of moin. I don't know, but I'm guessing that my old installation was 1.5.x or even older (it was more than five years since it had been touched). But I'm guessing that that wouldn't affect my ability to see wiki pages (though they might display incorrectly), right? Also, is there a way, without access to the old server box but just to backup of the pages of the wiki built using it, to tell what moin version that server was running? Even some rule of thumb like "if the old pages have formatting that looks like example1 then its before version 1.x.y, else if it looks like example2 then it's after" would be of help -- PaulBerglund Any links that look like [SomePage] or [SomePage link label] or [http://example.com/ example site] are from Moin 1.5 or earlier, whereas [[SomePage]] or [[SomePage|link label]] or [[http://example.com/|example site]] are from Moin 1.6 or later. Similarly, macros look like [[Macro(args)]] in Moin 1.5 or earlier but look like <<Macro(args)>> in Moin 1.6 or later. Particularly the latter should be easy to find on pages like FindPage. -- PaulBoddie 2012-12-05 14:21:13
so I'm guessing that the previous moin instance was running version 1.5.4. Is that correct? I tried running moin migrate data as described in the migration readme file but that didn't turn out well. The first pass seemed to go OK but the second pass terminated with an error, leaving a number of pages missing or empty (the directory existed but had no contents). I still have the backup so the data getting trashed is not really a problem, but I am no closer to being up and running.--PaulBerglund
Please join us on irc, see http://moinmo.in/MoinMoinChat May be we can help there. -- ReimarBauer 2012-12-06 23:13:27
The problem turned out to be that the data migration had died (writing something to stderr, but I had missed it) because it wanted to delete a directory that I had open in explorer or a cmd window. I'm up and running now.--PaulBerglund
Contents
Dear friends, our sysadmin has moinmoin working great at xyz.com/wiki
But, how to get it working at xyz.com ??
(For example, http://moinmo.in/ works perfectly ... it does not redirect to http://moinmo.in/wiki )
Thanks !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
You may want to read the comments in the moin.wsgi file -- ReimarBauer 2012-07-17 19:37:35
I would like the RECENT CHANGES to go back more than a couple of months. Actually I would like it to go back a year. How do I configure MOINMOIN to do this? I don't see this in the documentation.
I've installed MoinMoin and mod_python on my Fedora 14 box. I used yum to install both packages.
moin-1.9.3-2.fc14.noarch mod_python-3.3.1-14.fc14.i686
I've configured the wiki but when I try to access the main page I get what looks like an FTP style directory listing, showing the wiki root folder and all sub-folders. Any idea as to why this occurs? Additionally, will this version of MoinMoin work with the version of python offerred by Fedora 14.
python.i686-2.7-8.fc14.1
I´ve done everything as described at http://moinmoin.wikiwikiweb.de/HelpOnInstalling/ApacheOnWin32. When opening http://127.0.0.1/mywiki I get the Message "Import of configuration file "wikiconfig.py" failed because of ValueError: invalid \x escape (...)".
Trying to get farm_config working if anyone has an example I would appeciate it.
I have been working with that farm config. I've added ("adminwiki", r"^adminwiki/.*$"), to the wikis array in farmconfig.py and I keep getting an error saying:
Could not find a match for url: "adminwiki".
Obviously, r"^adminwiki/.*$"does not match "adminwiki". Which URL did you request?
The URL I type in is http://adminwiki, but by the time I see it working, it's http://adminwiki/moin.cgi/. I just now got it to work by changing the match string to: r"^adminwiki$" instead.
Suppose I have two different wikis located under a common base-folder:
Running moin.py in my "base/wiki1"-Directory works fine and gives access to my "wiki1" content. For example, requesting
http://myserver:8080/NewPage
will try to access "NewPage" in my base/wiki1/data/pages directory. But if I try to turn my two different wikis to a single wiki-farm by using farmconfig.py:
#farmconfig.py: wikis = [ ("wiki1", r"^myserver:8080/wiki1/.*$"), ("wiki2", r"^myserver:8080/wiki2/.*$") ]
requesting
http://myserver:8080/wiki1/NewPage
will end up accessing "wiki1(2f)NewPage" in my base/wiki1/data/pages directory. Why?
I have dealt with a similar issue (I believe). You need to go into MoinMoin Request.init and edit the base request. MoinMoin needs PathInfo and ScriptName to look like so:
PathInfo = "/NewPage..." ScriptName = "/wiki1"
In your case instead I believe they look like this:
PathInfo = "/wiki1/NewPage..." ScriptName = "/"
so you need to put in some code to switch it around so it looks like the former.
you should not needed to edit any moinmoin intern files to setup a correct farmwiki. maybe beside the farmwiki.py you have still the wikiconfig.py file in your directory or something else missed... you may also have to check your server configration (e.g. if it's apache with mod-wsgi that your aliases are correct; for example I do for every wiki this stuff in my apache config: WSGIScriptAlias /wikixy /var/www/moinmoin/server/moin.wsgi)
I am trying to make the standalone server accept connections from a limited number of IPs only. To do this I am editing the "interface" field in the moin.py file in the following way "interface = 'some.ip.is.here' ".
Have the same problem. Trying to make the standalone server accept connections from a limited number of IPs only. To do this I am editing the "interface" field in the wikiserverconfig.py file in the following way "interface = '192.168.1.51' ". IP address is right. I get next error when trying to launch wikiserver.py: "socket.gaierror (11001, "getaddrinfo failed").
Import of configuration file "wikiconfig.py" failed because of SyntaxError: invalid syntax (wikiconfig.py, line 123).
In most cases, you broke the file by adding tab characters. MoinMoin configuration files are Python modules, and does not work with a mix of tabs and spaces. Uses only spaces when you edit moin files.
see HelpOnConfiguration, try navibar = [] (or None).
some actions must be enabled, e.g. allowed_actions = ['DeletePage', 'AttachFile', 'RenamePage',]
Is there a way to set the default options for the anonymous user and for all new users?
You can set some basic options, see HelpOnConfiguration (this includes the theme default, the question marks in front of the links etc.; in MoinMoin 1.2 and 1.3). A few options cannot be set in a global way, though.
Import of configuration file "wikiconfig.py" failed because of SyntaxError: EOL while scanning single-quoted string (wikiconfig.py, line ...).Goto line ... and check if you have a backslash at the end of the string. If so, try to avoid it. If it still does not work, paste the line here.
moin_config.py was replaced in 1.3 with wikiconfig.py. Please read HelpOnInstalling.
I can't see an option for changing the port.
Read the page DesktopEdition/HowToConfigure.
We are having issues with the configuration of MoinMoin. This is the error log. We are setting up a single wiki on the intranet. The farmconfig in moin.cgi is commented out. We have changed the 404 errors as suggested for IIS. We still cannot add NEW PAGES. We are using Moin 1.3.5 Python 2.4.2 and Windows NT. We appreciate your help.
You may wonder why would anyone need to run a wikifarm on a DesktopEdition but the truth is that I would like to keep my personal wiki and my work wiki completely separate (work wiki can then be synchronized with a remote server, my personal stuff can stay my own). Can anyone give me a brief outline (provided it is possible to run this with the DesktopEdition on Windows) of how to accomplish this? I am a total newbie with python so instructions as simple as the like of "open eye, insert fork, twist, call 911" would be greatly appreciated. Ivaylo, 2006-02-07
Solution working for Windows XP SP2 / MoinMoin Desktop Edition 1.5.3
Let's suppose you want to create a farm of 2 wikis: wiki_biz and wiki_perso
Step 1: create a wiki instance for each wiki
Create a copy of C:\Program Files\moin-desktop\wiki\data with all its subfolders at
C:\Program Files\moin-desktop\wiki\data_biz
C:\Program Files\moin-desktop\wiki\data_perso
Step 2: create a config file for each wiki
Save these 2 files and farmconfig.py (step 3) under C:\Program Files\moin-desktop\
wiki_biz.py
# -*- coding: iso-8859-1 -*- from farmconfig import FarmConfig class Config(FarmConfig): sitename = 'Wiki Biz' data_dir = 'C:\Program Files\moin-desktop\wiki\data_biz'
wiki_perso.py
# -*- coding: iso-8859-1 -*- from farmconfig import FarmConfig class Config(FarmConfig): sitename = 'Wiki Perso' data_dir = 'C:\Program Files\moin-desktop\wiki\data_perso'
Step 3: create farmconfig.py
# -*- coding: iso-8859-1 -*- wikis = [ ("wiki_biz", r"^wiki_biz.*$"), ("wiki_perso", r"^wiki_perso.*$"), ] from MoinMoin.multiconfig import DefaultConfig class FarmConfig(DefaultConfig): # put here the config you want to share among all your wikis in the farm. For example: tz_offset = 9.0
Step 4: add entries in your hosts file
edit the hosts file at C:\WINDOWS\system32\drivers\etc\hosts
127.0.0.1 localhost
with
127.0.0.1 localhost wiki_biz wiki_pers
Using the farm
Start the Wiki engine (moin.py)
Now, you should be able to access your 2 wikis by using the following address:
System: Ubuntu 5.10, latest MoinMoin, Apache, and Python packages. Currently, users that log in remain logged in between browser sessions. Due to the way we will be using this wiki, I'd like to set the cookie so that it expires when the browser closes. I have no idea how to do this. Any suggestions? Thanks, Thane
I have checked the docs at HelpOnConfiguration, HelpOnInstalling/ApacheWithModPython, and HelpOnInstalling for an answer to this. Of all those pages, the only one that begins to address this question is HelpOnInstalling, which simply states:
Create a directory for your farm, and under it, make two data trees per the /WikiInstanceCreation instructions. In the config directory (by default /usr/share/moin/config) you will find an example farmconfig.py file. Copy this into the farm directory, and edit moin's launcher script (moin.py if you are standalone, moin.cgi if you are cgi, etc.) to point directly at it.
This is not explicit enough for me. What particular MoinMoin file do I need to edit for Apache with mod_python, and what specifically do I need to place or alter within that file to point to my farmconfig.py file? Many thanks in advance. -- ChrisLasher 2006-11-09 01:31:23
How about a concrete example? Let's say I have two wikis, WikiA and WikiB. Their files are stored in /home/moin/wikia/ and /home/moin/wikib/, respectively. Each one has its own wikiconfig.py under its directory. There is a farmconfig.py script in /home/moin/. What would one need to place in the <Location> directives of the Apache config file such that http://mysite.org/wikia/ goes to WikiA and http://mysite.org/wikia/ WikiB, via mod_python using farmconfig.py?
My site is set to convert spaces to spaces in page names. This works fine, except for the page set to the variable page_front_page in the moinconfig.py config file. So when starting to visit the site without a page name in the URL, the front page is displayed with underscores in the title, where I would expect spaces. Example: http://www.wijgoudenleeuw.nl/ Is there a solution?
I am running debian packages moinmoin-common and python-moinmoin Version: 1.5.3-1.1, the newest version on debian etch = testing.
I fixed this problem without upgrading moin with this line in my apache config (root-wiki style):
RewriteRule ^/$ /Name_with_underscores
just above the rule for ^(.*)$ . I also wrote a note in the moinconfig.py file about this fix, otherwise I might get crazy later, trying in vain to set another front page.
How to disable displaying of any error logs for ordinary user (or for everybody) in browser? I'd like only to have error logs written to the file (for example to /etc/moin/errors , or /var/log/moin-error.log) ?
Something similiar is planned for 1.6 -- ReimarBauer 2007-04-10 15:59:29
-- Yanaek 2007-04-19
I added this line
surge_action_limits = None this only works for 1.5.5+
to the wikiconfig.py file but the surge protection still locks me out. (Desktop Windows version)
What an annoying feature! It's unacceptable to have my software lock me out for working at a fairly normal speed.
Help, anyone?
For 1.5.4 you just have to configure high limits, see the help page.
What limits should I set? I've played with the high limites and I still get locked out. This is very frustrating! Any specific suggestions?
I changed the value of some of the variables in wikiconfig.py (following the installation help files). I noticed no changes in the wiki itself, in particular the title did not change. So, I made sure that the path to wikiconfig.py was in the server script. However, it wasn't clear to me what script I should actually be editing, since in the server directory there are moin.cgi and moin.py and both have lines asking for the path to wikiconfig.py. Which script should I be editing, and am I missing anything else? Otherwise my wiki seems to be working quite nicely. I'm running Mac OS X 10.4. Thanks! -- Brian Taylor
Maybe you yourself are the only one who can answer this. moin.cgi is the cgi adaptor, usually used with apache or some other web server executing moin as a standard cgi script. moin.py is the standalone server, so if you don't want to install apache or some other web server, you can use this "python builtin" web server. -- ThomasWaldmann 2006-09-14 08:29:45
Die angegebene CGI-Anwendung hat keinen vollständigen Satz von HTTP-Headern zurückgegeben I'm running Windows 2003, IIS 6. The Configuration seems to be correct, but I always get the cgi-Error. Anyone an idea?
Hi, can I prevent URLs entered in an article to be transformed into klickable links? I found a variable to add further protocols, but how to remove e.g. http? Thank You, -- mrdslave.
You can use preformatted text {{{http://example.com/}}} http://example.com/ or the Verbatim macro [[Verbatim(http://example.com/)]] http://example.com/. But most readers expect to be able to click on a URL - making URL useless seems like a bad idea.
Hi there. I've read HelpOnConfiguration/SupplementationPage and I've edited my wikiconfig.py, adding an extra line at the end which says
I've restarted apache2, but I don't see any Discussion pages in my wiki (single instance). I don't understand what's going wrong. I haven't changed the wikiconfig since I first set up the wiki a year or so ago. It's worked fine ever since (apache2 has been upgraded several times - I'm running Debian Etch). Sorry if I'm being really dim. (Yes, I have logged out and then logged back in - still no discussion pages.)
This is a new 1.6 feature (this wiki and the MoinMaster wiki are running 1.6 now, release 1.6.0 is expected in december).
Thank you - nice to know I'm not stupid. I look forward to the 1.6.0 release.
Hi, using 1.5.8.
I usually use mod_rewrite in cgi mode so that moin.cgi does not appear in the URLs. As I don't want the name to appear in the URLs generated by MoinMoin, I edit moin.cgi and leave it like this:
from MoinMoin.request import RequestCGI #request = RequestCGI() request = RequestCGI(properties={'script_name':'/'}) request.run()
and everything works fine.
Now, I got my own server and I'm trying to set it up to use mod_python... I got everything working (including mod_rewrite), but the stock moinmodpy.py will generate the URLs with it's own name in it...
I guess that there should be something I could do in this part of the code:
from MoinMoin.request import RequestModPy def handler(request): moinreq = RequestModPy(request) return moinreq.run(request)
but I don't know what.
I bearly read Python, so studying request.py is not helping me. Can someone hand me a recipe to do this?
TIA
-- MarianoAbsatz 2007-12-13 20:02:50
Anyone can tell me if the above is indeed possible with mod_python???
I just upgraded to 1.6.3 and I'm not able to do this. What I want is to see http://wiki.example.com/RecentChanges instead of http://wiki.example.com/moinmodpy.py/RecentChanges (and that the links get generated that way internally).
I've done this many times with moin.cgi, but I can't see how to do this with moinmodpy.py.
I'm using moinmoin 1.6.3 with apache 2.2.4 under ubuntu 7.10 (gutsy).
The virtual host config file looks something like this:
<VirtualHost *:80> ServerName wiki.example.com ServerAdmin webmaster@example.com DocumentRoot /var/vhost-www/wiki.example.com/ <Directory /var/vhost-www/wiki.example.com/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all #DirectoryIndex moin.cgi index.html # start the rewrite engine RewriteEngine On RewriteBase / RewriteRule ^moin_static.../ - [last] RewriteRule ^(/.*/)?moinmodpy.py - [last] RewriteRule ^(.*)$ /var/vhost-www/wiki.example.com/moinmodpy.py$1 [type=application/x-httpd-cgi] </Directory> ErrorLog /var/log/apache2/vhost/wiki.example.com/error.log RewriteLog /var/log/apache2/vhost/wiki.example.com/rewrite.log RewriteLogLevel 2 # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/vhost/wiki.example.com/access.log combined ServerSignature On ## WIKI #ScriptAlias /moin.cgi /var/vhost-www/wiki.example.com/moin.cgi <Location /> SetHandler python-program # Add the path of your wiki directory PythonPath "['/var/vhost-www/wiki.example.com', '/usr/local/etc/moin'] + sys.path" PythonHandler moinmodpy PythonDebug On </Location> <LocationMatch "/moin_static..."> SetHandler None </LocationMatch> </VirtualHost>
in /var/vhost-www/wiki.example.com I have a copy of /usr/local/share/moin/htdocs named moin_static163 and a modified copy of moinmodpy.py as follows:
# -*- coding: iso-8859-1 -*- """ MoinMoin - mod_python wrapper for broken mod_python versions add a .htaccess to the path below which you want to have your wiki instance: <Files wiki> SetHandler python-program PythonPath "['/path/to/moin/share/moin/cgi-bin'] + sys.path" PythonHandler moinmodpy </Files> Note: this is a wrapper needed because of a bug in mod_python < 3.1.3 mod_python.apache.resolve_object fails to parse a object with dots. If you have a newer version, take a look at moinmodpy.htaccess to see how to use MoinMoin without this wrapper. You can also look into INSTALL.html to see how you can fix the bug on your own (a simple one line change). TODO: this should be refactored so it uses MoinMoin.server package (see how server_twisted, server_wsgi and server_standalone use it) @copyright: 2004-2005 by Oliver Graf <ograf@bitart.de> @license: GNU GPL, see COPYING for details. """ # System path configuration import sys # Path of the directory where wikiconfig.py is located. # YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP. #sys.path.insert(0, '/path/to/wikiconfig') sys.path.insert(0, '/usr/local/lib/python2.5/site-packages/') # Path to MoinMoin package, needed if you installed with --prefix=PREFIX # or if you did not use setup.py. ## sys.path.insert(0, 'PREFIX/lib/python2.3/site-packages') # Path of the directory where farmconfig is located (if different). ## sys.path.insert(0, '/path/to/farmconfig') sys.path.insert(0, '/usr/local/etc/moin') # Debug mode - show detailed error reports ## import os ## os.environ['MOIN_DEBUG'] = '1' # Simple way #from MoinMoin.server.server_modpython import modpythonHandler as handler # Complex way from MoinMoin.server.server_modpython import ModpythonConfig, modpythonHandler class MyConfig(ModpythonConfig): """ Set up local server-specific stuff here """ # Make sure moin will have permission to write to this file! # Otherwise it will cause a server error. logPath = "/var/log/moin/moinlog" # Properties # Allow overriding any request property by the value defined in # this dict e.g properties = {'script_name': '/mywiki'}. ## properties = {} #properties = {'script_name': '/'} def handler(request): return modpythonHandler(request, MyConfig)
/usr/local/etc/moin holds my farmconfig.py.
-- MarianoAbsatz 2008-05-03 15:35:09
Well... it turned out that the mod_rewrite loop was originated by having a <Directory> section within the <VirtualHost> and having the RewriteRule's there... I'll try to elaborate a bit by updating HelpOnInstalling/ApacheWithModPython with some info... but now I'm going to sleep... -- MarianoAbsatz 2008-05-04 11:10:38
I have migrated to 1.6 and stumbled upon following: some of the pages have spaces in their names (all well so far, they were renamed from underscores when migrating), but I cannot find out how to write their names into navi_bar. The previous navi_bar = [u'[Hlavná_stránka Hlavná stránka]'] does not work, since Hlavná_stránka is not the same as Hlavná stránka. Replacing the underscore with a space does not work, obviously. Neither does using &x20; or the (semi-expected) pipe [Hlavná_stránka|Hlavná stránka]. Is there any way of escaping the space? I have resorted to renaming the page to Hlavná_stránka (with an underscore), but clearly that is not an universal solution. -- 147.213.138.3 2008-04-30 11:21:49
For navibar, 1.6 still uses ["Free Link"] syntax. Sorry about this inconsistency, but the respective changeset was forgotten when backporting from 1.7. Starting with 1.7.0, it will consistently use the new link markup. -- ThomasWaldmann 2008-04-30 12:37:04
How do I remove the Quick links form from the page xxx?action=userprefs&sub=prefs completely? I have tried: user_form_remove = ['quick_links'] in wikiconfig.py but that does not work for me.
Thanks. -- JohanZiprus 2025-01-21 01:22:26
I have installed a wiki (1.7.1) under linux (Apache with modpython). This wiki is configured as root wiki and working fine. I would like redirect all wiki pages from http to https. Who does know the recipe for it?
Thanks for your help!
I have several pages named in cyrillic. The problem is that folders in wich the pages are stored on disk are named in unreadable way: for example page 'поезд' (poezd - train in Russian) is stored in "(d0bfd0bed0b5d0b7d0b4)" folder - it seems like a raw unicode output. This is very inconvenient - for example it's hard to access that folder from my macro. Can I make pages with cyrillic names be stored in folders named as the pages themselves? (поезд - поезд, not поезд - (d0bfd0bed0b5d0b7d0b4))
Currently (as of moin 1.7/1.8/1.9 there is no easy way to do this). We did choose this encoding because it works everywhere (no matter what your FS encoding is, no matter whether linux or windows). We are working on improved backend storage for moin >= 2.0. -- ThomasWaldmann 2008-10-17 02:40:26
If accessing a wiki page that doesn't exist, on the new page template we see "Action(edit,Create new empty page)" instead of a link to create a new page. On the RecentChanges page, we see RandomQuote() and Icon(diffrc) rather than a quote and an icon. I believe this behavior started around the time that I updated MoinMoin to 1.7.2. Any ideas how to troubleshoot this problem?
You likely forgot to update your underlay directory with the new one we provide in the distribution archive as wiki/underlay/.
I try to follow this guide to enable MathMLSupport (MoinMoin 1.8, DesktopEdition): http://moinmo.in/MathMlSupport/MathML%20HOWTO.
I'm told to "edit the file parser/wiki.py under MoinMoin directory"
Those instructions are obviously for an old moin version. In recent moins, the wiki parser is in MoinMoin/parser/text_moin_wiki.py.
I see that when I load a page from moinmo.in, the CSS, Javascript, and images actually come from static.moinmo.in. How do you do that?
I'm trying to setup monimoin on an ubuntu box using the built-in server, but running on port 80 as user www-data. I haven't been able to find any examples of these, if you have any please point me in the right direction.
Here's what I've done so far:
data/
underlay/
config/
sys.path.insert(0, '/home/wiki/config')
sys.path.insert(0, '/home/wiki/lib/python2.7/site-packages')
..
log.load_config('config/wikiserverlogging.conf')
I've installed all the code from the LanguageSetup page and the wiki appears to be running fine when run as me.
sys.argv = ["moin.py", "server", "standalone", "--user=www-data", "--group=www-data", "--pidfile=/home/wiki/moinmoin.pid", "--start" ]
The server works correctly on port 8080 when run as www-data.
mecklen@pippin:/home/wiki$ sudo ./wikiserver.py Traceback (most recent call last): File "./wikiserver.py", line 47, in <module> MoinScript().run() File "/home/wiki/lib/python2.7/site-packages/MoinMoin/script/__init__.py", line 138, in run self.mainloop() File "/home/wiki/lib/python2.7/site-packages/MoinMoin/script/__init__.py", line 261, in mainloop plugin_class(args[2:], self.options).run() # all starts again there File "/home/wiki/lib/python2.7/site-packages/MoinMoin/script/__init__.py", line 138, in run self.mainloop() File "/home/wiki/lib/python2.7/site-packages/MoinMoin/script/server/standalone.py", line 143, in mainloop run_server(**kwargs) File "/home/wiki/lib/python2.7/site-packages/MoinMoin/web/serving.py", line 159, in run_server **kw) File "/home/wiki/lib/python2.7/site-packages/MoinMoin/support/werkzeug/serving.py", line 392, in run_simple inner() File "/home/wiki/lib/python2.7/site-packages/MoinMoin/support/werkzeug/serving.py", line 378, in inner passthrough_errors).serve_forever() File "/home/wiki/lib/python2.7/site-packages/MoinMoin/support/werkzeug/serving.py", line 251, in make_server passthrough_errors) File "/home/wiki/lib/python2.7/site-packages/MoinMoin/support/werkzeug/serving.py", line 207, in __init__ HTTPServer.__init__(self, (host, int(port)), handler) File "/usr/lib/python2.7/SocketServer.py", line 408, in __init__ self.server_bind() File "/usr/lib/python2.7/BaseHTTPServer.py", line 108, in server_bind SocketServer.TCPServer.server_bind(self) File "/usr/lib/python2.7/SocketServer.py", line 419, in server_bind self.socket.bind(self.server_address) File "/usr/lib/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 13] Permission denied
It appears that moinmoin is attempting to open port 80 as www-data instead of root. I would have expected it to open port 80 before settting its effective uid/gid.
How do I run the built-in http server on port 80?
Here is an evil hack that seems to have worked (although it cannot be "checked in" with the source).
def run_server(hostname='localhost', port=8080, docs=True, debug='off', user=None, group=None, threaded=True, **kw): """ Run a standalone server on specified host/port. """ application = make_application(shared=docs) if port < 1024: if os.name == 'posix' and os.getuid() != 0: raise RuntimeError('Must run as root to serve port number under 1024. ' 'Run as root or change port setting.') # if user: # switch_user(user, group)
class BaseWSGIServer(HTTPServer): multithread = False multiprocess = False def __init__(self, host, port, app, handler=None, passthrough_errors=False): if handler is None: handler = BaseRequestHandler HTTPServer.__init__(self, (host, int(port)), handler) self.app = app self.passthrough_errors = passthrough_errors os.setgid(33) os.setuid(33)
The effect of this is to delay the switching the user to www-data until after the HTTPServer code has started listening on port 80. The reason it is unsuitable for checking in is that there is no good way to pass the desired user/group down from run_server through run_simple -> inner -> make_server -> BaseWSGIServer. Also, of course, this may simply be the Wrong Way To Do It.
Comments?
Please read wikiserverconfig.py -- ReimarBauer 2011-09-29 12:34:08
Thank you for responding. Your answer is a little vague. Of course, I have read those files. In fact, there are two in the 1.9.3 release and they have different contents. The moin-1.9.3/wiki/server/wikiserverconfig.py file describes a variable "interface = 'localhost'", which (as far as I can tell) does nothing, while the moin-1.9.3/wikiserverconfig.py file uses the correct value "hostname = 'localhost'".
As to reading them to solve my problem, I was not able to find any information in these very short files which directly relates. There is, of course, the comment "if you use port < 1024, you need to start as root", which I tried as I described above. There is also the comment, "if you start the server as root, the standalone server can change to this user and group, e.g. 'www-data'". When running moinmoin as root I got the backtrace I described and debugged. The bug is that moinmoin invokes switch_user too soon and the socket open fails. Did you read my post?
Or perhaps you meant the comment beginning "DEVELOPERS! Do not add...", which doesn't relate at all, unless I could use the custom Config class to change how switch_user works. I think so.
So, perhaps you could be more specific in your advice. Can you answer two questions:
Thanks,
Robert Mecklenburg 2011-10-02 02:24:00
This could be a regression from 1.8 to 1.9 - there have been a few in the general HTTP-related code - because the 1.8 code looks like this (in MoinMoin.server.server_standalone):
httpd = makeServer(config)
# Run as a safe user (posix only)
if os.name == 'posix' and os.getuid() == 0:
switchUID(config.uid, config.gid)
httpd.serve_forever()
It's quite possible that the underlying SocketServer code in 1.8 binds to a port when the server is instantiated, whereas the WSGI stuff defers that to a later point in time, when MoinMoin.support.werkzeug.serving.run_simple is called. That means that the above pattern ("initialise server, switch user, start server") doesn't work because the code is more like "initialise application, switch user, initialise and start server". So yes, the last part has to be punctuated with a "switch user" somehow. -- PaulBoddie 2011-10-02 15:07:40
Is it possible to hide the url prefix like "/mywiki/moin.cgi/MyPage" when MoinMoin is installed as a IIS CGI ? I have to mention that I had to define something like
url_mappings = {'/mywiki/moin.cgi/mywiki':'/mywiki'}
Is it the right thing to do (the Howto may be uncomplete ?) ?
Contents
Is it possible to use HTTP Basic authentication with IIS? In IIS config GUI, in the properties of my website -> Directory Security Tab -> Authentication and access control Edit.. button, I removed everything except Basic authentication. I'm using MoinMoin 1.5, Python 2.4.2 and IIS 6 on Windows 2003. -- RemyRoy 2006-01-24 21:56:24
from MoinMoin.auth import http class Config(DefaultConfig): user_autocreate = True auth = [http] #...
Thanks, it works! -- RemyRoy 2006-01-25 16:21:06
The docs for enabling authentication via http auth specify adding the following to wikiconfig.py
from MoinMoin.auth import http auth = [http]
This is misleading. To make http auth work, at the *top* of the file add:
from MoinMoin.auth import http
And *inside* the Config class, add
auth = [http]
It doesnt matter where you do this as long as you indent it correctly (to indent, use spaces (say 4 spaces), not tab/s).
Note that it appears that the http authentication mechanism is broken in moinmoin 1.5.7-3. I had to use the method defined at http://moinmoin.wikiwikiweb.de/MoinMoinQuestions/Administration (search for Can apache REMOTE_USER replace moinmoin login?) on that page.
Also, the main authentication help page at http://moinmaster.wikiwikiweb.de/HelpOnAuthentication cites wrong code:
from MoinMoin.auth.http import http from MoinMoin.auth import moin_session auth = [http, moin_session]
should be replaced with:
from MoinMoin.auth import http auth = [http]
This has already been done (corrected?) at http://moinmoin.wikiwikiweb.de/HelpOnAuthentication
Hmm, is it wrong on the new site http://moinmo.in/HelpOnAuthentication ? -- PascalR 2008-01-29 10:49:03
This don't work on MoinMoin 1.7, I get the error 'module' object has no attribute 'name' -- fho
you can look into the http_auth_wikiconfig_snippet for a sample configuration or read HelpOnAuthentication. -- ReimarBauer 2008-08-20 10:44:11
This works thx Reimar -- fho
I'm running MoinMoin 1.6 on Apache and Python 2.4.4. My ISP is allowing only FTP access to my /htdocs and /cgi-bin directory, there is only HTTP Basic Authentication and the only way to configure Apache are the .htaccess files in my directorys.
I have the moin.py file in the /cgi-bin directory and the rest of MoinMoin is in /htdocs/moin160. In the /cgi-bin directory the Apache configuration trough the .htaccess file does not work. Does the Authentication with HTTP Basic works with .htaccess settings in the /htdocs/moin160 directory? In case it is possible, how should my .htaccess file look like? -- PascalR 2008-01-29 10:49:03
One way to achieve this is to use basic authentication in Apache and http auth in moinmoin (better if you configure ssl in Apache so that password in basic authentication is not in cleartext)
I put the configuration produced below inside a VirtualHost directive in apache site-configuration (e.g., /etc/apache2/sites-available/default on Ubuntu; of course, I had first made sure LDAP server was up and running fine and the LDAP module was loaded properly in Apache; also note that in Ubuntu, in the simplest default setup, speaking of version 7.10, the LDAP search query below should have cn instead of uid though that is a bad strategy and you should instead configure LDAP properly and use uid attribute instead of cn; also in case you do not have a domain, Ubuntu will setup the initial LDAP entries under the domain named nodomain instead of somedomain):
<IfModule !mod_fastcgi.c> ScriptAlias /MyWiki "/usr/share/moin/mywiki/moin.cgi" Alias /wiki/ "/usr/share/moin/htdocs/" </IfModule> <IfModule mod_fastcgi.c> AddHandler fastcgi-script .fcgi .fcg ScriptAlias /MyWiki "/usr/share/moin/mywiki/moin.fcg" Alias /wiki/ "/usr/share/moin/htdocs/" </IfModule> <Directory "/usr/share/moin/mywiki"> Order allow,deny allow from all AuthType Basic AuthBasicProvider ldap AuthName "Wiki" # tweak this ldap query to return a unique user name AuthLDAPURL "ldap://localhost:389/dc=somedomain?uid" Require ldap-user AnLDAPUser </Directory> <Directory "/usr/share/moin/htdocs"> Order allow,deny allow from all AuthType Basic AuthBasicProvider ldap AuthName "Wiki" # tweak this ldap query to return a unique user name AuthLDAPURL "ldap://localhost:389/dc=somedomain?uid" Require ldap-user AnLDAPUser </Directory>
For basic authentication, I also disabled the login/logout link (was no point having it there): see http://moinmoin.wikiwikiweb.de/HelpOnConfiguration to learn how to do it.
I have MoinMoin setup and running fine...I would like to use our Active Directory server via LDAP to authenticate and create users. I have read a few pages in this Wiki about it but they don't seem to work. Can someone give me some step by step instructions as in which files to edit/download? Thanks in advance.
I read several pages on this site that MoinMoin can be integrated with LDAP but none of them seem to be explanatory on what needs to be changed, One page lists the wikiconfig other pages just list python code but dont say what file the code needs to be placed in. Can someone please help me with some instructions.
Thanks
Chris
For information on authentication in general see HelpOnAuthentication. Unfortunately it looks like it hasn't been updated to document the LDAP authentication support. Basically in your wiki configuration you need to add/edit an auth parameter to be a list of authentication methods. This normally defaults to just [moin_cookie]. You need to add in the ldap authentication before that, as import MoinMoin ; auth = [MoinMoin.auth.ldap_login, MoinMoin.auth.moin_cookie]. You'll also need to add quite a few LDAP-specific configuration parameters to tell it how to query/bind to your particular LDAP server. The best thing to do until documentation is written is to read through the MoinMoin source code file MoinMoin/auth.py and look for the ldap_login() function. I haven't used it, but it looks like it wants these configuration parameters: ldap_coding, ldap_uri, ldap_binddn, ldap_bindpw, ldap_base, ldap_scope, ldap_timeout, ldap_name_attribute, ldap_email_attribute. From reading the code it looks like ldap_enconding is the character set used to communicate with your server, such as 'ascii'. ldap_binddn and ldap_bindpw is a user/pass binding for LDAP used for the initial query for the user (once the user is located in your tree, a second bind is performed with the user's DN and the pass-in password). ldap_base, ldap_scope, ldap_name_attribute, and ldap_timeout are used for the initial query for the user--the query filter is something like (UNAM=johndoe) if ldap_name_attribute is UNAM and johndoe is the entered username, and is limited to the tree rooted at ldap_base and within ldap_scope. The ldap_email_attribute names the field which contains the user's email address. -- DeronMeranda
When authenticating against Microsoft AD with LDAP username is not casesensitive but MM is. It can cause some trouble like users login some time with lower and some time with uppercase. MM creates two profiles with different settings, so when a User edits a page he might get a diff-email when the other profile has an abonnement on that page. To change all usernames to lowercase add following entries to auth.py
These changes are for 1.5.x only, newer versions authenticate another way
about line 131 add
should look like this
def moin_cookie(request, **kw): """ authenticate via the MOIN_ID cookie """ username = kw.get('name') if username: username = username.lower()
about line 331 (ldap_login) add
should look like this
username = kw.get('name') if username: username = username.lower()
after this names in all profiles (data/user) must be lowercase, uppercase should be changed to lowercase.
Is a Userauthentification over LDAP and/or Active Directory possible? Thanks -- Pablo
Autologin with auth.http is working on IIS6 with NTLM (Integrated Windows Authentication). Manual login with auth.ldap_login + auth.moin_cookie works, too. Is it possible to combine these methods to autologin with NTLM/http and get aliasname and email from LDAP?
First try: MoinMoin in Windows intranet - AndreSomplatzki
I have seen DeronMeranda post but need more infomation.
I understand I have to add the following line in my wikiconfig.py for LDAP authentication
from MoinMoin.auth import ldap_login, moin_cookie auth = [ldap_login, moin_cookie]
Looking at MoinMoin/auth.py in MoinMoin were do I place the following parameters: ldap_coding, ldap_uri, ldap_binddn, ldap_bindpw, ldap_base, ldap_scope, ldap_timeout, ldap_name_attribute, ldap_email_attribute.
Into your wikiconfig.py
How do I debug this? By setting ldap_verbose in the same place as the above parameters ?
Yes.
Were do the debug messages appear ?.
Look into apache error.log (if you use apache).
Is there any other place I can be pointed to for LDAP authentication in MoinMoin.
There is a sample config in wiki/config/more_samples/ called ldap_smb_farmconfig.py . Be sure to read the comments, as some of the ldap_* variables are required.
Help will be greatly appreciated.-- Jehan
Why bother with banging your head to get MoinMoin to talk to your Active Directory LDAP server?
Use Apache's LDAP authentication module instead, and pass it to MoinMoin's HTTP authentication method!
My .htaccess:
AuthName "My Wiki" AuthBasicProvider ldap AuthLDAPBindDN " user@doamin.tld " AuthLDAPBindPassword "mypassword" AuthType Basic AuthLDAPURL "ldap://mydc.domain.tld:389/DC=Domain,DC=tld?sAMAccountName?sub?(objectClass=user)" NONE Require ldap-attribute objectClass=user
Looking at MoinMoin/auth.py in MoinMoin were do I place the following parameters: ldap_coding, ldap_uri, ldap_binddn, ldap_bindpw, ldap_base, ldap_scope, ldap_timeout, ldap_name_attribute, ldap_email_attribute.
You say Into your wikiconfig.py
Can you give me an example of what I need to put in wikiconfig.py for one of the variables lets say ldap_binddn Unfortunately the sample config in wiki/config/more_samples/ is not great at all.
Well, we can't know your ldap setup, but the config you see in ldap_smb_farmconfig.py is a real world example for Active Directory (with the real company name replaced by example.org). You don't need the smb_* stuff btw. If you can read python (it's easy), maybe look at MoinMoin/auth.py -> def ldap_login(... - as you see there, the following happens:
Thank you Jehan
After following the Ubuntu Documentation on installing MoinMoin (https://help.ubuntu.com/8.04/serverguide/C/moinmoin.html with some minor changes to the Alias entry in the Apache2 config), here's how I got LDAP authentication working on Ubuntu 9.04 which uses MoinMoin 1.8.2 against an OpenLDAP server after installing the python-ldap package (via sudo apt-get install python-ldap).
LDAP with an unencrypted connection was straightforward. I added the following configuration to the end of my wiki config file (/etc/moin/mywiki.py). I've removed all the comments that appeared in the sample LDAP authentication snippet file /usr/share/moin/config/more_samples/ldap_wikiconfig_snippet for brevity. You will definitely need to change the server_uri setting and may need to change other settings such as bind_dn to match your OpenLDAP setup.
from MoinMoin.auth.ldap_login import LDAPAuth ldap_authenticator1 = LDAPAuth( server_uri='ldap://ldap.domainname.com/', bind_dn='uid=%(username)s,ou=people,dc=domainname,dc=com', bind_pw='%(password)s', scope=2, referrals=0, search_filter='(uid=%(username)s)', givenname_attribute='givenName', surname_attribute='sn', aliasname_attribute='displayName', email_attribute='mailRoutingAddress', email_callback=None, coding='utf-8', timeout=10, start_tls=0, tls_cacertdir=None, tls_cacertfile=None, tls_certfile=None, tls_keyfile=None, tls_require_cert=0, bind_once=True, autocreate=True, ) auth = [ldap_authenticator1, ] cookie_lifetime = 1
Using Ubuntu 9.04, I initially tried to get ldaps to work by first getting #LDAP (without SSL or TLS) to work, then to modify the server_uri and tls_cacertfile entries. However, this came back with an LDAP server connect failure error. The problem was that the tls_* config settings that were not being used were set to '' when they needed to be set to None. Commenting them out didn't help as the default values as set in ldap_login.py are also set to ''. I notice that in the current release (MoinMoin 1.8.4 at the time of writing) the default values in ldap_login.py are set to None so that little bug has been fixed. The following settings in /etc/moin/mywiki.py got ldaps working a treat on Ubuntu 9.04 against an OpenLDAP server. You will definitely need to change the server_uri setting and may need to change other settings such as bind_dn and tls_cacertfile to match your OpenLDAP setup.
from MoinMoin.auth.ldap_login import LDAPAuth ldap_authenticator1 = LDAPAuth( server_uri='ldaps://ldap.domainname.com/', bind_dn='uid=%(username)s,ou=people,dc=domainname,dc=com', bind_pw='%(password)s', scope=2, referrals=0, search_filter='(uid=%(username)s)', givenname_attribute='givenName', surname_attribute='sn', aliasname_attribute='displayName', email_attribute='mailRoutingAddress', email_callback=None, coding='utf-8', timeout=10, start_tls=0, # ignored when using ldaps tls_cacertdir=None, tls_cacertfile='/etc/ssl/certs/ca-certificates.crt', tls_certfile=None, tls_keyfile=None, tls_require_cert=0, bind_once=True, autocreate=True, ) auth = [ldap_authenticator1, ] cookie_lifetime = 1
The problem I described in #LDAP over SSL (ldaps) also occurred for me when using start_tls. Here are the settings I used to get start_tls working on Ubuntu 9.04 against an OpenLDAP server. You will definitely need to change the server_uri setting and may need to change other settings such as bind_dn and tls_cacertfile to match your OpenLDAP setup.
from MoinMoin.auth.ldap_login import LDAPAuth ldap_authenticator1 = LDAPAuth( server_uri='ldap://ldap.domainname.com/', bind_dn='uid=%(username)s,ou=people,dc=domainname,dc=com', bind_pw='%(password)s', scope=2, referrals=0, search_filter='(uid=%(username)s)', givenname_attribute='givenName', surname_attribute='sn', aliasname_attribute='displayName', email_attribute='mailRoutingAddress', email_callback=None, coding='utf-8', timeout=10, start_tls=2, tls_cacertdir=None, tls_cacertfile='/etc/ssl/certs/ca-certificates.crt', tls_certfile=None, tls_keyfile=None, tls_require_cert=0, bind_once=True, autocreate=True, ) auth = [ldap_authenticator1, ] cookie_lifetime = 1
I want to permit only members of certain LDAP group to logon to my wiki.
I have modified auth.py like the following:
try: request.log("MEMBER %s" % ldap_dict['memberOf'].index("CN=blob,CN=Users,DC=vmware,DC=com")) except: request.log("NOT A MEMEBER of blob!") else: return user_obj, True if result_length != 1:
I thought this would work since if the user is a member of blob, it'll return the user object. But currently, it lets everyone log on, just like before. Any suggestions?
Set ldap_filter (there is a commented out example in the sample ldap config).
Suggestion: Add a filter to your ldap configuration in wikiconfig.py to only return users that are in the desired groups. For example, you could use something like the following.
... search_filter='(&(uid=%(username)s)(memberOF=cn=wiki,cn=blob,cn=Users,dc=vmware,dc=com))', ...
I can get SSL+httpd auth working just fine, but I can't figure out how to set things up so that both are required for write/admin/etc access, but neither are required for read access. Any ideas?
Partly this is an httpd question and a HelpOnAccessControlLists question. If you have managed to configure your web server to allow optional authentication, then read HelpOnAccessControlLists or see the ACL questions above.
Is it possible for just the login/user create/user preferences portion of a wiki to be redirected to a secure link, but all other pages run in a non-encrypted fashion? -- MichaelLaccetti 2007-02-27 05:19:02
Even if they shared the same URL; just used https:// for login? Cookies work for the same domain, regardless of encryption. -- 74.100.133.5 2007-03-01 04:55:22
How can you configure moin to require SSL for everything (On apache)? It seems to ignore the RequireSSL flag in httpd.conf. -- Alexander Faucher <<DateDate()>>
I'm looking to embed MoinMoin into an application that uses php, and I was wondering how I could go about using php_session for a single sign on integration. I see that it's currently only supported with eGroupWare 1.2, but examples on how to use php_session to extract session info seems to not be around, as well as trying to get it to work for another application. Any help here? Thanks in advance. StevenM 05-Mar-2008
I'd like to use MoinMoin as a Wiki-based knowledge base by opening an appropriate URL from inside an application. Since my application has a user database built-in, it is necessary to promote the user ID to the wiki. Provided that the MoinMoin user IDs are the same as the application's: Is it possible to embed the user ID (and, optionally, the password) into the URL of the wiki page to be shown? Thx... StefanK 14-Dec-2006
Look at MoinMoin/auth.py (and there is also some old code for 3rd party cookies in contrib/ in the MoinMoin archive)
I needed similar functionality to hook salesforce.com into MoinMoin as a knowledge base. Another use for me is for a phone/email list page for my neighborhood. While I don't want to force everyone to create a user profile and login just to get to the phone number list, I also want to deny access to anonymous Internet users that might happen onto my site. I found (url) which has the format for logging in with a one-click URL.
One-click login requires this format:
http://someserver.org/moin/moin.cgi/HomePage?action=login&name=somename&password=yourpwd&login=login
Now I can create a standard 'guest' account and email the one-click URL. The page will be fairly safe from anonymous Internet bad people and the intended recipients have a good end-user experience.- CraigA 4/1/2007
Feedback: the discussion link above showed the way for me: I had to disable the POST-only check for the login action (userform.py, approx. line 90). Now simply GETting the URL works fine. Thank you very much! StefanK 21-Feb-2007
Feedback: This was the best bit of information I have found on the web for a while, works like a charm. Thank you so much for reposting it from the MoinMoinChat link. DominicF 03/12/2009
I would like have users log into all wiki in our farm form one login. The users accounts are already shared across the farm but you have to login to each instance spereratly. I did try setting cookie_domain = 'mainwiki' but this just prevented login form working. I am not sure that I used it correctly.
We are using moin in standalone with one main wiki (mainwiki), and some project specific wikis (projecta.mainwiki and projectb.mainwiki). Cheers, -- ManuPoletti 2008-04-29 00:59:43
I have got the same problem. We run a wikifarm with many wikis. But the question now is: What do i have to do, that one useraccount is able to write/revert whatever in every wiki? Madis R. 09-Sep-2008
Solution:
for more information see HelpOnConfiguration and here HelpOnSessions, bye -- MarcelHäfner 2009-04-04 08:04:02
In answer to my previous post (2008-04-29) you need to set the cookie_domain config item to be the common part of the domain name that your wikis will share. --
ManuPoletti2025-01-21 01:22:26
I have combined LDAP/AD authentication with moinmoin auth for cases when the user is not listed in AD.
Firstly, I just added config data from samples followed by auth = [my_ldap_authenticator, MoinAuth()] line. But I discovered that if the user connected to LDAP successfully, but could not be authenticated there then according to the auth/ldap_login.py the authentication stoped with CancelLogin .
When I replaced that line with ContinueLogin , like it is implemented for ldap.SERVER_DOWN exception then everything worked fine.
So I wonder why don't developers use ContinueLogin for ldap.INVALID_CREDENTIALS too? -- AlexanderAgibalov 2009-06-30 13:40:55
I thought the usual usecase for LDAP it that it is authoritative about who is able to login and who not, thus it does not set the continue flag if someone is not in the directory. -- ThomasWaldmann 2009-06-30 18:06:58
OK, I see. Then I'll just apply this patch myself for every upgrade of my wiki. The reason why I need this is that we have corporate users who are listed in AD and several contractual employees who are not. Currenly we are using native authentication, but people continue to constantly forget not only their passwords, but usernames too But they always remember their AD credentials. -- AlexanderAgibalov 2009-07-01 11:02:18
I have the same usecase for LDAP fall through to native moinmoin authentication, external contractors mixed with AD users. -- diepes 2012-09-11 10:58:55
Some users of my MoinMoin 1.8.4 (seems that this mostly concerns users with limited windows accounts) after upgrading to IE8 experience the following problem: they login sucessfully, then navigate to any page and their authentication drops for no reasons, so they have to re-login. Earlier it helped to switch to the IE's "Compatiblity view" (couldn't find how to save this setting), but it seems that with some recent IE patches this doesn't work anymore for most of the users. So I wonder what's the problem is and how to fix it? Any chances that this is fixed in moin 1.9 ? -- AlexanderAgibalov 2009-11-05 08:08:55
The "logged in session" depends on moin's session cookie. So maybe try clearing all moin-related cookies from the user's browser and then log in again. If you can reproduce the problem, please file a bug giving all details about how to reproduce. Whether it works better with 1.9 you could check with 1.9.0rc1 (I don't remember fixing anything related to that, though). -- ThomasWaldmann 2009-11-05 08:20:24
At last found a virtual machine where I experience the issue myself. Discovered that the problem is solved by cleaning up the user Cookies directory MANUALLY. Using the native IE's cleanup mechanism doesn't help. A bit surpised by the cause of this behavior. -- AlexanderAgibalov 2009-11-06 12:03:58
Contents
At the moment only superadmins are allowed to delete or overwrite attachments on our page, is there any way to configure a 1.8 moinmoin to make this possible for normal admins/special usergroups? Tried several searches here on that theme but wasnt very successfull as it seems.
I don't think your problem is related to "superuser" configuration, but rather a standard ACL problem. For deleting or overwriting (which is deleting and writing) attachments, you need to have "write" and "delete" rights on the respective wiki page. If you are not logged in, you usually don't have "delete" rights. If it still does not work after logging in, check your acl_rights_* configuration and the ACLs on that page.
Users often make mistakes editing ACL strings and inadvertantly change the page permission such that they cannot revert the change. There should be a configuration option disallow removal of your own read/write/admin permission on a page. Or maybe a confirmation dialog warning them that they are about to remove their own permission from the page. -- VitaliyShchupak 2008-07-20 11:48:22
This is why you don't give admin rights to users not capable of correctly using it. -- ThomasWaldmann 2008-07-20 12:10:37
I want to prevent viewing of every single page (all, even the help pages) in my wiki. Users in a certain group will be able to view pages after logging in. The problem is that many pages (Help, recent changes, etc...) specify read for All in their ACL. The only way to override that is to specifly no privs for All in acl_rights_before, but then that would block everyone from the login page too. The FAQ above for closed community says to use acl_rights_default and set All : blank, but that won't stop people from seeing help and recent changes. Is there any way to do this other than to edit every page in the system to remove the All : read line?
Write custom SecurityPolicy that block anonymous users on all pages expect the login page. This should be easier and avoid upgrading issues.
System / Help page ACLs were changed in moin 1.7 (they just take away "write" rights now and otherwise use Default ACLs. So if you change your default ACL, the change is also implemented by the system / help pages.
In MoinMoin ver. 1.6.0, with acl_hierarchic = True and acl_rights_after = u"All:", the above (block all pages except login) is accomplished. We have acl_rights_before set to allow a specific admin group all privileges, and acl_rights_default set to allow a user group read,write,delete,revert. Only users in either the admin or user groups can view pages at all. My question is, why does this work? Is it a bug or a feature?
There is a bug in hierarchic ACL processing, see SecurityFixes. <- That's why it's behaving in that manner. Thanks.
Here's what I want to do. I want a certain user to be able to manage ACLs for a certain area of the wiki... say everything under a certain page. Without any hierarchical access control scheme, I can't just give him admin rights to the top page and let him go. It means that every single page he creates that needs any sort of access control, I have to go and manually add them to each page ONE AT A TIME! This is not only an annoyance for me, it also slows him down.
So I came up with an Idea I thought might work... Create a template that contains an ACL line giving this author admin rights, and restricting read rights so that only he has access to that template. I thought this might allow him to create pages by basing them off of this template. But alas, it appears that creating a page from a template amounts to a cut and paste of the text from the template, so non-admin types are not allowed to "add" the ACL's to the new page (even though they were already granted in the template).
Does anyone know of a way to give someone the ability to create certain pages with them as an admin, but without giving them admin rights to the entire wiki? -- SteveDavison 2007-03-01 22:03:43
Have a look at HelpOnAutoAdmin! -- DavidLinke 2007-03-01 23:50:18
Sure enough. Thanks David, that solves most of my problem. I'll file a FeatureRequest for the rest.
I get this error msg when I try and save a newpage w/ ACL's on it and I the TrustedGroup has admin rights to both.
Here's the ACLs on the page #acl TrustedGroup:read,write,delete,revert,admin
Here's the ACLs on the template for the new pages created by this group #acl TrustedGroup:read,write,delete,revert,admin
the result is the new pages fail to save w/ this error You can't change ACLs on this page since you have no admin rights on it!
thanks in advance
--Andrew
I added acl_rights_before = u"admin:admin,read,write,delete,revert TrustedGroup:admin,read,write,delete,revert" to the wikiconfig.py and trusted group can add pages now! Seems that before doing this TrustedGroup could admin, edit pages, edit the ACL lines on the pages, just not save a new page w/ an ACL line included. Not sure if a bug or pilot error...
I think I'm in over my head. I am completely new to wikis. But yesterday I set up a wiki page and specified myself as the administrator. I then set up a users page, and I went to edit one of the names I listed, and it said "You are not allowed to change this page." I can't figure out what happened. Thank you -- Laura 19 Dec 06
The page HelpOnAccessControlLists in your wiki describes how it works. Keep in mind that "admin" right only means "being able to change ACLs", it does not include any other right like "read" or "write".
Is it possible to finetune ACL to allow anonymous and new registered users to edit the page but WITHOUT the permission to add attachments. and add an ACL rule to each user that should be allowed to add attachments. thank you for your responds. HatschMa 01/12/2006
Not with a standard moin, it just uses the page ACLs for the page's attachments. For moin 1.5 you could patch AttachFile.py to not check for "write" rights, but for "attachwrite" right and add that right to the valid ACLs list. In some future moin version (not 1.6), file attachments will be first class items with own ACLs.
I set up some independent groups, each one with it's own adminstrator. The default permissions permit Known users to read/write/edit but not admin for default pages. I set up templates for each group that allow the group to read/write/edit their pages and their admin user to read/write/edit/admin. I find that the group users get a "you can't change the permission of this page" when they try to create a new page using the group template. Is there a trick here to make that work? Is that what AutoAdmin is for?
Many thanks in advance for your help.
Any suggestions about where to look on this one? 2025-01-21 01:22:26
In my local wiki (MoinMoin Version 1.5.2 on IRIX64) the page WikiSandBox is a protected page ("Geschützte Seite"). Even though I have administrator rights I did not found a way so that any user can experiment with this page. What can I do to change the status of this page?
How are ACLs configured in wikiconfig.py?
acl_rights_default = u'StudentGroup:read,write,delete,revert All:read' acl_rights_before = u'AdminGroup:read,write,delete,revert,admin '
I belong to the AdminGroup but I cannot edit this page, too.
Is there an ACL line in your WikiSandBox?
I think it is the default WikiSandBox without any ACL and because of this problem I had no chance to modify it. (Of course you can change the source code via the operating system.) It has the following lines in the beginning of the page: {{{## Please edit system and help pages ONLY in the moinmaster wiki! For more
#format wiki #language en (...)}}}
I made some tests varying owner and file permissions but had no success. It remains protected. I solved the problem for me by copying the directory WikiSandBox manually from underlay/pages into the data/pages directory and changed its file permissions according to other files in this directory.
Beside my special problem I have some difficulties in understanding the general concept of the underlay directory. I understand that pages in this directory are normally read-only and should not be altered by users. There are only few exceptions like e.g. the WikiSandBox. But what do you have to do when you like to change such a page (in a perfect installed wiki setup). How do you change the state of a page from "protected" to "non-protected"?
I just installed the latest stable version of Moin on FreeBSD + Apache in my $HOME directory on a shared web server. Everything is working very well except for the fact that I can't act as an administrator in my wiki.
I found the MoinMoinQuestions/Administration "How To Become An Administrator", and followed its directions. First, I registered with the site using a username of TomPurl. I then checked the $INSTANCE/data/user directory and made sure that the TomPurl username existed. I then added the following line to $INSTANCE/wikiconfig.py:
acl_rights_before = u"TomPurl:read,write,delete,revert,admin"
I then logged into Firefox, but was unable to delete, rename, or add attachments to pages. To troubleshoot, I deleted all of my cookies and then logged in again. Still, no luck. I've even restarted Apache.
Can anyone else think of something that I could try to get this to work?
Thanks! - TomPurl
allowed_actions = ['DeletePage', 'AttachFile', 'RenamePage']
in your wikiconfig.py -- ReimarBauer 2005-12-30 18:19:39
Thanks Reimar! I missed that direction in the HelpOnInstalling/ApacheOnUnix instructions. -- TomPurl
I don't want to have any users except me. I'm running Version 1.5.0beta4, so that http://moinmoin.wikiwikiweb.de/FeatureRequests/NewUserCreationACL won't run. (i tried everything, but i didn't get it)
Use access control lists.
Please add this as FeatureRequest
Strange that this is a new feature - nobody wants his Wiki to be potentially spammed by billions of bots or something. Should be a basic feature
I've set the ACL on UserPreferences for All to nothing ("All: ") while keeping rights for registered users ("MoinPagesEditorGroup:read,write,delete,revert"). It seems to me that this lets people still login but disables creating new user accounts. Am I missing something?
I'm doing a wiki page for a company. My boss will be the admin, got all the rights etc. This wiki will not be edited by unknown people, only the users that my boss allow. How do the admin add the users to a group or what? Thanks.~
Do read HelpOnAccessControlLists
MoinMoin does not offer this facility, but if you use apache >= 1.3.2 then you might like to look at the LimitRequestBody directive
I've searched and searched for how to do this, but can find nothing. I think the ability exists, since I have seen mention in several other questions of someone not being able to edit a page because they are not logged in. Are there instructions anywhere that describe how to configure MoinMoin to require login for edits? Thanks. --SteveDavison
What you search is part of access control, read HelpOnAccessControlLists.
Common users (anonymous and logged in) can't delete attachments, only administrators can do that. Which is good, because these changes can't be reverted. But I found out that anonymous users can overwrite attachments with whatever they want, it's enough to check "Overwrite existing attachment of same name" checkbox (moinmoin 1.5.7). This way evil anonymous users can destroy all my images/other attachments on my wiki in a few minutes, and I cannot revert it. How can I disable overwriting feature for non-admins? --Kamil
It is a bug: MoinMoinBugs/OverwriteAttachmentShouldDependOnDeleteRight --Kamil
I want to make it possible for normal Users to set ACL write-permission only for themselves on their pages, to create a simple Character-Database ( http://mylairexil.de/wiki/CharakterSeiten ) is this possible without giving every ACL-'admin' rights for the whole wiki, and without intervention of an Admin or TrustedUser on every Charpage?
You should define "their" pages. Moin does not have the concept of page "owner". However, if you to give write access to sub pages of the user page, you can do this with a custom security policy. Subclass MoinMoin.security.Permissions, and define a write method that check the current page name against the current user name and allow only the user to write on his sub pages ignoring the page ACL. See SecurityPolicy for more info.
Version 1.5 has autoadmin security policy that give admin rights to user pages, but it is not recommended for common users, because they will not be able to set ACL correctly. see HelpOnAutoAdmin.
I want to enable users the ability to setup their Homepage using the HomepageTemplate with a pre-defined ACL. To do this they need 'admin' rights. I am using AutoAdmin and below is what I did
from MoinMoin.security.autoadmin import SecurityPolicy
Created AutoAdminGroup page
Added usernames to the AutoAdminGroup page which should enable these users 'admin' rights
But it does not seem to enable 'admin' rights. Am I missing something, can you help?
Kim Tran - 2025-01-21 01:22:26
The HelpOnAutoAdmin page is woefully inadequate. It mentions things but does not explain them fully or even tell you what they do.
Are page/ReadGroup and page/ReadWriteGroup supposed to work on projects as well as users? And how do you get them to work?
I can only assume that if a user is in ReadGroup or ReadWriteGroup that they are able to read all subpages by default, and the ReadWriteGroup also can edit. But I set up the ReadGroup and ReadWriteGroup pages with nothing in them, and I can still see and edit all of the subpages. Do I have to add ReadGroup, etc., to the AutoAdminGroup page as well as the page/AdminGroup in order to activate them?
HelpOnAutoAdmin mentions that you can set up project/ReadGroup, project/ReadWriteGroup, etc., but doesn't say what the "etc." includes. Can I create a project/RevertGroup or project/DeleteGroup? Or what about a WriteRevertGroup?
And another thing that needs explanation is, how exactly do these groups affect the ACL's of a page? Is it sort of like an automatic #acl +ReadGroup:read +ReadWriteGroup:read,write +AdminGroup:admin added to each subpage? If the subpage has its own ACL line, does this prevent the AutoAdmin ACLs from working (i.e., do the automatic rights work like "default", "before", or "after" ACL rights?
Oh, I should mention that I'm using version 1.5.8; I checked the latest HelpOnAutoAdmin and it seems to be identical to the 1.5.8 page, so I assume there haven't been significant changes since.
Thanks for any help... -- SteveDavison 2008-07-03 04:52:36
I am using Moin 1.7 and am trying to set it to use the NewPage macro to make structured page creation easier on the users. I also have ACL's (hierarchic, if this matters) enabled. Now a certain user belonging to a certain group can easily create sub pages, perform edits, and do what they need to do. However, when they try to perform this task through the NewPage macro they get an error that says "You are not allowed to edit this page." As I have said before, creating this page and loading the proper template by hand works just fine. I don't know if this is the proper avenue to have this question answered but any help would be appreciated.
Cameron
Just updated from 1.5.5a to 1.7.1. To be more precise, old wiki was on Windows server with IIS and CGI. Then I installed 1.7.1 on Linux machine with Apache and fastcgi. Copied ./data, removed cache, removed all old macros, parsers and themes, performed pages migration. I took wikiconfig.py from the new distro and updated it accordingly.
I have very tight security policy with lots of groups. Now after upgrade only users who are specified explicitly in acl_rights_before, acl_rights_default or in a page's ACL get proper authorization. If user is the member of some group then he doesn't get authorized despite this group being mentioned in ACL. Look like group membership is just ignored.
I've tried switching acl_hierarchic off, searched through this site, read CHANGES and MIGRATION documents, looked in the sources, but still can't find the cause of the problem.
You likely missed the part of docs/CHANGES talking about page_*_regex configuration having changed. If you just need the usual "for English" behaviour, you can just delete all those regexes from wiki config. If you need to have it recognize something complex (like e.g. matching group page names for different languages), you have to read docs/CHANGES. -- ThomasWaldmann 2008-08-11 12:19:17
Do you have stopped the server and cleaned the old dict cache? You can verify as superuser using the SystemAdmin page if all works after you had restarted the server process. -- ReimarBauer 2008-08-11 14:29:00
Yes, I tried both /etc/init.d/apache2 stop/start and apache2ctl restart. Cleaned cache manually by removing everything from ./data/cache before server restart. On SystemAdmin page I can only see user accounts and list of attachments. -- AlexanderAgibalov
2008-08-12 05:49:07
Can you pastebin your wikiconfig.py? And please check if the timestamp of the pyc file is newer as the py file. I don't know what is wrong yet but it is easier to figure out if you meet us at chat.freenode.net #moin. -- ReimarBauer 2008-08-12 18:36:28
Here it is. I removed all the commented lines. .pyc file is recreated each time after I make changes in .py -- AlexanderAgibalov 2008-08-14 06:55:40
# -*- coding: utf-8 -*- from MoinMoin.config.multiconfig import DefaultConfig class Config(DefaultConfig): sitename = u'Ext.Wiki' logo_string = u'<img src="/moin_static171/common/moinmoin.png" alt="MoinMoin Logo">' html_head = '''<link rel="shortcut icon" href="/moin_static171/favicon.ico">''' page_front_page = u"FirstPage" data_dir = '/db/extwiki/data/' data_underlay_dir = '/db/extwiki/underlay/' url_prefix_static = '/moin_static171' superuser = [u"AlexanderAgibalov", u"GrigoryBaytsur"] acl_rights_before = u"AlexanderAgibalov:read,write,delete,revert,admin +MxGroup:read,write" acl_rights_default = u"AlexanderAgibalov,MxGroup:read,write,delete,revert,admin Known,All:none" acl_hierarchic = True surge_action_limits = None # disable surge protection navi_bar = [ u'%(page_front_page)s', u'RecentChanges', u'FindPage', u'HelpContents', ] theme_default = 'modern' language_default = 'en' #page_category_regex = u'^Category[A-Z]' page_category_regex = ur'(?P<all>Category(?P<key>\S+))' page_dict_regex = u'[a-z]Dict$' page_form_regex = u'[a-z]Form$' page_group_regex = u'[a-z]Group$' page_template_regex = u'[a-z]Template$' show_hosts = 1
Remove the old rules or use the new syntax for
page_dict_regex = u'[a-z]Dict$' page_form_regex = u'[a-z]Form$' page_group_regex = u'[a-z]Group$' page_template_regex = u'[a-z]Template$'
see * HINT: page_*_regex processing had to be changed to fix category search. in the CHANGES file or look into MoinMoin.config.multiconfig. e.g.
page_category_regex = ur'(?P<all>Category(?P<key>(?!Template)\S+))' page_dict_regex = ur'(?P<all>(?P<key>\S+)Dict)' page_group_regex = ur'(?P<all>(?P<key>\S+)Group)' page_template_regex = ur'(?P<all>(?P<key>\S+)Template)'
you can remove the vars completly if they are the defaults. -- ReimarBauer 2008-08-14 09:05:37
Note that this doesn't make too much sense:
acl_rights_before = u"AlexanderAgibalov:read,write,delete,revert,admin +MxGroup:read,write" acl_rights_default = u"AlexanderAgibalov,MxGroup:read,write,delete,revert,admin Known,All:none"
Reasons:
not sure what your MxGroup ACL settings are for. Looks like you want to give them read and write rights ever (you don't need to repeat that in default ACL), but delete,revert,admin only by default if the page ACL does not override the default.
Thus, you maybe want this:
acl_rights_before = u"AlexanderAgibalov:read,write,delete,revert,admin +MxGroup:read,write" acl_rights_default = u"MxGroup:delete,revert,admin"
Oh. You were right since the beginning. The problem was indeed with regex. Sorry for wasting your time. -- AlexanderAgibalov 2008-08-14 13:18:49
2008-09-09 FrankSteinhauer
I have the same problem as AlexanderAgibalov (and Cameron) above - my Groups seem to be ignored. We're using MoinMoin 1.6.2.
From wikiconfig.py:
acl_rights_valid = ['read', 'write', 'delete', 'revert', 'admin', 'approve', 'review'] acl_rights_before = u"my-admin,AdminGroup:read,write,delete,revert,admin,approve,review" acl_rights_default = u"Known:read,write,delete,revert All:read" #commented out the page_xxx_regex lines
Page TestApprovalGroup: (created by a member of the AdminGroup)
#acl TestApprovalGroup:admin,read,write,delete,revert Known:read All: === All members of the ACL group "TestApprovalGroup" === * SomeUser (part of the test department) <<BR>> ---- ~-this page belongs to the CategoryAdministratorSection-~
Now SomeUser is not allowed to change the page TestApprovalGroup. Furthermore, he's not able to create a new page and set any ACLs. This looks like a "feature", since he has no admin rights yet he's not allowed to give himself the admin rights - but still it's strange. Now I have to add all "XxxApprovalGroup"s to the acl_rights_before
What is the approve right? Have you restarted the server process after removing the page_*_regex and do you have cleaned the dict cache? -- ReimarBauer 2008-09-09 15:41:34
The pertinent lines of my wikiconfig.py file are:
acl_rights_default = u"AdminGroup:read,write,delete,revert,admin DnDPlayersGroup:read DnDDMsGroup:read All:"
acl_hierarchic = True
I have a page called DnD, for which I want admins to have full rights and players and DMs to only be able to read. It has the ACL line:
#acl DnDDMsGroup:read DnDPlayersGroup:read
I have a child page called DnD/DMs, for which I want admins to have full rights, players none, and DMs to have read and write access. It has the ACL line:
#acl DnDDMsGroup:read,write DnDPlayersGroup:
I then have grandchild page DnD/DMs/DragonLance, for which I want admins to have full rights and players and DMs none. It has the ACL line:
#acl DnDDMsGroup:
Everyhing was working fine in 1.8.1. After the upgrade, admins can no longer access the child page nor the grandchild page. Oddly, players can access the grandchild page.
What happened?
http://master19.moinmo.in/HelpOnAccessControlLists#Hierarchical_ACL_processing. -- EugeneSyromyatnikov 2010-06-04 07:00:12
I want to be able to prompt for a username and password when a user tries to approve a page or has updated/edited a page. Do you know if this is possible?
Take a look at http://moinmo.in/action/show/HelpOnAccessControlLists?action=show&redirect=HelpOnAcl You can add ACLs that require a user to be logged in before editing a specific page or any page within the whole wiki.
Contents
I am using 1.9.3 remotely on a shared hosting account and the default blue/white MoinMoin favicon will not show up (it does show using Desktop Edition on my MacBook). How do I get the icon to show on tabs and bookmarks? I saw some config files around here about adding the html_head line but that did not work.
what does the server logs tell, where does it look for the favicon? May be it is only a wrong url/path.
I'm triyng to change the css properties for DIV layer id="page" but it seems to be sticky. I'm not able to resize or move it around. Any idea will be appreciated.
I'm trying to setup a multi-lingual wiki site. I want to add several links on the navigation bar. But unlike the links of system and help pages, the links I added can not be recognized as multi-lingual by default. How can I enable this function to my own links?
To have multi-lingual in the navigation bar, a translation of the pagename must be in the translation files, and a page with that name must exists. You need to create your own translation dictionaries. See HelpOnLanguages how to do that.
Is there any way to disable the username|login link that appears at the top right of the page next to the search box in the 'modern' theme?
Open a MoinMoinBugs or FeatureRequests page. If nobody cares about your suggestion, create your own theme and publish in on ThemeMarket.
I like to edit the Editor Page. More precisely, I like to add some more syntax examples, (e.g. for line breaks ''BR'' or @SIG@.) So how can I configure that info on the Editors page?
I am trying change the theme of RUSLUG wiki. In the process, I seem to have broken the themes. I cannot debug the problem. I've tried both re-creating the instance from scratch from the directions from Gauss. I also removed the debian moinmoin-common package and reinstalled, but the wiki still seems unhappy.
My problem was solved, the solution is here HelpOnInstalling/TroubleShooting. I had url_prefix set to the ScriptAlias rather than the Alias in the wikiconfig.py for my instance. Maybe there should be a strong negative comment (NOT ScriptAlias in Apache) to prevent further confusion?
Feel free to do EditingOnMoinMaster.
I developed a way to use MoinMoin from under IIS (MoinMoin ISAPI) and suppose it should be included in the IIS installation pages that I can't change. Whom should I ask for it?
Read EditingOnMoinMaster.
How is it possibile to link the logo_string to a different side and not as on default to the wiki itselfs? -- ReimarBauer 2005-11-13 09:52:17
see FeatureRequests/LinkLogoToUrl
What is the correct style coding for changing the background colour ofa table (whole, cell or row) when the mouse hovers over it? -- Thanks,Casethejoint.
I would like to be able to write some static website content in wiki markup without making use of the editing, revisioning, etc. aspects of a full wiki. Can anyone give me some pointers on how to apply Moin's markup-to-HTML transformation from a Python script? Cheers!
look at the theme modern_cms this comes nearly to the aspect you want. You could suppress some more things if you want
Hi all, how do I remove the title FrontPage at my FrontPage, whereby when you click it, it will do a full text search. Thanks.
The page name you see there is an important part of navigation and should not be removed. If you insist on removing it, write your own theme (inherit most stuff from ThemeBase or modern theme).
I use the Mentalhealth theme but dislike the way the page title is displayed at the top, it appears as a bulleted list item... doesn't stand out much!
Clear your browser cache. If it doesn't help, the theme isn't ready for 1.5. To see the changes from whatever version you used before to 1.5.0 maybe simply use diff -ur old/wiki/htdocs/modern 1.5/wiki/htdocs/modern. Esp. the header stuff changed from lists to spans. -- ThomasWaldmann 2006-01-18 09:34:55
I actually don't have any older version. Just curious how to patch existing theme to work with current version. Is there any document on porting thems to version 1.5? -- PavelAntokolsky 2006-01-18 13:16:49
I like the way the Modern theme displays a large title, could someone please point me to which file/lines to copy from the modern theme to replicate the effect in Mentalhealth? I had a look but couldn't find it. Actually I couldn't even find the modern.py which I would think is where I should be looking.
See MoinMoin/theme/ directory. The css is in wiki/htdocs/modern/css/. The stuff you look for is "location", "trail", etc. - some stuff changed from <li> to <span>.
Thanks, that helped, had to change the <li> so that it doesn't look like an <li> at all - like so: #pagelocation li {display: inline;}
This is how it is currently looking (Mentalhealth theme), which I don't like:
This is how the Modern theme displays the same thing (as best I can do with the formatting), which I do like. (This is the located just above the page trail):
As a side note, I really like the way the title in moinmoin.wikiwikiweb.de appears, but it seems different from the modern theme in the latest MoinMoinDesktopEdition. I guess I have to wait for the next release?
-- DanielMundy 2006-01-11 04:40:27
One of my customisations to the Mentalhealth theme was to add a .png image to the top of the right-side-bar. I've noticed that on my sub-pages, eg. HelpOnEditing/SubPages, the image does not appear. Any ideas? Thanks, -- DanielMundy 2006-01-13 01:05:00
What is the URL you are using for the image? It should be absolute (starts with a "/"). Even though the moin storage backend does not treat the slash in the page/subpage in any special way, your browser will. So if you have a relative URL the browser will itself compute an equivalent absolute URL based upon what it thinks the current "directory" is. Obviously for a subpage this will result in a different URL, and likely a broken image link. -- DeronMeranda 2006-01-15 07:39:00
Thanks, that was exactly the problem. -- DanielMundy 2006-01-15 22:49:43
Is there a way to override the default theme on one page using the editor, i.e., without configuration file changes? For example, if a wiki is using classic as the default theme, can I cause it to use modern on a page simply by inserting code when I edit a page? Obviously I can change it in my preferences, but I need to change the default theme on one page so it will display even for users who are not logged in. -- 24.205.227.69 2007-03-21 20:07:56 (ps - this page, MoinMoinQuestions, is way too large and as a result has serious performance issues, could be broken up?)
You can add an argument to the macro described at ThemesMacro. -- ReimarBauer 2007-03-21 22:55:28
Actually, I can't add an argument to the macro, I don't have access to the config files -- I'm a user of the wiki, not an admin. Now that I think about it, it's probably a good idea that users can't make changes of this type via the editor. Thank you for the suggestion. -- 24.205.227.69 2007-03-24 19:24:27
I've converting from FlexWiki to MoinMoin. One of the nice features in FlexWiki is the ability to have a Summary defined for a topic. That summary is an attribute of the topic; when you put the cursor over a link to that topic the summary comes up in a tooltip.
Is this possible in MoinMoin?
No, not yet. But you could check whether we already have a FeatureRequest for that and if not, create a new one for that (and remove the text from here). -- ThomasWaldmann 2007-05-08 18:11:45
I am new to MoinMoin, but in order to transfer an existing site, I must be able to have a textbox as in Wikipedia. Do I have to modify the py-files?
Do you ask about getting a frame around a table and that aligned to somewhere? If so do have a look at ParserMarket/Frame.
A little more complex... A table right-aligned that is fed by values, where the parameters shall be fed from an "easy to fill" list in the page... Ideally, the parameters/values should be matched with a MySQL-table, but that is anything but urgent. The implementation of an "infobox" is... I had a look also at macro/CardMacro, but seem to have a "logical problem" interpreting it to do what I want it to do...? Can one combine these two (and how)? I am "just a web developer" with an Admin handling the technical side of Moinmoin for me... I could write the code for the static page (using PHP to handle the variables), but am "lost" with MoinMoin... Thanks for any help.
It would be very useful to be able to evaluate who is accessing what pages and how often. It's not so much to play "Big Brother" and profile individual users, but the hits data as it stands is pretty useless (IMO). When someone is working on a page and editing it regularly, it creates so many hits that it's impossible to tell if anyone is actually making use of the pages, or if we're just writing in our secret diaries. So if we could at least filter out the known editors of a page, the remaining hits would be meaningful. Further, being able to see who is viewing the page can give us an idea of what teams are making use of the information, and help to weed out multiple hits from the same person. (If one person views the page 10 times because they are navigating between different pages or opening/closing browsers, it really doesn't mean they're getting 10 times the use out of the page, and is not nearly as significant as if 10 different people were using the page.)
I noticed in the edit-log, the editor information is stored, but I could not make out anything that looked like identifying info. in the event-log. Is this tracked in any way? Thanks. -- SteveDavison 2007-03-01 10:35:18
I think, not everybody will notice, that there are attachments on this page. Therefore I tried to change this behaviour but did not managed to. Thx for help
[[AttachList]] macro evaluates to the list of attachments of the current page. Insert this macro in any place on your page you want and they're all visible.
I'm having the same problem, so let me rephrase the question: Is there are a way to get an attachment list like the one generated by [[AttachList]] automatically at the bottom of every page that has attachments? Thanks! -- MichaelSchuelke
In principle, you can add something similiar as this to Page.py, before endContent. This patch is currently for 1.6. -- ReimarBauer 2007-05-25 13:59:12
wikiutil.renderText you can get from the MiniPage at MacroMarket for 1.5.x versions.
--- a/MoinMoin/Page.py Wed May 23 17:41:00 2007 +0200 +++ b/MoinMoin/Page.py Fri May 25 15:44:36 2007 +0200 @@ -1091,7 +1091,7 @@ class Page(object): request.emit_http_headers() request.write(self.formatter.startDocument(self.page_name)) # send the page header if self.default_formatter: if self.rev: @@ -1159,6 +1159,8 @@ class Page(object): from MoinMoin.macro.FootNote import emit_footnotes request.write(emit_footnotes(request, self.formatter)) + from MoinMoin.parser.text_moin_wiki import Parser as WikiParser + request.write(wikiutil.renderText(self.request, WikiParser, '[[AttachList]]')) # end wiki content div request.write(self.formatter.endContent())
Simple solution for 1.5.8: edit Page.py to add a couple lines around line 1264 like this:
# check for pending footnotes if getattr(request, 'footnotes', None) and not omit_footnotes: from MoinMoin.macro.FootNote import emit_footnotes request.write(emit_footnotes(request, self.formatter)) # NEW STUFF TO ADD from MoinMoin.parser.wiki import Parser as WikiParser WikiParser('[[AttachList]]', request).format(self.formatter) # END NEW STUFF # end wiki content div request.write(self.formatter.endContent())
Hi, I would like to know if somebody has tested Moin as part of a frame or something similar. I am thinking about that because a potential customer wants a wiki implemented on his pages and I do wiki hosting. So this means I would not install a wiki on the customers web server. -- ThiloPfennig 2006-01-22 10:30:30
Maybe just try it. I think it will only have the usual "frame usability problems" like not being able to bookmark or use the URL with the browser. -- ThomasWaldmann 2006-01-22 10:54:23
I'm new to moinmoin, and can't seem to figure out how to turn off the automatic "Thank you for your changes. Your attention to detail is appreciated" message. I searched, but I can't seem to find this out. How can I make it so the banner never appears?
# self.msg(d),
-- Best Regards, Andreas Traub DateTime
You can try altering saveText method in PageEditor to return empty msg in that case, do it with care though. -- DonLeri I have added a patch no_thanks_message.patch which will disable the thank you message only. You can read the file (plain text) or use WinMerge or any patch tool to apply it to your wiki. All other messages are not suppressed. It is tested on MoinMoin 1.9.1 (running Python 2.6).
How can I avoid an attached icon (the earthball-icon for example) for linked images?
Any external link like this
[[http://www.larpzeit.de/[|{{http://www.larpzeit.de/Bilder/Banner/Banner-468x60_40kb.gif|LARP Zeit]}}]]
shows the earthball-icon, so it looks quite odd. Especially if there are many external linked images on one page. Is there an easy way to avoid the icons for image-links on per link base, per side or for the entire wiki?
-- MelaEckenfels 2008-06-17 17:05:46
a.www:before {content: url(../img/moin-www.png); margin: 0 0.2em;}
from common.css and the corresponding similar line from msie.css.
Hello, thanks for this info, but I'm looking for other ways, probably more flexible ways to hide moin-www.png. Is there a way to selectively hide moin-www.png icon? For instance, 1) based on server domain name, i.e., if a MoinMoin Wiki resides on http://www.yyy.zzz, do not show moin-www.png on any link that has yyy.zzz domain name. 2) based on list of server domain names either defined by list in a configuration file, or provided by a simple textfile file, like intermap.txt (kind of). - MinsooKim
I am currently working on a new theme based on the modern theme and I have problems changing the layout of the div #header since the contents of this container seem to be fixed somehow. How, and specifically in which file, can I change that? For example I want the #logo to appear in the top of the #header and I want all the other containers (#username, #searchform etc.) to be under #logo (y-axis)?
Thanks. -- JohanZiprus 2025-01-21 01:22:26
You need to override the CSS. To figure out what CSS to override, a good tool to use is the Firefox browser with the Web Developer extension installed. Assuming Firefox is installed, do Tools, Add-ons, Browse All Add-ons, Web Development, search for Web Developer by Chris Pederick, install it and restart Firefox. Load a web page using your theme, click Ctrl-Shift-Y, mouse over the element you want to customize and click. Everything you need to know about the present CSS styling for the element will appear in the lower half of the screen. To figure out what to change, you will probably want to invest in a book on CSS. -- RogerHaase 2008-06-30 20:23:48
When changing the modern theme I have aligned the text in the .editbar to the right and I want the contents of the #username to appear in the left side of the .editbar only, not in the header (I also only show the .editbar in the footer since this is going to be a CMS-like site). My problem is that when I remove the #username in the #header tag in my theme.py file it still shows in the #header when reloading the page. My second problem is how to edit the .editbar so the #username contents appear there instead. When looking at the methods/functions editbar() and editbarItems() in init.py it does not seem to be changeable from there?
Thanks. -- JohanZiprus 2025-01-21 01:22:26
If you think you removed #username and it is still there, a guess is you missed :>). If you haven't already done so, you may want to download several contributed themes and look over the code. Maybe you can find one that has moved #username to a different position and that will provide a clue.
Hello, I've got just al little question. Is there a way to change the default font-size of the main texts in the wiki? Thanks in advance. -- 2025-01-21 01:22:26
Hello, just edit your /(moin directory)/wiki/htdocs/(yourtheme)/css/common.css. There you can edit the html-section and increase your font size, e.g. font-size: 1.3em;. MatthewKnodler -- 2025-01-21 01:22:26
Hello, I would like to improve my MoinMoin Wiki with custom smileys and images. Therefore, I created for example a "Priority 4" Icon. Then I inserted it in my /moin-1.8.0/build/lib/MoinMoin/theme/modernized.py and /moin-1.8.0/MoinMoin/theme/modernized.py according as following:
MatthewKnodler -- 2025-01-21 01:22:26
Nevertheless, when I restarted the server of my Desktop edition (under Linux), inserting {4} didn't work for me. I even deleted the pyc files, nothing worked. How do I customize my modernized theme?
I did exatly the steps described in "HelpOnThemes" to custumize my own theme. I copied the theme folder usr/share/moin/htdocs/modern to usr/share/moin/htdocs/mytheme. Then I copied the file /usr/share/python-support/pyhton-moinmoin/MoinMoin/theme/modern.py to the file /usr/share/moin/data/plugins/theme/mytheme.py and edited the file to modify the theme name. Afterwards I reseted the server but my own theme is not available to select. Where is my mistake?
Harald Hammerl -- 2025-01-21 01:22:26
I wonder a bit about your wiki instance location is it really /usr/sharemoin/ ? I guess you've copied the mytheme.py to the template wiki and not to your wiki instance. If I am wrong check the owner and the accessrights. -- ReimarBauer 2009-04-19 17:32:24
Again "/usr/share/moin/data/" is not your wiki instance it is the template wiki data path. Your wiki instance likly is named mywiki or something what describes your content. You have copied /usr/share/moin/data/ to your instance location at the time you have setup your instance. If you run moin-1.8 and you are the superuser of your wiki you can get the data_dir path of your instance by adding <<WikiConfig>> to one of your pages. -- ReimarBauer 2009-05-20 06:58:01
My "small" text doesn't look small enough for me. How can I make it smaller?
As a workaround disable images in your browser and then print
I have really searched, but I cannot find the place where I must put the german language file de.simplemente.po for the theme simplemente ( ThemeMarket/SimpleMente ).
Is perhaps (in an ubuntu-installation) the place /usr/share/pyshared/MoinMoin/i18n and a softlink in /usr/lib/pymodules/python2.6/MoinMoin/i18n correct, and I only have to clean my cache in some way ?
By the way, is there anywhere a discription of the directories used by MoinMoin and what there meaning is ?
Just upgraded from Ubuntu 8.10 to 9.10 and found that mywiki was no longer working. I received an error associated with the moin.cgi. I remedied this problem by copying the moin.cgi from the server folder to the mywiki folder. This corrected the error, but resulted in mywiki only showing texts sans themes. Any idea what to do to remedy the problem? Thanks,
Contents
I have a custom logo that I would like to use in place of the default one. I don't want to put this in the site-packages web\static\htdocs directory since this could be overwritten on upgrade.
Anywhere on your server, just add a directory directive for access rights and an Alias
I could attach this to a page but the attach: shorthand will not work across the site. So where would I put it under the wiki instance diretory?
if you use moins builtin server for static files it must be below MoinMoin/web/static. But you also can use apache additional
A superuser has some special "super" rights like installing packages. To define what a superuser is (it can be more than one) set this variable to the main user(s) in the wikiconfig.py file:
superuser = [u"ExampleGirl", ]
Access Control defines who may do what in a wiki. Moin does it with ACLs.
Access Control Lists. For more please read HelpOnAccessControlLists
An administrator is someone with full or limited admin rights. These can be defined either by changing the configuration files, or by defining a group like AdminGroup and list members.
You have to be an administrator to work with ACLs!
A group in MoinMoin wiki defines a group of users. The groups can consist of: Users, other groups, all registered users (Known) or all possible users (All). We will call all possible entries "members". A group page should ends with the term Group, but it can be localized and customized by the admin. UserGroup should work for default install.
A group contains the member names in a unnumbered list. Anything on the page which is not a list will be ignored by the group parser.
These are the members of this group: * UserName * [[User Name With Spaces]]
Note: the group name must be in CamelCase.
It means that the wiki thinks you tried to change the access rights of a page by editing a line with "#acl" (either you tried to edit, remove or add it). Only users with admin rights can do that. Please contact somebody like the wiki admin.
Yes. Create a group page like "DeleteGroup" and add the members that should be able to delete pages. then add this to the acl_rights_before setting in the wiki config:
+DeleteGroup:delete
This adds the right "delete" to all members of the DeleteGroup. There are other ways to do it, but this is the most elegant way.
Create KeyUsersGroup, see How To Create Groups
#acl KeyUsersGroup:read,write,revert,delete All:
To unhide the pages, add read right to the All magic group. Read also HelpOnAccessControlLists
Create the group MembersGroup and add the members user names. See How To Create Groups
In your configuration file, either wikiconfig.py or farmconfig.py, set these variables:
acl_rights_before = (u"MyName:read,write,revert,delete,admin MembersGroup:read,write,revert,delete") acl_rights_default = u"All:"
These acl rights will result in problems on page-specific acls (as everyone is a member of MembersGroup, then acl processing stops - so page specific acls are ignored.) As an alternative, define the acl rights the following way:
acl_rights_before = u"JohnDoe:read,write,delete,revert,admin +MembersGroup:read" acl_rights_default = u"MembersGroup:write All:"
acl_rights_before are evaluated (so MembersGroup can read)
page acl rights (if exist) - your chance to stop MembersGroup from writing
So, pages without acls will still allow someone from MembersGroup to read and write the page. And page-specific acls work again... such as this page acl I used on MembersGroup page to only allow me to edit the list of members (for a closed community):
#acl JohnDoe:read,write,delete,revert,admin #format wiki These are people that can access the wiki: * JohnDoe * JaneFrank * ...
signed John Doe, happy Moin user
Add these ACL rules to the acl_rights_beforeoption in your wiki configuration:
Known:read,write,revert,delete All:read
Note that this does not give you much security, as anyone, even a robot can register an account just to spam your wiki.
There is no explicit page creation right (see also HelpOnAccessControlLists for permissions and CategorySpam). You need to modify acl_rights_default (which is only used when no other ACLs are given on the page being accessed) to something like
acl_rights_default = \ "TrustedGroup:read,write,delete,revert \ Known:read,delete,revert \ All:read"
so that only the Trusted group can write to new, blank pages (which of course have no ACL yet), and then try to make sure that all pages have a ACL that overrides that and allows that proper people to write to that page.
There is no builtin workflow like this, but you use acl to create such workflow.
First prevent editing on all page for anyone but a group of people you would like to create pages, for example, EditorsGroup
#acl EditorsGroup:read,write All:
To publish, change the All: acl to All:read
Hi,
I'm currently running MM 1.8 in a corporate environment with a limited number of users. My Acls are set like this:
acl_rights_before = u"AdminsGroup:read,write,revert,delete,admin"
acl_rights_default = u"ReadersGroup:read All:"
AdminsGroup is the user group which use the wiki in a daily basis and administer it (it's a limited number of people). ReadersGroup is a simple access to a limited number of people which need a read access to all the content (my boss and the like).
Now I want to add another group of users (call it AnotherGroup) with limited rights: I don't want it to be able to view all the content but only specific pages and to write only to specific pages too. It works using #acl on pages and using hierarchic acl I can give them the possibility to create pages under one. My problem is with underlay/system pages, for example SandBox and help pages: they can't even read them.
How can I do? -- EricVeirasGalisson 2009-06-29 15:22:00
Looks like you have a problem. The acl on the underlay pages is just #acl -All:write Default (that means it just takes away write rights from the default acl). Your default acl does not allow reading for them, so they can't read. One possible solution: modify acls on underlay pages manually for the most important pages.
ok,... that it's not good! do you think about another solution to solve my problem? maybe even changing actual acls? (keeping the same behaviour). I'm a little reluctant to change underlay pages ACLs... -- EricVeirasGalisson 2009-06-30 07:50:25
acl_rights_default = u"ReadersGroup:read AnotherGroup:read All:"
as far as i get it you than have read access to AnotherGroup for all pages. Now in those pages you don't want them to have access to at all you would add #acl AnotherGroup: at top of all those pages or top page of a hierarchy (Not Tested!).
There is no official, supported solution with the current MoinMoin versions (1.5.8), anyone can create an account. Also, you can't protect UserPreferences page, as anyone can add this macro to any page and use it to create a user account. Unofficial solutions:
If the goal is to control who can edit pages don't worry about user accounts and see Setting a wiki for closed community.
You could replace the UserPreferencesmacro with your own private wiki macro that applies your user account policy. See also FeatureRequests/NewUserCreationACL
You can change file permissions on the data/user directory on your Wiki instance, and forbid file creation (with Linux chmod a-w .) because each account is a different file. Additionally you can apply this patch moin-1.5-allow-create-form-disabling.patchto add wiki instance option that allows per instance disabling of wiki "create user" interface. Example instance configuration (wikiconfig.py) follows:
user_account_creation_enabled = False def __init__(self, siteid): DefaultConfig.__init__(self, siteid) self.user_form_fields[0] = ('name', _('Name'), "text", "36", '')
The first line disables create interface. The constructor sets name field trail to empty string. The patch does not disable creation but only interface to it, so chmod the data/user directory. You can use this script moin_useradd.py to create accounts. It will be cool if someone improves the tweak to actually disable account creation not only the interface to it, thus chmod tweak will not be required.
HTTP Authentication: One alternative can be to use HTTP authentification. Accounts are created automatically when the users connects to the page. See HelpOnAuthentication for details
password_checker = lambda req, un, pw: 'Sorry, no account creation or password change possible'
FeatureRequests/DisableUserCreation also has some tips
This is not possible with current twisted server, it may easy to do using customized twisted server, based on MoinMoin.server.twistedmoin.
Enable mail in your farm or wiki configuration:
mail_smarthost = 'mail.mydomain.com' # your smtp host mail_from = 'My Wiki <noreply@mydomain.com>'
If you need to login with a name and password, setup also mail_login:
mail_login = "username password"
hint: to test your mail subscription, try to edit a page while you are NOT logged in as yourself, the wiki will not tell you about your changes.
There is no easy solution like "Don't search in system pages switch". There are several things you can do:
Use minus modifier in searches. for example, the search -t:help excluding system pages will not search any page with 'help' in the name. But it will search help pages in all other languages.
Add the site to data/intermap.txt.
I don't want CamelCase to automatically turn into links in my wiki. How can I disable this behavior?
Install ParserMarket/NoCamelCase plugin. You can set it as the default parser, use it for certain pages, or use it for sections of a page.
I want to migrate my wiki from MediaWiki to MoinMoin (missing the ACLs). I want to import existing pages including the change history. Is there a migration script in existence?
There is a quick-and-dirty one on MediaWikiConverter, and there is a parser on on ParserMarket (which lacks support for advanced formatting options, though) which could display the pages if you do not want to convert the markup. Unfortunately, I do not know any advanced converter/full-featured solution.
You just need one server, you just have to care for one installation (which can be upgraded easily), you can easily setup multiple wikis which differ just slightly, you can separate content of one wiki by running multiple farms, etc. pp.
Yes, you can set MoinMoin to read from the webserver's REMOTE_USER and autocreate accounts accordingly. Just add to your wikiconfig.py :
from MoinMoin.auth.http import HTTPAuth auth = [HTTPAuth(autocreate=True)]
Older notes (probably can be deleted now) :
I understand that this is essentially the same question as above. I'm running moinmoin version 1.5.2, and would like to rely entirely on server authentication to control access. Is it possible to identify users who are not logged in (and have no user profile) using the REMOTE_USER environment variable? Specifically, I'd like the value of this variable to appear in the editor field in the "info" view for each page. Based on various posts on this site, I've included the following in wikiconfig.py:
If this is working, I am unable to see an effect. Can anyone help or refer me to the appropriate documentation?
Update from the OP:
I identified the problem, and the solution may be useful for others. If the above does not work, check the value of the AUTH_TYPE environment variable. I added the following to wikiconfig.py:
1 from MoinMoin.auth import http
2 from MoinMoin import user
3 def uw_auth(request, **kw):
4 env = request.env
5
6 if env.get('AUTH_TYPE','') == 'UWNetID': # your institution's authentication method here
7 username = env.get('REMOTE_USER','')
8 u = user.User(request, auth_username=username,
9 auth_method='http', auth_attribs=('name', 'password'))
10 u.create_or_update()
11 return u, False
12 else:
13 # authentication failed, try the next method
14 return None, True
15
16 class Config(DefaultConfig):
17
18 user_autocreate = True
19 auth = [uw_auth, http]
A question for the community: is this an acceptable/safe workaround for a nonstandard server authentication method?
I found that each time I save a page, MoinMoin tries to connect to moinmaster.wikiwikiweb.de. If my firewall blocks this, the save is delayed.
This is the AntiSpam system trying to get an updated BadContent page. No information is sent from the server in the process. If you don't need AntiSpam, for example in an intranet installation, you can disable it by editing your configuration file and removing or commenting the line that says
from MoinMoin.util.antispam import SecurityPolicy
Or is it enabled if I see it in SystemInfo? In MoinMoinRelease1.5/CHANGES it says "Use it if you do not depend on fresh search results but prefer raw speed."
Just write FullSearchCached instead of FullSearch on your page.
Is there any possibility of either compressing the wiki-instance by eliminating parts of the /revisions-Directory or by decreasing the number of revision history (the default seems to be 100!) or by specifying a certain date to remove all history files which are older than that date?
You can manually remove old revision files if you need to and there is an automatic feature that removes ALL revisions except the last one:
moin ... maint reducewiki will flatten the wiki to the single latest revision. You need to add some options, run moin with no arguments to see them.
Hello, I’m trying to find a wiki for our institute. I already did some research in the internet but there is one issue, which is not so detailed described as I need it to make a decision which wiki to choose (and I don’t really like the idea of installing and trying with 3 or 4 wikis).
We will need two areas, one which will contain basic information, that is also used by students, and one which contains also actual research topics. As you surely guessed one thing we need is, that students can’t read in the research internals. I know that this can be managed, but I would like researchers to use the basic topics as well and not having these topics twice. So they are not two parallel areas but one is a subset of the other - and here some questions pop up:
- If a researcher is naming a BasicTopic in an article of the research area, will he create a parallel Topic in the research area, also the Topic already exists in the basic area (if he is not using any special link, because he would not know if it exists (or not think about it))?
- I guess it should be no problem to set different (for example) background colours to the template for basic and research. Can the user rights for this pages be also part of the templates or how would one define for a new Topic if it is part of the basic or research area and therefore by whom it can be read?
- can all this be solved by categories?
It would be nice if you could give me a short explanation how this could be solved in your wiki-engine (please as I’m not a programmer be economical with technical terms Thank you very much in advance, Best regards Oliver
What is the most clean way to disable spell checking?
What is the recommended way to back up a moinmoin wiki? I have read about WikiBackup but have found this action doesn't work and found references that it is not functional in v 1.5. This way seemed the easiest... I have read the general info on MoinMoinBackup so I know I need to backup the data dir. I also have read about the WikiBackupScript but haven't tried it yet. I currently am backing up by ftp'ing the entire data dir to my computer but this is slow. Recommendations? Info: my wiki is using v 1.5.7 and running on a host with only ftp access. Thanks
The WikiBackup stuff (action=backup) should work now, if not please file a bug. The reason for the CHANGES hint about "this is experimental stuff, don't rely on it" is that it didn't get tested too much and esp. desaster recovery and restore might have problems. But if you make a backup with the backup action and check yourself whether it worked and is complete, this is better than not making any backup just because it takes too long using ftp.
Is there a way to programatically add users? I would like to integrate MoinMoin into an existing web site that already has a registration facility, and I can already hear comments from users who will have to effectively register twice. The registration is form based ie not tied to an http authentication or REMOTE_USER. Thanks.
Is there any way to grab the conents of one wiki, and add it to another wiki?
By default, MoinMoin uses absolute URLs. Is it possible to use relative ones instead ? I look a little bit everywhere in the documentation but i didn't find anything about this ( i may have missed it). Anyway i think it's worth a short entry here.
do you mean like [[/mysubpage]] and [[../mysiblingpage]] instead of [[root/my/pages/mysubpage]]? (see HelpOnMoinWikiSyntax#InternalLinks)
We are running a MoinMoin instance since 1 year and a half in a intranet. We are a group of tech-savvy people, each login is in the AdminsGroup. Our MoinMoin instance is now full of interesting knowledge we want to share with other people: I have created logins and a group OtherGroup. The problem is: the actual startpage is organized to have links to useful pages for AdminsGroup and is a place for coordination, we don't want OtherGroup people to use this startpage (not interesting for them, they can't read the pages linked...), how can I change the startpage for some group or someone? Is this only possible? -- EricVeirasGalisson 2008-02-05 15:18:21
I do have a similliar situation on some of our wikis. I did solved it by creating a start page with content readable from users. This page includes other pages which have more restrictive rights. Because of included pages do have to repect acls only users with access right can get access to these informations.
I have much content in form of text or html that i want to pump into my wiki. But this is nothing i can and will do over a webbroswer - i seek some way to add pages with a script or something like that. Any idea?
Look at wiki xmlrpc, see MoinMoin/xmlrpc/*, esp. the putPage method. This method assumes that you have content in correct format, e.g. utf-8 encoded wiki markup. If you only have html or other text formats, you have to convert it somehow. Maybe search this wiki for "html import", IIRC there was some way, but you have to find it yourself. In general, if you expect short response times, maybe just hang on our IRC channel and do some research on your own before asking.
To increase safety of the wiki I want to make sure that the wiki logs users out after a certain time. What's the simplest way to do that?
Try cookie_lifetime = 1 in your wiki config.
Hi, just today I realize that my recent installed 1.6.2 need to be upgraded to 1.6.3 to fix some serious security issues. The normal solution is to download MM 1.6.3 and make a installation/migration, but I wonder if a simpler solution exists, like applying a patch to my current installation, or tracking my own code with Mercurial or something else... Is there a way to do this? Can I imagine tracking my own MM instances with Mercurial? Do someone have a solution to this problem? Thanks in advance. -- EricVeirasGalisson 2008-04-21 12:53:59
You can run the moin code from a mercurial workdir. If you also point your webserver into the workdir for the static files stuff, minor upgrades should be rather easy. You still will have to read docs/CHANGES about configuration changes and run the mig scripts.
In moin version 1.6.2/3 I have tried to setup a SyncJob in order to backup my wiki. I have read the page "HelpOnSynchronisation". I have also created a "intermap.txt" file, first in folder moin-1.6.2 later in folder wiki/data.
In both cases I got an IOError: unsupported XML-RPC protocol.
Unfortunately the information for synching a wiki is spread in different files. I would very much appreciate, if someone (Alexander Schremmer would be great) could please give me a hint how to debug the SyncJob action, or write a HowTo.
I already inserted "import pdb/pdb.set_trace()" in file "wikisync.py" line 168 (class MoinRemoteWiki), but it is very difficult for me to figure out (stepping and printing) where the link to the remote wiki is searched for. The variable "wikiurl" did show just a '/'.
Greetings, Rudi 2008-04-22 17:30
HelpOnSynchronisation was actualized some days ago
Please check the remote wiki's wiki config for actions_excluded - the builtin default of it (actions_excluded = ['xmlrpc']) disables xmlrpc (this default was chosen to not open your wiki to automatic read/write access by xmlrpc except if you really decide to want that). To allow xmlrpc (wikisync is based on xmlrpc, so it won't work if you don't allow it), remove 'xmlrpc' from the exclusion list (e.g. actions_excluded = [] if you don't want to exclude any other actions).
You may want to protect your wiki by using ACL rules.
Thank you very much for the quick answer. I already read that, and looked in wikiconfig.py and moin.py and did not found any "action_excluded" statement.
Greetings, Rudi 2008-04-23 18:07
The "xmlrpc" (Remote Procedure Call) for the SyncJob can be enabled in "wikiconfig.py".
actions_excluded = multiconfig.DefaultConfig.actions_excluded[:] actions_excluded.remove('xmlrpc')
You should have defined also a good acl_rights_default on your wiki. -- ReimarBauer 2010-12-18 07:22:24
Then you have to restart the moin wiki, actual version 1.9.2.
Moin version 1.9.3 does unfortunately have a sync problem up to now.
-- RudolfReuter 2010-12-17 22:17:56
I would like to configure email support to use the current user's login and password for the mail_from and mail_login entries in the wikiconfig. Goal is, when a user changes a page, the subscription eMail is sent from that user's account (which is identical to the username in my environment). Is that possible? Supplying a default user/pw is not possible (unsafe).
'Unsafe' means, I do not want to write my personal login into the config file, and the Mail Administrator in my big company (big meaning very big and very complicated) will definitly not provide me with a dummy address as you proposed - he will probably kill me for asking
You could change the code rather easily to use the editors mail address as from: address, but you can't easily get his password (we only store a password hash, no cleartext password). But as long as the destination address doesn't require relaying (because the target mailserver is the destination domain's mailserver), the mailserver would likely accept the mail even from an unauthenticated connection.
Whenever you edit something, you would get a thank you message for editting the page (or creating it.) Now, if you navigate to a new page, and press back, you will get an error. I figured the error is caused by the "thank you" message (because the #preview is append to the end of the page's name).
Is there a way to get rid of this error? If not, is there a way to get rid of the thank you message? Thanks -- 12.109.151.100 2008-07-31 18:44:59
Don't go back by the browsers button use the navigation of the theme
I want to put the @_SIG_@ variable as a clickable icon on the icon toolbar when editing by GUI. Is there a way to do so? Thanks -- 12.109.151.100 2008-07-31 18:49:00
That needs a modification in fckeditor javascript code.
Hi, I was wondering if there's a way to include the MoinMoin search engine for my wiki onto an external webpage that's written in HTML. I want to be able to put the search engine on the external page, which is not part of the Wiki, and have the engine search my Wiki only. Is this possible? Thanks -- 12.109.151.100 2008-07-31 20:24:20
You could add the searh dialog form to your external webpage.
We are using just starting to use Moin Ver. 1.8.2 but the Trivial change flag does not appear when we edit. I can't find anything that indicates that this is a configurable option. How do we make it available ?
I assume you don't have email enabled. Do you see the Subscribe/Unsubscribe link in the edit bar? This also appears only if email from the wiki is enabled.
Correct- e-mail not configured yet. Thanks Gerry
The documentation says:
A page name is translated only if the wiki knows about the language, the wiki translation contain a translation for the name, and a page with that translation exists. If any of this is false, the original name will be displayed.
So using 1.8.2 I have installed Italian, created an ItalianDict page and created two pages TestPage and PaginaProva. I can see that Italian is installed because all the standard messages are in Italian as are the navigation bar tabs. Further the <<GetVal(ItalianDict, TestPage)>> returns PaginaProva so the dictionary is working fine.
So therefore after changing my language to Italian, I presume that my TestPage link should now be shown as PaginaProva, and that when I navigate to it, I should navigate to PaginaProva, which should be the displayed name on the navigation bar tab. Unfortunately it all remains as it does in the English version. I supose this is some misunderstanding by me. Any suggestions ? -- GerardODriscoll 2009-05-21 15:43:56
No response to my query above. Has anyone implemented a multiple language site using MoinMoin ? -- GerardODriscoll 2009-08-24 11:41:10
It won't magically change links in your content. There is special code that does this for navibar and front page. -- ThomasWaldmann 2009-08-24 11:50:51
Im writing an authentication (auth) against an external MySql database. I need to manage the ACL rights of wiki users and i have decided to manage this through groups. The group(s) that users belong to are maintained in the external database. Is there a way of automatically maintaining groups in moinmoin? I dont want to maintain groups by hand as there are too many users, and users move between groups.
In the MoinMoin 1.9 groups code was refactored and now it is possible to write backends for groups. See Groups2009 for more details.
ConfigLazyGroups is an example how such a backend can be implemented. You should subclass LazyGroupsBackend and overwrite needed methosd (see ConfigLazyGroups).
Also, there is a patch for a LDAP backend -- DmitrijsMilajevs
Hello, and thanks for the perfect job, i'm using and loving MoinMoin as Desktop-Version for years now under Kubuntu 10.04.
Now, that we're beginning to use Confluence at work, some are astonished, how powerfull MoinMoin is even in comparison to Confluence.
I have MoinMoin with modwsgi-I/F running at apache2 at home and have build a standalone wiki completely based on portable apps running on an 16GB-U3-Stick (U3-launch, ASuite, Portable Python) .
The only Problem is, that all external links are dead-links, when i use the wiki on another Laptop / PC, where the drive-letter for the usb-stick changes.
Is there an easy way to solve that?
Thanks in advance
I guess that solves it
MoinMoin/script/moin.py ... maint cleancache MoinMoin/script/moin.py ... maint makecache
see HelpOnMoinCommand -- ReimarBauer 2011-09-21 14:09:17
-- EMuede (Ewald Müller) 2011-09-21 14:00:00
Thanks for reply,
I think, the problem is a bit more complex and is not solved by renewing the cache:
On many places in the wiki i used external links f.e. to 'G:\Offline_kopie\blah\dingens.txt' as an absolute adress. I don't use relative references 'cause they are too 'far away' from the wiki-subdirectories.
If the stick lands on drive-letter 'I:' i have to manually change all the links, therfore i wanted to use a system-variable ?home_drive? or an {url_mapping} instead.
Read about InterWikiMap. You can use that for any kind of links. Then you have only one place where you need to change it. A page can also be updated by a cli script.
There is also a second advantage: The Wiki can be hold small (for backup, maintenance) and serves only as a a comfortable index to the greater amount of external stored data. The whole external Datastructure is -for security- stored a second time on a share, so i could switch to that strukture by using the {url_mapping} ?
May be you are also interested in https://utils.icg.kfa-juelich.de/docs/wiki-xmlrpc-extensions/0.2/wiki-xmlrpc-extensions/ForkWikiContent.html
Very interesting tool! I solved this problem by copying the whole wiki-content from stick to harddrive and used FileSync to synchronize them. I could switch the wikiserver.py (from G: or D: f.e.) in PortablePython depending on the wiki (or copy), i want to use. I'm not used to program in python (though i had >10yr. PL/I-Experience), maybe i would only need one changed system-variable (like mentioned above) to redirect the links?
-- EMuede (Ewald Müller) 2011-09-21 20:00:00
As I mentioned already read about InterWiki. If you define links like 1938 then for those links you need only to change the InterWikiMap page. But this only partly solves your problem. The cache files are dependent to the python version used. So on a different python you need to invalidate them.
Just upgraded from 1.8.4 to 1.9.7 and discovered that the sysadm=users action (that calls do_user_browser in userform/admin.py) now return the alphabetically sorted list of users. In earlier MoinMoin versions the table was sorted by the user account creation date. As the wiki admin in our company I visit this page very often in order to check for new users and give them appropriate permissions. Now it is an impossible task. Right now I'm digging into the sources in order to revert this behavior, but with no success so far. Maybe someone (especially the MoinMoin developers ) has a solution? -- AlexanderAgibalov 2013-10-19 10:56:15
Patch to add a creation time column and sort in descending order.
diff -r 4becc0df2e5f MoinMoin/userform/admin.py --- a/MoinMoin/userform/admin.py Thu Oct 17 12:02:46 2013 -0700 +++ b/MoinMoin/userform/admin.py Sat Oct 19 10:29:25 2013 -0700 @@ -10,6 +10,7 @@ """ +import time from MoinMoin import user, wikiutil from MoinMoin.util.dataset import TupleDataset, Column from MoinMoin.Page import Page @@ -26,6 +27,7 @@ data.columns = [ Column('name', label=_('Username')), Column('groups', label=_('Member of Groups')), + Column('creation', label=_('Creation Time')), Column('email', label=_('Email')), Column('jabber', label=_('Jabber')), Column('action', label=_('Action')), @@ -45,11 +47,12 @@ # not sure if we can keep lots of User objects instantiated # in parallel (open files? too big?) u = user.User(request, uid) - accounts.append(UserAccount(name=u.name, email=u.email, jid=u.jid, disabled=u.disabled)) + creation = '.'.join(uid.split('.')[:2]) + accounts.append(UserAccount(name=u.name, email=u.email, creation=creation, jid=u.jid, disabled=u.disabled)) def sortkey(account): - # enabled accounts at top, sorted by name - return (account.disabled, account.name) + # sorted by creation time in descending order + return (-float(account.creation)) # Iterate over user accounts for account in sorted(accounts, key=sortkey): @@ -114,6 +117,7 @@ data.addRow(( (request.formatter.rawHTML(namelink), account.name), request.formatter.rawHTML(grouppage_links), + time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(float(account.creation))), email_link, jabber_link, recoverpass_link + enable_disable_link
Works great! Thanks a lot!!! -- AlexanderAgibalov 2013-10-21 06:17:38
I enabled logging on my MoinMoin installation and configured LDAPAuth. I get this in moin.log:
2014-05-05 11:59:24,087 MoinMoin.auth.ldap_login:245 invalid credentials (wrong password?) for dn 'uid=USERNAME,ou=UNIT,dc=EXAMPLE,dc =ORG' (username: u'USERNAME')
I replaced the real values with USERNAME/UNIT/EXAMPLE/ORG...
Is it possible to add 'remote_addr' to this, like in event-log? I tried to do it myself in ldap_login.py but failed...
-- holzkaefer 2014-05-05 13:57:00
I added supplementation_page = True # default is False to my wikiconfig.py, but I do not get any discussion pages, neither for existing nor for new pages.
If I add #pragma supplementation-page on to a certain page, I do get a discussion page. So, in principle the supplementation pages seem to work.
I use version 1.9.7.
-- FranSin 2025-01-21 01:22:27
Contents
Since I upgraded to version 1.5.3 the pdf attachments on my wiki pages will not load in my browser. I can download them and view them in acrobat, but cannot view them via the acrobat plugin. I see this behavior only with docs on my wiki. What can I do to correct this? -- JamesCurry 2006-04-23 11:30:21
Hi! I am having the same problem - but only on machines running Acrobat 7 (+Firefox + Windows XP) not on those using the older version of Acrobat 5 which displays a pdf's first page quite nicely. The Acrobat 7 plugin always gives an error message twice before I can download the attachment and view it in the external viewer. JensBachtler
With regard to loading times I am about to switch back to Acrobat 5 instead of upgrading. JensBachtler
In Firefox PDFs will load with the Acrobat plugin after installing the LocalLink add-on and selecting Open Link in Local Context from the contextual menu. --Marduk
Is it possible to copy a page and all of its attachments, do some small changes to the page and upload the changed page as a new page?
Thanks. -- JohanZiprus 2025-01-21 01:22:27
You can move a page and all subpages (also the attachments) with a single command/action. Downloading and uploading a page; works only with single page. copy a page is disabled, due some "questionable behaviour". see also the changes...
-- MarcelHäfner 2008-06-24 15:29:51
I'm using the DeskTopEdition as a PIM and it is very good. I was planning on using the pages as a project logbook and storing associated project files as attachments.
You could store the files locally and link to them. This is not possible in most browsers either. Check the paragraph "Links to files" on the page DesktopEdition for further information.
Is that possible? -- MSt 2006-02-24 13:15:17
If I install the html.py plugin I can do something like:
{{{#!html <P align='CENTER'> <img src='http://homepage.mac.com/levanj/.Pictures/Morini.jpg'> </P> } } }
And the image will be fetched an be centered in the page. Is there any decoration that can appear around
attachement:Jerry.jpg
That can achieve the same effect?
Jerry
This my wiki page:
Infos und News 2010 [[Anchor(top)]] *[#kw16 KW 16] *[#kw14 KW 14] *[#kw13 KW 13] *[#kw11 KW 11] '''[[Anchor(kw16)]]KW 16''' [#top TOP] * [attachment:diesUndDas16.pdf Dies und das 16] '''[[Anchor(kw14)]]KW 14''' [#top TOP] * [attachment:diesUndDas14.pdf Dies und das 14] '''[[Anchor(kw13)]]KW 13''' [#top TOP] * [attachment:diesUndDas13.pdf Dies und das 13] '''[[Anchor(kw11)]]KW 11''' [#top TOP] * [attachment:diesUndDas11.pdf Dies und das 11]
This works but I wanted to replace "TOP" with an image called "image_TOP.png". I tried so many things but none of these worked. Is it possible to use an image to link to an anchor? Thanks for an answer.
in recent moin versions you can do it by
[[WikiSandBox#anchorname1|{{attachment:python_logo.png|text describing image|width=100}}]]
An example of that was added at bottom of WikiSandBox
Because of the syntax you showed I guess you have a moin version before 1.6. Please read SecurityFixes and update as soon as possible.
-- ReimarBauer 2010-04-22 10:32:14
(update problem; solved )
"Diese E-Mail-Adresse gehört bereits jemand anderem": This is the message I get if I want to update the user preferences of my own account. What I have done:
create user MaxMustermann with email Mustermann@nirwana.net
DO NOT: create user ErikaMustermann with email Mustermann@nirwana.net
copy the old data directory into the new instance: cp -R moin-1.5.0beta/MyInstance/data moin-1.5.2/MyInstance
login with MaxMustermann; the email Mustermann@nirwana.net is shown
The idea was to keep the old version running. The problem arises if you merge the user data of two running instances.
Solution: allow a mapping of different users to the same email address. -- Yes, I am aware of that: Somewhere else in this wiki there was the discussion, if one email adress should allow more than one UserNames. IMHO this should be allowed: It ist quite useful e.g. for demonstration or admin purposes; mainly it allows to play several social roles in the same group. The current moinmoin policy arises the need to have several distinct mail aliases on my server. Would it not be better to know within the wiki which different users have the same email? jbusse
Use the [[MailTo()]] macro: <FooBar@FooBar.foo>. You can also do spam protection: <FooBar AT FooBar DOT foo>.
How do one align images in the text? I would like the image to be right aligned and the text to flow around it on the left side. Thanks in advance.
{{attachment:LaVieEstDure.jpg|hover text|align="right"}}
How can I include into a MoinMoin wiki page a graphic from some other ressource, if its URL does not end in .gif, .jpgetc.?
I can't seem to find the appropriate syntax to embed an image in-line, position it on the page, set the size, etc. Any input on this appreciated.
To resize an image and/or provide an alt tag for it use MacroMarket/Image.py . To align images see SectionParser or ParserMarket/Frame. ParserMarket/Frame by Reimar Bauer is really great and easy to use but has - since it is relatively new - still some issue
For size and alt tag you can just use
{{ image | alt | width=123px, height=456px }}
When I display an attached picture with attachment:albumcover.pngIt positions itself to the left of the page, and with the size the picture has. But I want to be able to have the picture aligned right and with a smaller size. Is this possible?? I suppose I could put it in a table with a tablestyle that positions it where I want it. But I can't change the size that way can I??
look at MacroMarket/ImageLink
I want to display a few images, all in a line. It can be done with attachment:a.png attachment:b.png attachment:c.png, but I need to use ImageLink. But every ImageLink forces line break (like ``BR), so it is impossible to have a row of images (and I don't want to use tables everytime). How can I stop ImageLink from forcing linebreaks? It's not even documented, that it should do it. If I want a linebreak, I can do it on my own :/
May be you have an older version, please check SystemInfo. Here it works as supposed. -- ReimarBauer 2007-04-13 19:11:31
indented (and wrongly linebreaked):
I've added a bugreport, see MoinMoinBugs/IndentingAndSpaceBetweenTwoMacroCallsGivesLineBreak
indented (without the space in between not linebreaked): current workaround
Is there a easy way to copy/paste mathematical formulas from MS Eqation editor 3.0 to Wiki pages. Failing that, any workaround would be appreciated.
Whenever I try to paste from MS Word in the gui editor some invisible formatting seems to come along for the ride and mess things up. I use the paste from Word option every time. I have tried checking both options for "Ignore Font Face..." and "Remove Styles Definitions", neither seems to do anything. If I paste from word, and then manually go through "sanitizing" the styles then things seem to work OK. But I thought that was the point of the paste from Word option, to do that for me. Word 2003 seems to be much worse than Word 97, but that is from limited testing, and I did still see problems with Word 97. I never tested 2000 or XP though.
-- I experience the same problem using Word 2003 and Word 2007. I'm going to test in Word 2000 as well. Is there some secret to getting this to work? --
Is there an easy & quick way to import data from a text file and convert it into multiple wiki pages, using a simple separator between entries ?
I am confused about the resetting password feature, this is with 1.5.3. When it sends the email the password is the SHA encrypted value, and the text on UserPreferences says to "Just copy and paste it into the login mask into the password field and log in." But I can't seem to get it to work. When I paste that into the password field and try to login it tells me "Sorry, wrong password" Is this a bug or am I doing something wrong?
I found the source of the problem, and also a fix. See MoinMoinBugs/ResetPasswordEmailImproperlyEncoded
I have not been able to set the wiki up so that it emails lost user passwords to people. Is there any way that I can retrieve a lost-password manually from the data/user files (or elsewhere)?
With a recent moin version (like 1.5.3+) you can change to that user on your UserPreferences page if you are a superuser. Then just set him a new password and tell him.
No, but you can manually log in by appending ?action=userform&uid= followed by the filename of the user's data file (grep in .../data/userfor the user name) to the page URL.
passwd = "something" from MoinMoin.support.python_compatibility import hash_new import base64 from MoinMoin.util import random_string salt = random_string(20) hash = hash_new("sha1", passwd) hash.update(salt) print base64.encodestring(hash.digest() + salt).rstrip()
Asking for the second time,
I have access to the config files, but email apparently isn't enabled (even though I put in an SMTP server in wikiconfig.py just now) and thus there is no "mail me my account data" link. I tried pasting in the SHA-1 hash from my file in wiki/share/moin/data/user/... but it won't accept it. How can I get access again? It seems ridiculous to me that a lost password for an admin account is unrecoverable!
Did you enter the mail_from variable too, otherwise I'd suggest to do it -- ReimarBauer 2006-06-01 06:50:32
How do you change the font size for the print page?
Is it possible to nest a table in an li element? - resulting in i.e.
<ul> <li>Item A</li> <li>Item B <table> <tr> <td>A</td><td>B</td> </tr> <tr> <td>C</td><td>D</td> </tr> </table></li> <li>Item C</li> </ul>
When I try
* Item A * Item B || A || B || || C || D || * Item C
I don't get the desired result ...
A workaround is to add the table on a subpage and to include it
* Item A * Item B <<Include(/Table)>>
Another one is to add nested markup by the MacroMarket/MiniPage macro
We have users that don't really get the special characters in Wiki and so don't like to use the Wiki. Therefore we are upgrading to this later version of MoinMoin Wiki. I have tried using the GUI editor, but there is a distinct lack of help text on using the GUI, as far as I can find. But the GUI should have even more help for those types of people that use it. Yes some things are just like standard programs that they use, so those parts should be easy for them. But there are other things that are not in standard programs and should have extensive help available. Anyway, I could find no way to edit an existing table - in particular to add or remove rows or columns. There is a button that sometimes is enabled, but it only seems to be able to insert a new table, even though it says "Insert/Edit". Hopefully I am missing something simple. Otherwise there seems a major usability problem here. How does someone perform these operations in the GUI? [I won't go in to more advanced things, such as spanning, which are probably very hard to put into the GUI, but the ones that I am asking about are very basic table manipulations.] Thanks.
Hmm did you tried as in other programs the right mouse click in a table. The icons and the text behind them should help to find the action you are asking for. Some of these functions may not be implemented for each case or combination completly by now. If you got a wiki syntax error please file a bug report at MoinMoinBugs. This does much help to improve this tool -- ReimarBauer 2006-07-06 05:31:21
As you know the editor is the fckeditor. We would be glad if someone could help to add a short description on that on moinmaster.wikiwikiweb.de. If it's the first time helping with documentation please read EditingOnMoinMaster before hand. -- ReimarBauer 2006-07-06 21:31:15
||<style="border: none;"> borderless table || produces a borderless cell, which works with firefox and IE6. <tablestyle="border: hidden;"> works with firefox, but not IE6. Bordless tables don't seem to be covered in the HelpOnTablesexamples.
-- I posted this here originally because I had been bitten by MoinMoinBugs/TableStylesAreNotRespected and couldn't produce borderless tables. -- GregWhittier 2006-03-29 14:21:55
-- You may want to look at MacroMarket/Columns if you need simple column layout rather than complex tables. It will result in a borderless presentation. -- DanONeill 2007-08-15
I'm trying to figure out how to customize tables using CSS. What I want is something like in MediaWiki with the Wikitable class where the table formats with certain colors, header and borders based on a tableclass. I've tried pasting the Wikitable CSS code into the common.css file from sinorcaformoin (the theme I'm using). I can't seem to get this to work. I've even edited the default table settings in this file and can get some but not all the formatting to affect a table. For instance, I can't seem to get padding to change. What I really want is for the first row to take the heading (th) formatting. I'm new to CSS and I'm getting pretty frustrated. Any suggestions would be very welcome. Regards, Eric Shain
Q: I would like to create a table who's first column is autonumbered..
1 |
stuff |
2 |
more stuff |
This would allow for easy insertion of data. Thanks, Dave.
Reply : I am not sure how to understand this. Where should the number come from? e.g.ParserMarket/sctable or ParserMarket/sstable
Reply to reply : I was hoping the rows would be autonumbered starting at 1 - Dave Thanks for the sctable pointer
can I include list in a table cell? I've tried:
|| 1. aaa<<BR>> 1. bbb<<BR>> 1. ccc||
but this produces incorrect numbering:
1. aaa |
see MacroMarket/MiniPage or use Include
Can I somehow create a table inside another table's cell?
Use the Include macro or MacroMarket/MiniPage.
||<<MiniPage(||aaaaaaaaaaa||)>>||Produces sth like:
|
-
This table can be viewed with the proper colours in the browser.
green |
red |
white |
blue |
But when you try to print it, all the color disappears. How can I print it with colors or how to make it compatible for printing?
2008-07-10 Is there an option for <<FullSearch(...)>> to output results not like:
1. firstresult 2. secondresult 3. ...
but like:
firstresult, secondresult, thirdresult, ...
It would consume much less space on the screen. I would like to dynamically show pages from Categories on the starting page. The list output destroys the whole layout of the starting page, while unstructured output would look very nice like tag clouds...
I'd like to find sg. via full text search, but i'm getting lots of results of WikiHelp which makes it hard to find the (few) entries of my own wiki data.
for which version do you ask?
I'm using MoinMoin Version 1.2.4 [Revision 1.187] Can you please tell me from which version on it is possible to suppress searching the WikiHelp?
I want to make a link to a search to all my pages starting with 'Categorie', I tried several ways :
http://my.wiki.tld/StartPage?action=fullsearch&value=regex:^Categorie&titlesearch=Titres that works but mark this link as external, so not really good
^Categorie&titlesearch=Titres:wiki:Self:StartPage?action=fullsearch&value=regex:^Categorie&titlesearch=Titres doesn't work, it seems to convert all ? to %3F and all = to %3F in the link so it doesn't work
Anyone have a solution to this problem ? -- EricVeirasGalisson 2006-04-14 08:15:19
Yes, the page CategorieCategorie already does what you are trying. On it, there is a search marco that creats the list (see HelpOnMacros and HelpOnSearching. Ok, but this is the solution for the next problem (how to search for categories) but not to link to a search. Maybe, there is no solution, nevermind, i'll manage with that. Thanks. -- EricVeirasGalisson 2006-04-18 06:51:06
I found very different implementation for backlinks:
[[FullSearch()]]
[[FullSearch(regex:\bCategoryName\b -title:regex:^Category)]]
[[FullSearch(regex:(----(-*)(\r)?\n)(.*)CategoryName\b)]](This seems to match the stuff generated by the "Make this page belong to category" option)
Before I upgraded my wiki I was able to use he syntax Link to a page with an action however with the latest version the editor translates the ? and = to %syntax? Is there a way to do a wiki link to a page with an action? Is there an escape sequence for the special characters?
You can use link parameters with [[wikipage|Link to a page with an action|&action=edit]] which render Link to a page with an action
Marc Zonzon
I'm not responsible for the configuration or installation of the wiki, but I'm the editor of a MoinMoin-powered wiki and I'm having some bizarre trouble with categories, even if I've followed the instructions found on HelpOnCategories - it seems that I can create categories (by adding the CategoryWhatever tag in the respective pages) only if their name is a one-letter one, like CategoryWhatever. When I try to enter multiple words in the title of a category, it creates a new page. Can you please explain category creation step by step to see if I'm doing anything wrong? Otherwise I'm guessing that there's a kind of setting in the configuration that prevents me from naming categories as I would - thanks.
Edit - I figured it out - when the new page is created I just click on the CategoryTemplate and then it turns the new page into a category. Phew.
Is it possible to ignore the wiki markup. For example if you want to write a date at the beginning of an indented paragraph MoinMoin interprets this date as a list entry. See example below:
21. August 2008 (that's how it looks with backticks) 21. August 2008 (this one has a backticked leading space ... also not what I want)
I know that enclosing it in backticks would solve that problem but it will also switch the font to monospace. Is there any other way to ignore the markup for certain entries?
Answer
Seems that I found the answer myself: a list without bullets will help. Put a 'space .' infront of the indented paragraph. Example:
To ignore CamelCase for example put the exclamation point in front of the text that isn't intended to be CamelCase
First note that the "Make this page belong to category" option format is not very important, as anyone can change the text on the page. You should not assume that all categories are created using this format.
In moin 1.3.4, search has a new linkto: modifier. This modifier does not search in the page text but in the page links cache files, which is much faster and put less load on the server. The [[FullSearch()]]syntax should use this option. But this will find any page that link to the page title, even if its not a category. The last syntax using the hr should more correct, but if someone deleted the hr or added whitespace or comments below it, it will not find the page.
Since categories are not defined in a strict way, there is no one good way to search them. Adding Categories:prefix might help to fix this problem.
Pages can be attached to some category, but how can this be made undone? (without deleting or renaming the page of course)
Simply remove the category tag at the end of the page.
Wikimarkup in headings is not possible in default, but is possible with a patch. See FeatureRequests/TitleFormatting
How can we force sending eMail notification of each change to registered users which have subscribed to mail notification?
Insert .* in your UserPreferences to subscribe to every page. Also, look at CategorySpam. There is a UserPreferences switch Subscribe to trivial changes which allows you to see even changes which were marked as trivialby the submitter.
See MathMlSupport.
Use the macro MacroMarket/ImageLink. It is already included in the DesktopEdition.
I'd like to track all pages that fall under a (say) CategoryDiscussion category. I don't think there is a title RegularExpression (for use in UserPreferences) to accomplish this. Should I file a FeatureRequest? I saw a "FeatureRequest#Page Subscription Options" (under Old Feature Requests, but I don't know what Old means -- won't be implemented? -- MicahElliott
Please see HelpOnSubscribing -- RayMosteller
How is the new homepage mechanism implemented? Can i change the default template that is give by the name HomepageTemplate. As I translate templates into my local language the HomepageTemplate has another name (ending "Template" changed) -- ThiloPfennig 2006-02-05 11:06:09
I am trying to subscribe to a group of pages and their sub pages using a regular expression
The page names are of the form VerPlanning/Metrics.
I can subscribe to all pages with .*
However I want to be able to subscribe to *VerPlanning* and this does not seem to work. Any hints or examples would be really appreciated.
*VerPlanning* is not a valid regular expression. It means zero of more of nothing, then VerPlannin, then zero or more g What you like to use is .*VerPlanning.* or VerPlanning/? - it is not clear from the question what should be the correct pattern. Please see HelpOnSubscribing -- RayMosteller
I want to use the MonthCalendar as a group vacation calendar. I wanted to have a calendar for the group and provide a template with everone's name on it. If someone was planning vacation for a day then they would mark their name so it would show up when the pointer is held over that day. It appears that only the first level headers show up. Could Other list entries be added? For example, *.
Thanks,
GlennOpdyckehansen, <glennoph AT gmail DOT com>
MonthCalendar currently only displays first level headlines. The space you have in that bubble is somewhat limited, so I don't know whether it makes sense to include more headline levels or other content of the target page. If everybody puts his name into a firstlevel header, it would solve your problem maybe. -- ThomasWaldmann 2006-06-23 06:22:41
I mean just like MonthCalendar. if I put a [[DateTime(2006-09-13T13:20:26Z)]] into a Newpage macro it expoands but expands to the current time. What i want is rather a substitution by the current time. Did I miss that or is it described somewehere on the docs? I want to egenrate pagenames like ExamplePage-08-13-2006-14:00
= News = <<TableOfContents>> Click to post a news item: <<NewPage(NewNewsPostTemplate,Post a new item,@SELF,%Y-%m-%d.%H%M%S)>>
This will create a new subpage with the name yyyy-mm-dd.hhmmss (ex: wiki/News/2012-04-19.160449). The %Y, %m, etc are Python codes. See http://moinmo.in/JohannesBerg/NicerMoinBlog for more info. Good luck! signed happy Moin user
I was wondering if there is any extensions out there for a bit better GUI editor that include more buttons/shortcuts?
You can if you use iceweasel/firefox install an add-on called "It's All Text". With this you can edit with your favourite editor. I'm soon going to start making a moinmoin mode (not syntax) for Vim... -- Fri Feb 2 22:48:31 CET 2007
We want to use the wiki-information for a help-window in our client application. In this window we would only want to have the page-content. The user should be able to navigate from page to page using page links.
Create a minimal content theme for your wiki that does nothing:
Copy this file to your wiki/data/plugin/theme/content.py, and in your wiki cofniguration file, set theme_default = 'content'.
See HelpOnThemes for more information.
I want to list all subpages, that do not contain the word "Server". I tried <<PageList(Your search query "OurProjects/^(Server" is invalid. Please refer to HelpOnSearching for more information.)>> but that didn't deliver anything. I also tried
Are the MoinMoin-regex somewhat non-standard?
I'm looking about a function like catchwords in library systems and to create an index over it. So I could use (maybe) the '#pragma keywords word1, word2, word3' and would like to get an output like WordIndex.
Why don't you simply use the search function when looking for some catchword?
I don't like to search for a special word. I would like to get a list of catchwords and a link to the pages where is it located like the WordIndex or TitleIndex function of MoinMoin.
Any help how I could implement this would be helpful. I tried to adapt the WordIndex function to a macro but without any Python knowledge and about the existing MoinMoin objects it's quite difficult.
Bye the way - which editor would you suggest for Python programming?
You can use any text editor you like (it should be able to expand tab key to 4 spaces). Many people use vim or emacs (you have to get used to them). If you prefer something IDE like, try eric3.
How can I display links to all versions of a page? Currently only the last 100 are shown at the page history. BTW: Manually editing the URL is not an option.
Our wiki has a news page that gets updated regularly, the last 100 revisions only go back for a few months. My users have asked me about access to the older versions. Since they have no shell access they could only fetch older versions by manipulating the query string which poses two problems:
Adding a link to the next 100 revisions sounds like a candidate for FeatureRequests, but if you just want to show all revisions all the time in the history table, edit wikiaction.py and find the following lines in the history() function:
count += 1 if count >= 100: break
Change break to pass, and you'll see all revisions. The performance hit will (obviously) depend on the number of revisions for the page you're looking at; viewing the history of a page with 1000 revisions will take about 10 times as long as a page with 100 revisions. -- BradeyHonsinger 2006-10-26 18:33:11
There is now a Feature Request: http://moinmoin.wikiwikiweb.de/FeatureRequests/NextInfoPage --Neal McBurnett
I would like to create a list of possible WikI page names, which will be handled the same way as names in CamelCase are handled. I.e. MoinMoin should automatically create a link the that page. Examples for such names are ABC DEF ABC123 DEF222 and even 1234. This would save a lot time for users (and for me...) - is this possible?
No, not out of the box. You would've to write your own wiki parser for such a thing. There was a thing named GaGa parser some time ago (pre-1.3) that linked every word which had an existing page, but I didn't revive it yet for 1.3+ due to performance reasons (getting a page list is much more time consuming in 1.3 than before). Maybe you can write your own parser, reusing code from wiki.py (parser) and putting the words to link onto a wikidict page. If you don't want to write it yourself, there are FeatureRequests and MoinBounties. -- ThomasWaldmann 2005-12-03 09:32:27
Thomas, thanks for your comment. I will know at least have a starting point. Thanks, Henk
I would like to have my wiki on my notebook to have all my information with me when travelling. When returning i like to syncronize with the ServerVersion of my wiki. Is there any way to syncronize in one or better both directions?
I'm using unison as a synchroniser. I'm using it to fully synchronise both copies (desktop, notebook) with deletions and all. It needs some setup but works fine, at least for me, because I'm using it under the following preconditions:
I am the sole user of the wiki (DesktopEdition) at the desktop and the notebook.
Additionally, see WikiSynchronisation.
When page are changed more than a few times per day, a person who wants to receive e-mail containing those changes can get a lot of e-mails.
MoinMoin does not have mail digesting. Please file a FeatureRequest.
I am would like to create a slideshow over several existing pages on my wiki. The pages are in no particular order and in different subfolders. (The slideshow should point to different character pages for an MMORPG guild that is spread over several games, so I may wish to add both StarWarsGalaxies/Humpty as well as WorldOfWarcraft/Dumpty).
I noticed that you can subscribe to the RecentChanges page. Does this make sense? How does it actually work? I do not receive notifications to 'changes' to this page.
If you want to subscribe to all pages, go to GetVal(UserPreferences) and enter .*into the list of subscribed pages.
I have to type a common URL path quite a bit in some of my pages for inline images. It would be nice to define a variable at the beginning of the page and refer to it later - e.g. #define IMGURL=//www.mywebsite.com/users/fred/fred_wiki/images
and then go
http:$IMAGURL/smiley.png
in the text.
Yes, you can create a page below your WikiHomepage called MyDict and add a dictionary definition on it. After that, you can "call" it on the page like @IMAGEURL@. See WikiDict.
Hmm, I think that this won't solve my problem. I want to be able to add the variable in the text, and perhaps change it later. Don't @VARIABLES@ get replaced after edit? Also I'd like to be able to set the variables in the page in question. I think that TWiki does this, but I've installed MoinMoinnowandpreferit. I can't abide Perl.
I have managed to hack the feature by modifying request.py, page.py and wiki.py. I've never written python before, so my code is probably appalling, but it seems to work! I added a new pp command called '#set' and you go '#set variable value'. By default $variables are ignored - for backwards compatibility - but as soon as page.py sees a "#set" command, variable_mode is switched on and subsequent $variables are replaced. Do you want to add this feature? Do you want to see my appalling code?
We like to see only nice code I think you can get the same effect with pragma and a macro and not change to moin code.
First, you add values to the page with a pragma:
#pragma foo bar #pragma bar baz
This will put foo and bar into request.pragma dict.
Now you write a tiny macro called Get.pythat get the argument:
Dependencies = [] def execute(macro, args): replacement = macro.request.getPragma(args) if replacement is None: return '[[Expand(%s)]]' % macro.formatter.text(args) return macro.formatter.text(replacement)
On the page, you use Get(foo) when you want to expand something. It may be too verbose compared with $foo or ${foo} - but I'm not sure if this feature is needed for most users.
I want to include some material from another site in-line. This ability is aluded to in the help, but the technique itself is not explicitly described. How do you do it?
There are macros for that. See MacroMarket.
MediaWiki has this nice property that you canedit each subtitle individually instead of editing the whole page. Thatmakes it easy to locate the piece you want to modify in long pages. Isthis possible with MoinMoin too? If not, is there a way to ask for a new feature?
this could be done by Include with the editlink option look at HelpOn/Include
I would like to upload a css file as an attachment and refer to it in User Preferences -- it this possible?
Just use the AttachFile get URL as shown on the AttachFilepage. Alternatively, you can also put the CSS directly on a page. Search this wiki for title containing CSS to see how.
Is there a way to include a page without breaking the current paragraph?
Search this page for "registered users."
Is there any "best" way to integrate mathematical formulas in MoinMoin 1.5 betax Wiki Pages?
Use Latex (see ParserMarket, MacroMarket) or MathML (just see the link on this page).
Sorry, maybe this question is a little bit dump, but I've been looking through the documentation trying to figure out how to delete attachments on pages, but I didn't find anything. Maybe I missed something. But anyway. Would anybody be so kind to give me a hint on how to delete attachments. Thanks in advance.
Just use action AttachFile on the page. It lists your attachments and allows you to download, show or delete them. You should also remove the markup that refers to the attachment from your page, otherwise you will be asked to upload the attachment again.
If there are many attachments on the page better you rename the page and add a prefix e.g. DeleteThisPage. Then delete the page and it's subdirs on the server that is much easier. -- ReimarBauer 2005-12-05 22:45:54
Thanks for your immediate reply. But when pressing the AttachFile I do not get a link to delete the attachment. There is just a link to load and show the attachment. Do I have to change the configuration of the wiki to see this action? 2025-01-21 01:22:27
Look into your wikiconfig.py if you have a line like this
allowed_actions = ['DeletePage', 'AttachFile', 'RenamePage' ]
and if you use acls then the acl right delete must be given to you. Or just try logging in.
Thanks the delete right was missing in an acl.
Is this even possible? I'd like to be able to design a form into a wiki page. I could then program an action to respond to the form, or redirect the form to another site which handles it. If MoinMoin doesn't let you create forms, are there any plans to in the future? If so, have you decided how they will be described in wiki format yet?
This is listed as "TODO" on HelpMiscellaneous/ExperimentalFeatures (and has been since at least 1.1 ) There's a macro Form.py that suggests that there is some support and a proposed markup, but I don't quite remember the markup. Probably best way is to steal code from one of the actions or macros that use forms (I started from userform.py), however you will end up coding your forms in HTML. -- RobertSeeger 2005-12-06 14:32:13
Hello. I'm setting up a basic intranet wiki with a likewise basic "announcements" page (I won't say "blog") that I'd like to link to on the frontpage
Is there a way that users landing on the frontpage can be alerted when a new announcement has been posted? I'm thinking of an icon that stays up for 24 hrs after a new post goes up, or just a time-stamp next to the "announcments" link on the frontpage...
Probably a simple solution is to use a page which first five lines are included to the FrontPage. New items need to be added always on top of this page. Look at HelpOnMacros/Include -- ReimarBauer 2005-12-27 21:59:04
To get a vague impression, go to RecentChanges. To get exact numbers, write a macro reading the global edit-log.
If I name an article AC/DC. The link in the top of the page is written AC/ DC with a space in it. Also if I click the AC part and article named AC is loaded. Is there a way of naming an article with words containing the / without this behaviour??
No, as the slash is used as kind of path separator. Maybe make the page named ACDC or AcDc or AC\DC and a headline = AC/DC =on it.
In the configuration there are some entries more or less undocumented: page_dict_regex, page_form_regex, page_group_regex, page_template_regex
I conjecture that "forms" are this not working feature (FeatureRequests/FormEditing, FormSamples) and groups are used for acl, but the other two? -- -- TobiasPolzin 2006-01-30 20:17:40
I'm trying to put a blog-ish front-end on my wiki using the include macro. I'm having a few problems, so any help with these questions would be grealy appreciated.
Is there a way to display both the title of the page and the content using this macro? The HelpOnMacros/Include page infers that titles should be included by default, but I never see it.
I can't see the title of my included pages, even if I use the titlesonlyparameter. Here's the macro line that I'm using:
[[Include(^BlogTest/.*,, to="^----$", sort=descending, items=7, titlesonly)]]
That macro doesn't show any content (which is expected) but it also doesn't show the titles. Is there something that I'm missing? If I get rid of the titlesonlyparameter, then I see the content, but no title.
Please show us which version you are trying (SystemInfo)
Q: I have an HTML file attached to some page. I link to it using attachment:something.html and that works fine.
However, this particular file is large, automatically generated one, and I would like to create links directing to the anchors in it, like:
attachment:something.html#line20052
This is not possible, whole something.html#line20052 string is considered to be the name of a new file.
Is there any patch/solution I could use, apart from using long, ugly, error-prone and due-to-change GET url?
Look at HelpOnEditing/SubPages. On this page "HelpOnEditing/SubPages" is not rendered as a link (see first example). "HelpOnEditing/SubPagesXxxx" would, thus I conjecture that just links to the page itself are not rendered as links. Is this a bug or a feature?
Is the a way in moinmoin where I can insert a background image aside from the color background.Coz I want my page to have a background image. Thanks.......
If a place text that includes returns (new lines) in a cell, the table breaks. In particular, this prevents me from placing a bulleted or numbered list in a cell. Is there a special character that I can use in a cell that will not break the table? Or is there a table format that will not break when it includes returns? I already tried a CVS table.
Thanks.
-- DavideAndrea Mar-17-2006 (try @ SIG @ without the blanks)
Do you speak about something like this?
* one |
next cell |
see MacroMarket/MiniPage -- ReimarBauer 2006-03-17 18:18:23
You could also use the Include macro inside a table cell to do this:
||'''Name'''||'''Tasks'''|| || Foo || <<Include(FooTasks)>> ||
Create a page FooTasks with e.g. following contents:
* Task 1 * Task 2 * Task 2.1 * Task 2.2 * Task 3
-- Taufan 2011-01-06
(please read HelpOnVariables and look at SIG for signature)
I want to set up an Internet Site for a non commercial Projekt. All People (about 30) involved should build the Internet Site together, wich is why a wiki is perfect.
Because of the Gui Editor and the fact that I don´t need a special database for it I would like to use MoinMoin
But we also want the Public to use the Pages for Information, so Discussion should be kept off the normal pages. Discussion should, like in Wikipedia, be visible by clicking on a standardized discussion Button.
Is there a way to achive this is MoinMoin, maybe an extension or a kind of macro ? btw: I dont want to Insert a discussion Link manually in every page.
Gunter Kramp
I'd very much like that, too. It seems strange to me that there's no easy way to do this; a better answer than what amounts to "RTFM" would be nice, too. -- kamagurka 2006-08-23
see HelpOnTemplates
or look at PageEditor.py and change it for your needs
-- ReimarBauer 2006-03-22 04:02:18
What is the easiest way to add "n" spaces in a text line?
moin equivalent of " "
Thanks
-- JeanJacquesKahn 2006-03-24 15:18:10
Use backtick to surround the spaces (like this). The spaces will be in a different font, but hopefully that doesn't matter.
like ` ` this
-- SteveDavison 2006-03-24 16:37:55
Thanks -- JeanJacquesKahn 2006-03-27 08:32:18
We need to give rights to the same group of people on all the wikis of a farm ex.: FarmAdminGroup .
I created a group definition page in the underlay pages that can be seen from any wiki, but the correct access rights are only granted after saving a local copy in each wiki.
Any idea? -- JeanJacquesKahn 2006-04-07 16:22:48
It should work. If it doesn't, it is maybe because of the wikis don't notice the updated page. In that case, you could remove the file data/cache/wikidicts/dicts_groups after updating the group page. If it still doesn't work, stop wiki, delete file, start wiki. If you run a moin 1.5.2+, please file a bug. -- ThomasWaldmann 2006-04-07 16:58:53
It helped indeed, thanks -- JeanJacquesKahn 2006-04-28 08:46:26
How can I show UTC date and time in a similar way to Wikimedia (see http://en.wikipedia.org/wiki/UTC ) ????????
Moin internally only uses UTC, but calculates your local time according to your UserPreferences setting on page view. If you set your timezone offset to 0, you get UTC. If you need both localtime here and UTC there, write some UTC date/time macros.
Hello all, is it possible to ignore a new line in Wiki Text Mode? I want to do the following to improve the readability:
|| Cell 1 || Cell2 || || Cell 3 second line bla bla || Cell4 ||
this should result to the following:
Cell1 |
Cell2 |
Cell3 second line bla bal |
Cell4 |
A: No, the table parser can't parse that.
May be a continuation sign for a line could solve this too. If so please add a feature request about this. I am not sure if \ will be the right sign for this. -- ReimarBauer 2006-05-22 20:52:03
|| Cell 1 || Cell2 || || Cell 3 \ second line \ bla bla || Cell4 ||
When i do a modification on my wiki, the modification time is GMT. What should I do to correct this.
May be you should have a look into your Preferences and do correct the Time Zone -- ReimarBauer 2006-06-01 06:52:20
The problem is that I'm in a Chinese speaking country, but I don't speak/read the language. I'm sure there is a user setting/preference somewhere, but I can't identify it. All navigation is in Chinese. Any help would be appreciated. Thanks.
If you can get an account on such a wiki you can change then in UserPreferences your country / language settings. Usually, you set your preferred language in your browser. The browser then sends some http header "Accept-Language" to the web/wiki server and the server responds as appropriate.
In order to force the acl-settings consistently for all pages in the entire wiki (e.g. unknow user can only read pages, but not edit them), I would like to do the following: When a known user creates a new page by entering an unknow page name or clicking on a link of an unknow page, Moin opens a new windows, says that the page does not exist and that you can create a new empty page or choose a template for it. When choosing "Create empty page" (without any template), I nevertheless would like to have filled some text in there:
## Do not edit these lines #acl Known:read,write,delete,revert All:read" Describe [Pagename] here
How can I implement that? Thank you!
I have used FullSearchCached() extensively since my host is quite slow and the cache is a big speed up. After a while I have a lot of really out dated pages, how do I clear the cache?
Answer: Go to the page in question, and select "Clear Cache". This will only clear the cache for this page though.
Sorry didn't manage to find that.. Is it possible to mark some words in some different colors? Let's say, @(red)This is in RED@ or the like...
At MacroMarket you do find Color.py which could easily used to color code words in a text. -- ReimarBauer 2006-09-15 19:23:21
The raw parser from the ParserMarket is great for that, as it allows you to write:
{{{#!raw
This <b>sentence</b> is written in <font color="blue"><i>html</i></font>
with the <strong><font color="red">raw</font></strong> formatter
}}}
I want to put some text in a code block. The problem is that said text includes the }}} sequence. Is there a way to escape this sequence? or is there a way to specify a true verbatim block, a la <verbatim> ... </verbatim>?
Is categoryTemplate a template for creating Category pages, or is it a category to be placed on Template-type pages? As it is, it could be either. It meets both the naming criteria for a category (begines with Category) and for a template (ends with the wourd Template). And looking at the page contents, it could either be an unfinished category, or a template. (I think I know the answer to this question, but this ambiguity should be cleared up. Plus, it's kind of funny...)
Suggestion: Renaming it to CategoriesTemplate would make it so that it no longer met the technical definition of a Category, but it would still be easily identified in the template list as the template to use for creating categories. Ambiguity gone. -- SteveDavison 2006-04-28 17:15:55
In various pages on MoinMoin I have seen instructions like "if something doesn't take effect, force MoinMoin to rebuild the cache by deleting all files in path_to_your_wiki_instance/data/cache/wikidicts/"... This seems like terrible advice, since most users will not have access to that location on their wiki server, or wouldn't know how to find it.
In the theme I use (classic), there is a link "DeleteCache" at the bottom of every page. I have found no documentation on what this link does. Will it accomplish the same thing??
Thanks! -- SteveDavison 2006-11-09 00:00:25
No, that only deletes the PageName/cache/text_html file that is used to speed up rendering for that single page. -- ThomasWaldmann 2006-11-09 07:46:51
I want to enter something that looks like an email address but it should not be linked.
Put backquotes around it. Like this
to get this tylerdurden@example.com
How can I get a list of all deleted pages? Thanks -- Ralf Sternberg 2006-11-18 09:57:18
I don't have a use case, actually. The question just came up and I think since deleted pages are still kept in the system but are not displayed in the TitleIndex anymore, there should be some way to keep track of them.
That would be a good idea. However, if this function were restricted to admin users, spammers shouldn't be a problem. We run the wiki on a root server and the server-admin != wiki-admin. Therefore, the command-line tool is out of reach. I guess this is a common case.
Looks like an action or macro which is only visible or executable for superuser. Can you perform a feature request on that please. -- ReimarBauer 2006-11-18 20:41:38
Have a look at MacroMarket/DeletedPages
I would like to dump the pages of my Moin DesktopEdition Wiki to static html, so that I could transfer them to a dumb web server.
How can I do this ?
(The dump.py script seems not to work ...?) -- Michael G.
I'm using a Wiki running on MoinMoin 1.5.6. I was wondering if there was a simple way that I can update attached files?
At the moment, the only options I can see are to delete the old attachment and upload the new using the same name or to link to an external address rather than attaching it within the Wiki. If there isn't a more simple method of updating files, where would be appropriate to suggest this? (it's not really a bug, just a potential enhancement...)
Thanks in advance RolandGlew - 27/11/2006
Hi Roland! Anytime you can create a new feature request on FeatureRequest and tell us your story there, i.e. what feature you need, why, what it should do...
I have poured over the stylesheets for a way to change the background color of my macros in my wiki (table of contents, fortune cookie, etc) but have not found it. Is there a way to do it or am I just overlooking something simple? Jack Kohoutek - 2007-01-04
Hello. Every new page I create shows this text to the world:
You are not allowed to view this page.
What am I doing wrong? I have searched this website and Google for the answer but only found thousands of pages where that was the only text.
After some study I think I've decided it is a problem with all new pages created by moin or Python. I can't find a way in moin to set permissions for new files on the server.
Gnarlodious
I have an image that I'd like to include across all the pages of a slide show without having to upload it as an attachment to each page. I've done; and Image(/wiki/common/myimage.png) I turned on muliviews in apache to confirm and /wiki/common/myimage.png is there and accessable ok.
both result in an upload link, instead of the image and I suspect this might be a basic novice user error, but I"m stumped.
-- Andrew
Simply upload the image as attachment to one page, e.g. MyPics
Reference the image from other pages with [[Image(!MyPics/picture.jpg, height=150, alt=A picture showing a nice landscape)]] or attachment:MyPics/picture.jpg
Is there a method of preventing line breaks within link descriptions. I've tried and   in place of space, but they don't work. Underscores look ugly and they don't work with non-latin alphabet fonts.
Example:
You can find a macro that help to do this in FeatureRequests/NonBreakableSpace.
I have a page with a macro which returns new data every time (for testing it returns the time)
When I look at that Page I can refresh the browser and the new time is displayed because I have used "Dependencies" in that macro.
But here comes the problem. I have another Page using the include-Macro to display the content of the included Page inline. In principle, that works fine, but the included Data doesn't change. I assume the page-data is just taken out of the cache and the Macro is not called again.
Is there a way to deal with this?
Perhaps that could be done by MacroMarket/EmbedWikiPage it will execute the macro again on the client side
In a german installation a help page says, i can set a personal startpage.
But i cant find where to do so.
Thanks for hints
see HelpOnConfiguration, its a var you can set in wikiconfig
I am trying to align some text on the right side of the page. Is there a way to do this directly?
Alternatively, is there a way to make a frame with a clear border? This would work as well. I tried setting the frame color to 'clear' as well as the style to 'hidden,' but neither of these seemed to work.
see at NirSoffer for an example or do use the alpha version of the ParserMarket/Frame -- ReimarBauer 2007-06-18 20:33:53
named internal link
When I look at the list of orphaned pages it seems that all named internal links ([:HelpContents:Contents of the Help]) are not recognised as links and many pages are on the list by fault. Can somebody help me? -- ThomasSchloegl 2007-07-12 14:07:35
What is the exact flavor of regular expression syntax does MoinMoin use, and can this be added to the documentation? Regular expressions are a very powerful tool, but we can't just assume that everyone knows how to use them. And even if you know the basics, that doesn't tell you everything you need to know. There are several, if not dozens, of different implementations of RE. You may know one of them in depth, but still get thrown by a small difference in implementations.
My point is that this should be documented. I'm guessing that moin follows the style of Python, which it's based on, so maybe we could include a link to a www page on python RE. But even then, I would bet that there are a couple cases where moin RE's don't do everything that a Python RE could do, maybe I'm wrong. But there are issues like... how to quote your expression if you need to include spaces? And does moin support back-references? -- SteveDavison 2007-07-29 23:03:09
Basically moin pass the expression you provide to Python re module as is, so anything supported by re should work. See http://docs.python.org/lib/re-syntax.html. You can see some examples in HelpOnMacros and HelpOnSearching.
Is it possible to display the RSS feed for, say http://news.google.com in a wiki page? Basically the wiki will become a bucket for all kinds of information. I guess this calls for an RSS interpreter plugin/macro.
-- Bharath 2025-01-21 01:22:27
Is there a way to use Java Applets on a page? -- ThomasSchloegl 2007-09-06 07:10:33
I'm trying to see the beginning date of an internal Wiki. So I go to RecentChanges and click on 90days. Then I modify the url to have something like http://wiki.domain.tld/moinmoin/RecentChanges?max_days=900 It works but stops at 2006-07-31. If I put 1000 or 1100, it's the same, I can't go before this date. But I'm sure that we started working on in 2006 04. How can I view this information on RecentPages?
And how can I see an interval like betweek 30 and 90 days ago? I tried ?max_days=90&min_days=30 but it displays like ?max_days=90
There is a builtin size limit for RecentChanges, it stops if it reaches that size. This is to prevent high load / abuse. You can change the limit in RecentChanges macro source file. And that we support max_days doesn't mean there must be min_days also. -- ThomasWaldmann 2007-10-16 15:21:00
Ok thanks for this information. I have created a FeatureRequest: check FeatureRequests/RecentChangesNeedsAMinDaysArgument
Is there a way to have IRC chat, or at least some real-time forum on a wikipage? How can I do it?
I create a new page and try to edit it. I select the empty page. I make no changes (or minimal changes) hit save or preview and get the above message, with no changes actually made to the page (still shows the new page help and links). This happens with both the gui and text editor.
Have I made some basic config error? This is a newly created wiki, and I am editing as superuser, with the relevant wikiconfig.py lines set to...
superuser = [u"DavidLewis", ] acl_rights_before = u"DavidLewis:read,write,delete,revert,admin" # acl_rights_before = u"DavidLewis:read,write,delete,revert,admin \ # Trusted:read,write,delete,revert,admin \ # Known:read,write,delete,revert \ . # All:read" acl_rights_after = u"Trusted:read,write,admin \ Known:read,write \ All:read"
Looks like I am invoking some anti-spam-edit feature, but why?
One more thing that may be relevant. I have changed both the site name and logo, but as I login and browse through pages, I get a seemingly random combination of prior versions of both the site name and logo appearing. Looks like there are multiple versions in a cache somewhere. (I'd like to solve this too)
WinXPPro or Ubuntu 7.10, FF 2.0.0.9
Thanks. --David Lewis
acl_rights_after looks wrong. You maybe want to use acl_rights_default and put it all into one line. -- ThomasWaldmann 2007-11-24 19:44:13
OK, thanks... fixed that. I was just following the model wikiconfig.py given to me by Kholix. That line now reads...
acl_rights_default = u"Trusted:read,write,admin Known:read,write All:read"
But that did not fix the problem. I still cannot create a new page, or more precisely, I cannot save the new page's initial edit -- I get the same message. So I'm still dead in the water. --David
See MoinMoinBugs/PleaseUseTheInteractiveUserInterfaceToUseActionEdit. Add more details there if that doesnt solve your problem. Please delete this section after updating the bug report.
Yes, I saw that page (found it by googling the phrase). It's about waiting a long time between the last edit and the save, so the ticket expires. That is probably not my problem, as I am doing everything immediately. Perhaps it's a clue, however -- could I be doing something in my wikiconfig to affect that ticket? I don't have any more details, except if you want me to send my entire wikiconfig.py file verbatim. Is there a way to do that? I could try reverting to the exact original as supplied by Kholix, with the only change being to instantiate SuperUser. Any other suggestions for experiments?
Newsflash -- it's all working now! (It wasn't a hallucination!!) Also, all the inconsistencies with prior versions of the site name and site logo have cleared up -- the very latest of which are now showing consistently throughout the site. Could there be a relationship between those -- things out of synch in page caches or something that confused the access control logic into thinking me a spammer? I will go looking for information on caching and clearing, which I remember seeing at some point in my wanderings. (Or can someone point me to it -- or say anything about the wild inconsistencies in site name and logo? I would often see a site name on a page going back three or four edits of wikiconfig.py.) Thanks. --David.
I'd like to have wiki pages translated into different languages by users in different locales. Suppose I have a page written and saved in the U.S. using the US locale. Then I want a wiki user in Germany to translate my English content into German using the German locale and place the translated content below the English. Next, I want someone in Portugal to open this same wiki page and translate the page into Portuguese below the English and German content. And so forth... When I open the wiki page, will I be able to see all of the content in each language? Will the wiki page appear correctly based on the locale? I just want to make sure this approach is feasible and practical. Thanks!
On MacroMarket you can find an extension NewWindow.py (or NewWindow2.py) for that.
Yes, I would also like to know how to open a link in a new window. (Without resorting to using the html.py plugin...)
Note: Opening new windows is not good for AccessibleMoin and thus not recommended. If a user really wants to get a new window (note, that it is the users decision, not the wiki page editors), the user can usually do this using some functionality of his browser.
I need a way to redirect a page to an anchor within another page and I can't.
Scenario: I have a GroupOfPeople page with a section for each like:
= People in the project = [[Anchor(MarianoAbsatz)]] * MarianoAbsatz (clueless guy) [[Anchor(JürgenHermann)]] * JürgenHermann (cluefull guy)
and I want to have individual user pages redirect to the specific point in this page, however, if I create the MarianoAbsatz page and put
#REDIRECT GroupOfPeople#MarianoAbsatz
it doesn't work. I rather tries to show a page actually named GroupOfPeople#MarianoAbsatz (using GroupOfPeople%23MarianoAbsatz in the URL).
(I'm using 1.5.8 w/Apache+mod_python).
Please move this to a bug report. Makes it more likely to get fixed.
I'm writing a page describing a snippet of HTML, and I'd like to embed an attached file. This: Home.html will not work, because the wiki will render the contents of the file, and the following will not work either, because it will only display the text "attachment:Home.html" in a box.
{{attachment:Home.html}}
Should I write a macro to replace the less-than and greater-than signs with ampersands ? In that case, how does a macro access an attachment ?
You could just rename the file to Home.html.txt.
There is syntax to make links to documents on file shares in MoinMoin.
[file://///servername/sharename/full/path/to/file/filename%20with%20spaces.txt Click here to read filename with spaces.txt]
But how to show images from file shares? Syntax:
{{file://///servername/sharename/full/path/to/file/image.png}}
is not working! I have MoinMoin Version Release 1.6.2
I had used the MoinMoin to create the platform for information exchange. However, in some cases, I want to create a page of discussion board (forum-like or blog-like) to let guest users put their comments without making changes to existed information. I had study the /MacroMarket and some documents through Goggle. The "/Form" and "Blog" seem to be useful, although there is a gap from the real discussion board. Could anyone provide a better suggestion for me? Thanks a lot.
Hi, I have a page named "CasD'Utilisation" and a lot of subpages of this one. I have created a form to ease creation of subpage with the NewPage macro, but I also want to automatically include these subpages. I have tried
<<Include(/.*)>> <<Include(CasD'Utilisation/.*)>>
but that don't work, even if this is directly inspired from the examples. What could be the problem?
Hi, I am currently setting up a wiki on request and had this question asked to me. Is it possible for MoinMoin to read a comma- or space separated text file with data and format it to a more readable format as a table of some sort (even Excel)?
Thanks. -- JohanZiprus 2025-01-21 01:22:27
Yes. The CSV parser can sniff the delimiter from the first CSV line so other delimeters than ";" can be used. Please read the changes http://hg.moinmo.in/moin/1.7/raw-file/1.7.0/docs/CHANGES
-- MarcelHäfner 2008-06-24 15:29:51
Is it possible for users to mail each other? Is there a plugin for either mail or some kind of form that let's the user fill in information and upload it to the page? (Not just edit a page, but have some kind of error page where every submitted form gets appended?
Thanks. -- JohanZiprus 2025-01-21 01:22:27
A user can have a homepage, where others can add messages or just using some function like "supplementation_page" (see HelpOnConfiguration adding text to some subpage). Or maybe you want to check out ActionMarket/FormSubmit or MacroMarket/Form (only with a database)
-- MarcelHäfner 2008-06-24 15:29:51
We use MoinMoin for our system documentation. There are many changes every day. Is there a possibility to define that every non-trivial change of a wiki-side had to be described with a comment ?
You can't make people give reasonable commit comment by forcing them. If you force them, you will likely get commit comments like ".", "1234", "foo", "comment". So better educate / convince them. Also, in some cases, a comment is not needed, so it should not be forced. -- ThomasWaldmann 2008-07-18 07:18:14
With MoinMoin 1.6.3 I used <<Action((recall&rev=3, Text for link)>> and it worked perfectly. I have upgraded to 1.7.1 and that usage now displays <<Action: Cannot have arguments without name following named arguments>>. I have tried a number of things, and the only one that works is an external link as [[http://www.example.com/mywiki/PageName?action=recall&rev=3|Text for link]], but I'd like to avoid both the external link and coding the host and path in the page.
The macro uses now the argument parser. <<Action(recall, Text for link, rev=3)>> or use a keyword for the text <<Action(recall, rev=3, text=Text for link)>>. If you are interested in writing own macros the argument parser makes the usage of parameters easier, see
Or just use link markup; [[PageName|Rev. 42 of PageName|&rev=42]]
And that works too. I had tried [[PageName|Rev. 42 of PageName|&action=recall&rev=42]] but that didn't work because it %xx encoded the second & and =. I didn't think to try it with just the rev= parameter. Thanks.
I want to be able to to use fixed size font but with interpreted markup within it (e.g. generate a link within monospace text).
Is this possible? It seems quite strange to me that I have 2 different ways to generate monospace text, and neither of them allows markup within it
Maybe you could create some css for monospace rendering when class is "monospace". Then use this:
{{{#!wiki monospace monospace wiki text }}}
I'd like to have my wiki hosted online to be reachable from anywhere in the world, but also to have a local copy for offline editing. Does anybody know a wikifarm with MoinMoin wiki engine, which supports sunchronization with local one?
if I add a non-unicode symbol in macro source file - for example a string or something, I get on the page I call this macro from, ouptut like this <<FilmInfo: ascii>>, where FilmInfo is my macro. This happens whenever I add a line containing non ascii characters to my macro
Make sure you declare the encoding of your source file correctly. See top of MoinMoin/_template.py. -- ThomasWaldmann 2008-10-17 02:41:40
# -*- coding: utf-8 -*-
is this incorrect? 2008-10-17 09:41:40
I don't know if you used utf-8 encoding in your source, but the coding line syntax looks ok. -- ThomasWaldmann 2008-10-18 04:08:49
Is there a way to limit width of the box produced by TableOfContents macro? I'd want the grey field to end about where rightmost letter of table of contents does.
You can wrap it in a table and then add formatting to the table:
||<tablestyle="float:right; margin: 0px;" style="padding:0.5em; border: 0px;font-size: 80%;"><<TableOfContents>>||
Can I add a hook to an action? I want to execute some code when a page is deleted - can I somehow add a hook function to 'delete page' action?
Look into the events/notification methods search for PageDeletedEvent.
I write a macro wich uses an event, described in one of events plugins. How can I import the module, containig desired event? There is importWikiPlugin but it requires cfg, so I can call it only from my macro function. Can I somehow import the desired event at start of my module, where all other imports are placed?
Not sure if I understand your request. You are not asking for from MoinMoin import events ?
Hello! I've got a problem regarding the OrphanedPages. 2 days ago I did the migration from Version 1.5.8 to 1.6.4 an now my OrphanedPages show Pages which are linked (and because of this shoulndn't be displayed). Does anyone have an idea? Thanks
--> The problem seems to be a temporary chaching problem. My workaround: 1. Put the link into ]] '''2.''' Save the page '''3.''' Remove the [[ again. 4. The page disappears in the OrphanedPages.
Is there a way of seeing who is logged into the Wiki?
What does it mean to be "logged in"? To have a login cookie in one's browser? From how long ago? I don't think MoinMoin knows these things. With appropriate logging, you could track login and logout events from the log, but this wouldn't tell you about people who go away without logging out. MarkSapiro 2009-01-09 18:15:36
We're using MoinMoin as a project documentation wiki which is a closed enviroment, meaning only the frontpage is visible to every visitor, to access the content one has to login. The idea was to have a page which shows a list of the currently logged-in users. Tracking the login/logout events is a great idea, the issue with the possible inaccuracy due to people leaving without logging out is in our case tolerable because due to the nature of the content we have strict login/logout policies for the small group of users. I will try and pursue this road. Thank you.
Is there a way to just copy and paste the code Google provides you (e.g. <iframe ...></iframe>)? Or you need to install a special Wiki extension to do that? Thanks a lot.
Yes this is feasible. You have to install the HTML.py macro. Check add google calendar in MoinMoin for more info
say there are people names and they have shortcuts or aliases. i want to be able to search for SomeGuy and get all links as fullname and all of its shortcuts (say SomeG), which should also link to that. One way i found to make shortcuts into links is to make empty pages redirecting to the fullname-page. This is good as being very independent. But how would u search these? esp. in macro -- "all who mention me". Searching for fullname seems to ignore redirects, hence one needs to know all the shortcuts and also search for them... which goes the other end, that the fullname page knows all of its shortcuts (e.g. dokuwiki has such plugin). Basically i need "who links here" regardless via how many redirects that would be... redirect being a "symbolic link". is it possible somehow? if programming is needed, where to look ? svil 2009-05-25
Just using a single name and no redirects makes such stuff much easier. If you sign something you've written, use @SIG@. -- ThomasWaldmann 2009-05-25 06:30:31
Does MoinMoin support headings 6th or greater level?
As you see, beyond level 5, you still get a heading, but the size doesn't decrease. -- MarkSapiro 2009-09-25 15:55:37
Also, if you look at the generated HTML for the wiki page, the headings beyond level 5 still have 'h5' tags -- MarkSapiro 2009-10-01 16:41:48
I am using different themes for using the Wiki (1) in daily tasks and (2) to organize the content in order to make it usable for the users. For task (1), the default of the wiki is quite appropriate, but for (2), I'm addicted to the explorer theme, which gives me a good overview of the categories. OK, I could go to Preferences and change the theme, but I would prefer to have sort of an easier way to switch themes. Any ideas how to accomlish this?
BTW: six times 7 is "the answer to all questions"! Would you please inform your system about that! Thanks!
see modernized_cms and setup a similiar theme. -- ReimarBauer 2009-11-02 19:58:42
I have a special page that don't want MoinMoin to treat it as a wiki page. How do I do this? E.G., mydomain.com/stats, stats is a special statistic page generated by other packages. But now MoinMoin treat it as a wiki page.
Currently the rss_rc.py generate feed for all of the recent changes. Is there a way to generate feed only for certain pages? For example, if it can generate feeds for Calendar/.*, then the calendar will be a blog tool.
I know it's not of Moin's task to to this, but it's a good way for moin users to broadcast major events to other people, with the convienience of especially the Include macro, not to bother other blog platforms like Wordpress or Zine.
Is there a good looking way to escape a macro in a headline? The headline should be displayed as "Escape macros like @SIG@ in headlines".
The three open-braces {{{ should be indented the same amount as the list-number, so that they belong to that list-item. For instance:
5. item 1 {{{#!wiki monospace verbatim text intervening}}} 2. item 2
generates:
verbatim text intervening
I have to find a way of easy creation of subpages and link them automatically. I used <NewPage> Macro with parameters and @SELF. It really does create a subpage but it doesn't create an automatic link to the subpage on the page where it was called from. How to do it? Thank You
Edit the page, put [[/SubPage]] whereever you like it to be, save. Now click on the new link to create the subpage. -- ThomasWaldmann 2012-04-06 12:00:25
I can do that, but for users who create pages a lot per day that is not an option, unfortunately. Is there any automatic way of doing that?
How much pages per page if it is just one, you can do it with the supplementation pragma. -- ReimarBauer 2012-04-06 18:14:58
More than one
In many cases, the task is not just "adding a page" somehow, but also make sure it is nicely linked and "reachable" from some other place. Reachability is made sure by linking to it, but one often does not just want to have some arbitrarily made "link list" on some page, but one wants to have good and well-placed links (within some text, with some good link text, etc.). Thus I still think manually caring for the link also is a good way to ensure this. An alternative, if this does not matter, is to create new page names following a specific pattern and use some macro to search for all pages following this pattern and list them automatically. -- ThomasWaldmann 2012-04-07 12:57:26
How can I restrict the RecentChanges page in MoinMoin that only specific pages would be listed. Since I have a huge Wiki site and pages are organized in a hierarchical way, I would like to let RecentChanges page show only limited pages according to different hierarchical page paths. Is it possible?
You can build your own macro adding some more rules. -- ReimarBauer 2012-06-06 15:29:09
One can write new macro and make it as customizable as he wants. Also, there is some customization in rss feed (changeset 0e1b4214318f), but only in tip, not in release (will be included in 1.9.5) — -- EugeneSyromyatnikov 2012-06-08 07:55:04
Somehow what I need can be "implemented" with "fullsearch", for example, action=fullsearch&advancedsearch=1&and_terms=[Keyword]&mtime=last+4+weeks&titlesearch=1&case=1. Since I organized my pages in hierarchical way, the [Keyword] is just my page paths. Maybe I can "embedded" such search result in my pages? at the moment I can show the search result only by clicking a link. It would be nice to reuse the existing functionality without changing a lot in moinmoin :p
Check out FullSearch and FullSearchCached macros (see HelpOnMacros for details). Looks like something like <<FullSearch(title:regex:case:^Keyword.*$ )>> with additional support of mtime parameter (which have to be implemented in macro) would work. -- EugeneSyromyatnikov 2012-06-08 10:55:43
Maybe I just don't grasp the concept of templates on moinmoin since I'm a mediawiki refugee. I want to create a template that generically displays a table with a picture and text independent of the template.
In MediaWiki I could pass the variables like this:
{{NewTemplate|Picture1|This is an example of text}}
{{NewTemplate|Picture2|Here is another example}}
But I can't figure out how to pass variables to templates in MoinMoin. Am I missing the point completely?
Templates in MoinMoin are not really the same as templates in MediaWiki since they are generally used as the initial content for new pages, rather than the basis of parameterised content dynamically added to existing pages (as is the case with MediaWiki). However, there are probably macros or parsers which might permit the same thing as the MediaWiki template facility in Moin. Fairly recently, a collection of Moin IncludeWithVals plugins was made available that provides such functionality (along with other things), although the way values are passed to the "template" (actually an "included" page) is different: the values are taken from a wikidict (a page providing a mapping of names to values), not from the place where the "template" is mentioned.
I suppose it would be possible to write a parser to provide the same functionality in Moin or to extend the built-in Include macro, although the latter is already a bit complicated to use when arguments need to be specified. -- PaulBoddie 2013-05-23 12:18:24
I've installed graphviz on my Ubuntu 14.04 ULTS, and my python version is 2.7.
I followed the installed steps in https://moinmo.in/GraphVizForMoin#Installation_And_Configuration}GraphVizForMoin as it stated. My MoinMoin is under /usr/local/share/moin folder, so I
And my graphviz binary path is: /usr/bin, so I
Then, I restart my apache, I could see I've add "GraphVizCleanUp" action, but when I tried a sample of it:
{{{#!graphviz //filter=dot //format=png //cmapx=DocumentationMap digraph DocumentationMap { FrontPage [href="FrontPage", root=true]; HelpOnEditing [href="HelpOnEditing"]; SyntaxReference [href="SyntaxReference"]; WikiSandBox [href="WikiSandBox", color="grey"]; MoinMoin [href="http://moinmo.in"]; FrontPage -> WikiSandBox; FrontPage -> MoinMoin; WikiSandBox -> HelpOnEditing; WikiSandBox -> SyntaxReference; SyntaxReference -> FrontPage; };
}}} it doesn't work.
Is there're any steps I should do?
I need to determinate if I am in preview mode because the CSS containers are named differently in preview mode
Contents
Now in the MoinMoin log:
2008-11-13 10:13:17,411 INFO MoinMoin.server.server_standalone:290 127.0.0.1 "GET /testMyAction HTTP/1.1" 200 - executing MyTestAction initializing MyTestAction in page testMyAction 2008-11-13 10:13:18,234 ERROR MoinMoin.failure:159 An exception occured. Traceback (most recent call last): File "/tmp/moin-1.7.1/MoinMoin/request/__init__.py", line 1307, in run handler(self.page.page_name, self) File "/tmp/moin-1.7.1/wiki/data/plugin/action/MyTestAction.py", line 38, in execute MyTestAction(pagename, request).render() File "/tmp/moin-1.7.1/MoinMoin/action/__init__.py", line 204, in render success, self.error = self.do_action() TypeError: unpack non-sequence
The comment for MoinMoin.action.ActionBase.do_action says that this method is supposed to "Do the action and either return error msg or None, if there was no error." But it seems that when render calls do_action it is distinctly expecting a Tuple, not just a single value. Either the documentation or the return type should be updated.
1. This cgi-stuff in cgi-bin of webserver directory works:
file: .../cgi-bin/tree.cgi:
{{{#!c:/Python24/Python.exe
JSONTEXT=""" [
]"""
print "Content-type: text/html" print print JSONTEXT }}} 2. What is the procedure to do the same in MoinMoin?
This stuff in an "action" plugin and brings back the whole page:
file: .../share/moin/data/plugin/action/tree.py
from MoinMoin.util import MoinMoinNoFooter JSONTEXT=""" [ {"text":"widgets","id":"source\/widgets","cls":"folder"}, {"text":"debug.js","id":"source\/debug.js","leaf":true,"cls":"file"}, {"text":"hs_err_pid9692.log","id":"source\/hs_err_pid9692.log","leaf":true,"cls":"file"}, {"text":"util","id":"source\/util","cls":"folder"}, ]""" def execute(pagename, request): request.http_headers([ 'Content-Type: %s' % 'text/html', ]) request.write('\n') request.write(JSONTEXT) raise MoinMoinNoFooter
This should work when you call the new action. For example, if your action installed in /path/to/wiki/data/plugin/action/json.py, you access /Foo?action=json.
Answer: Thanks for your reaction, I put in more details.
Here is the part of the js stuff:
Ext.onReady(function(){ // shorthand var Tree = Ext.tree; var tree = new Tree.TreePanel('tree-div', { animate:true, loader: new Tree.TreeLoader({ // 1. either calling via MoinMoin action dataUrl:'http://localhost:8080/?action=tree' // 2. or calling via native cgi //dataUrl:'http://localhost:8080/cgi-bin/tree.cgi' }), enableDD:true, containerScroll: true }); ....
calling via MoinMoin action stuff does not work, brings back according FireFox Debug the whole page, not only the JSON text, unable to fill JS tree
calling via browser direct http://localhost:8080/?action=tree works and brings back the JSON text to browser.
(I'm using TwistedWeb/2.5.0)
I am working on our intranet Wiki, and would like to warn users when they remove 'admin' privilege from a page (particularly for those users who inadvertently remove 'admin' from their own homepages). I have found the place in the class PageEditor, saveText method where I can determine that the old_acl differs from the new_acl, and that the old_acl had 'admin' privilege and the new_acl does not. I can then raise an appropriate exception, which caught by wikiaction.do_savepage method. What I now need is a means of presenting the user with a dialog that asks
Do you really want to remove 'admin' privilege? [Yes][No]
and returns his answer. In the case of No, I would like to replace the new_acl with the old_acl. Any suggestions? Is there a type of dialog form that I could use? - -- JohnSimonson 2005-04-19 13:21:15
I don't think you really want to annoy people with "do you really" questions. Try to find another solution that does not require this kind of questions. Also, moin is not well suited to this interactive answer, question, answer, question style.
In this case I think you need some kind of automatic admin rights for user home pages and sub pages. This can be achieved with a simple security policy class. One example is here: NickWelch/RelativeGroups on the bottom of the page. -- NirSoffer 2005-04-23 22:34:03
This is a similar problem to the one I have had in RecommendPage. ACLparse is a function defined in this macro. In your case you have to check if admin is in given_acl. -- ReimarBauer 2005-04-23 19:50:51 {{{ given_acl,body = ACLparse(request, body)
if len(string.join(given_acl,"")) > 0:
PageEditor.saveText(page,acl+newtext+body,rev)
}}}
I want to import external text into some page automatically, without editing the page.
Try ScriptMarket/AppendTextScript. For more information on storage format read MoinDev/Storage. For example code check PageEditor.py.
I want that the categories line will starts with "Categories:". This will make it easier to find categories on categories pages and make the data on the page more clear.
This requires patching the code in wikiaction.py. Grep for categories and you will find the lines that handle categories. The modification should not be hard if you know Python. After you create a nice patch, probably factoring this out of the current function into a small and nice function, add a feature request for this with the patch. Generally it make sense and maybe other developers will like to use the patch.
Is there theme test page where almost all "objects" (sidebar, dialog, messages ...) are visible?
No, but pages like SyntaxReference try to use many syntax options and thereby trigger many CSS classes.
I've been tasked with creating a wiki that uses CVS as a backend for managing documentation at my company. Developers want CVS to be "the one" source of truth. They also want to be able to work offline, without using a Web browser at all, in their own text editors. Meanwhile, a lot of other people in the company could really benefit from using the wiki interface. Is there any way I can add this functionality to MoinMoin, or do I need to use an existing project like Pyle, which doesn't seem quite as mature?
Thanks for the response. Yes, an infrastructure for adding new backends would be helpful. Committing moin's data dir to a cvs repository won't be sufficient because it doesn't help with people committing to CVS directly, especially when there are conflicts. As much as I hate it, unless Pyle can meet my needs, I may be on my own.
CVS is not the answer, it is the question. And there is no easy way currently to let moin use CVS as backend without a big hack of the code (we don't recommend that). We plan to make some backend module in 2.0, then maybe adding such stuff will be easier (but we won't implement a CVS backend ourselves).
What you should be able to do right now is to just commit moin's data dir to a cvs repository (e.g. by some external cron script). Not nice, but should work.
One idea is to add support for svk, http://svk.elixus.org/ to moinmoin. svk builds on svn, subversion, the successor system for cvs. With subversion, one could, for example, store different versions of pages in the source control system, instead of having one file for each version. svk adds the ability to synchronize between subversion repositories. One could, for example, make a copy of the repository on a laptop, make changes offline, and then, later, merge those changes automatically into the online wiki. Keeping two different wikis synchronized could also be done by svk.
As mentioned above, it should be possible to commit moinmoin data to a svn repository.
Would it be possible to have a hook in PageEditor at the spot where the raw page data is actually saved (for example in _write_file())? I am writing some extensions that extend and index the link structure, so such a hook would be a great benefit for me. I have noticed that the subject has been brought up some times in this wiki, but I'd like to know whether you are going to implement it, are having doubts or other plans, or have decided against it.
You can use a SecurityPolicy for now (see antispam for an example).
I have a macro that selects all ocurrences of the [[Card(...]] macro in a given page. The problem is that the selected lines containing macros do not get rendered themselves, i.e. I see the macro invocation code [[Card(...]] instead of the output it should produce when rendered. I have posted a raw draft of the code at AlvaroTejero/ActionFilter
You should have a look at MacroMarket/MiniPage
I'm planning to write a simple plugin to support a dynamic button in the 'navi_bar'. It will take a user to a different part of the site based on the value of the Apache REMOTE_USER environment variable. Could someone point me to an example of a simple plugin I can look at? Any tips would be appreciated.
Is it possible to add to a theme a macro call like Hits which is always executed on a page? -- ReimarBauer 2005-10-21 21:13:05
A theme can import a macro and execute it, like any other code, but you will have to create the correct environment for the macro, which may be hard. The easiest solution is to get a parser and then format a macro call
Parser = wikiutil.importPlugin(self.request.cfg, 'parser', 'wiki', 'Parser') Parser('[[MyMacro]]', self.request).format(self.request.formatter)
Ok, easy but on an ?action=AttachFile of a page the Formatter instance is different. Is this a bug? or what is the reason for this?
args = ("Formatter instance has no attribute 'page'",)
self.request.formatter.page = d["page"]
Is there an example how to add this to page_footer in wikiconfig.py too? -- ReimarBauer 2005-10-22 08:47:18
Looking into the cpluplus parser I thought it is easy to write one for idl. But now it uses to few colorcodes. Do I have to add css code? In the comments of the cpluplus parser are some css statements but I have not found them in the theme css code base. If I have to put some css code to somewhere - where ? -- ReimarBauer 2005-10-25 20:48:33
So I first had to find out how to set self._ignore_case = 1 Can I control from within the parser which color is used for what? At the moment I do something like
self.addWords(reserved_words,'Special') self.addReserved(special_words)
I would prefer color red for the special words.
The parser is quite finished by now or it is finished with the same intelligence as the one from kate/kwrite. Probably it could be better. Any idea how to destinguish between a reserved_words like save and /save? Only the first one should be colorcoded. -- ReimarBauer 2005-10-27 19:00:51
How is it possible to get the moin version from within a parser or macro (action). While I work on my tools now I would like to add the code change for 1.5 too.
How do I apply those .patch files I find on this website ? -- RemyRoy 2006-01-30 18:41:39
patch -p0 < mypatch.patch
see here for a description.
I'm using windows and I found this interesting link about the patch utility for windows: http://drupal.org/node/23409 -- RemyRoy 2006-01-30 19:26:50
I've been working on a custom skin for my wiki, and I wonder if I can get the user-agent of the browser in the python code?? I want to be able to do some changes if a mobile device tries to surf on the page.
I would like generate the user ID in php for my web site, it's possible ? Thanks
MoinMoin is a Python module and not a PHP script unlike other wikis (MediaWiki e.g.), and has no connection to PHP as such. If you want to create a PHP external wrapper for MoinMoin that is an advanced PHP programming task, and you should study the appropriate PHP sources for assistance. Look into user.py.
I want to adapt some "foreign", already existing CSS-files to my moin wiki and create a new theme by that. To get it work, I would have to specifiy some extra body attributes (an id, class and onload attribute). Afterwards the body-line should look like this: "<body id="contentseite" class="artikel" onload="liveSearchInit()">" How can I achieve that in my theme.py file?
I want to write a macro, to import pages automatically. To realise the macro, I have to check the pages.
I found a patch realise a modification I wanted. But now I don't know, how to apply the patch..
There is some commandline tool which is called "patch". This tools generates a patched file from a diff file and the unpatched version of a file.
I try to check if a Page in my Wiki exists so I tried something like
I hoped to get somethin back, either in pagecheck or in test but my Script just exit without any error after xmlrpclib.ServerProxy
Any Clues ??
-- Matthias 14.05.2007
The material available at http://moin.cvs.sourceforge.net/moin/ seems to be rather outdated. Where can someone interested in browsing the diffs between different releases have a look at the MoinMoin CVS? Background of this question: Recently we switched from MoinMoin 1.3.4 (Debian 3.1 Sarge) to MoinMoin 1.5.2 (Ubuntu 6.06 LTS Dapper Drake) due to a server change and had difficulties to get our heavily customized theme going again. -- Peter Funk 2025-01-21 01:22:27
--
Contents
I've tried the nocamelcase.py parser but even after making some changes to it, I couldn't get it to work. Please help?
That's the mascot. The author of it? JürgenHermann might know that. At least he created the mascot by taking a file from his hard drive and exchanging the text on the .
why there is no place to ask in ? --DetlevLengsfeld MoinMoinFragen
Looking for a company that can provide development and support services to large corporation looking into implementing MoinMoin based system. Do such companies exist? Where can find such?
See http://wikiwikiweb.de/ (or contact ThomasWaldmann), for example.
Mozilla Firefox does not display MoinMoin pages properly, it ignores the CSS stylesheet.
Many Apache (and presumably) other web servers send a MIME type of text/plain for CSS files, instead of text/css, which Mozilla Firefox insists on when in strict mode. The Firefox Javascript console will have errors of the form
Error: The stylesheet http://wherever/wiki/classic/css/common.css was not loaded because its MIME type, "text/plain", is not "text/css".
More about this at http://www.astro.uu.nl/~wiersma/dutchguy/archive/computers/cssstylesheetignoredbymoz.html with suggested fixes. In particular, the fix described in http://www.astro.uu.nl/~wiersma/dutchguy/archive/computers/fixingstylesheets.html to use AddType in either srm.conf or .htaccess works well.
That last link is down - can you explain how to use AddType to fix this?
Is there an automated way to delete previous versions of a page? With every minor edit the complete new page is stored, and for a large wiki, that may soon require too much disc space.
Usually this is no problem as the files are very small. However, if you want to purge them nevertheless, you may make some script using find ... data/backup and purge everything older than x years.
How can I configure MoinMoin to save deleted attachments, so I can restore an attachment that was deleted by mistake?
There are no attachment backups. If you need attachment backups, keep regular backup of the wiki, so you can restore stuff when you need it. MoinMoin 2.0 will have revisions for all items, including file attachments.
Q: I want to import external RssFeeds onto a MoinMoin page. MoinMoinSyndication implies that along with making RSS feeds for indices that there is a way to do this. Especially with AdvogatoXslt, and RssChannelXslt. I have followed the advice on HelpOnXmlPages and have Python4Suite installed. The RecentChanges RSS feed for my site works fine. I have turned on xslt in the config file. I have made pages for XsltVersion and all the other xslt scripts I've found here but always get errors about the stylesheet processing instruction. For example, with the XsltVersion page I get: "UriException: Invalid base URI: u'wiki: //Self/XsltVersion' cannot be used to resolve reference u'XsltVersion'" I'm pretty good with XSLT normally so would like to get it working. Any suggestions on what I need to do?
A: I found that the 4Suite-0.11.1-13 throwed an exception because it didn't like the wiki: URI class. A quick fix was to modify the Uri.py source of the 4Suite distribution. Add the string wiki according to below:
DEFAULT_URI_SCHEMES = ('wiki', 'http', 'ftp', 'file', 'gopher', FTSS_URI_SCHEME)
Could someone, please, explain in more detail how to insert/convert HTML-content into MoinMoin. I found some words about HTML-parser and HTML-macro that should be installed, but I could not figure out how to install and use these.
In HelpOnEditing you'll see that a few search and replace will do (mostly):
P -> 2 lines breaks
EM and I -> double ' (see HelpOnFormatting)
STRONG and BOLD -> triple ' (see HelpOnFormatting)
H2 -> =, H3 -> == (assuming H1 used only once for page title, see HelpOnHeadlines)
A -> JoinCapitalizedWords; brackets and double quotes; url; [url]; [url label] (see HelpOnLinking).
HR -> 4 dashes (HelpOnRules)
UL, OL and DL -> various ways (see HelpOnLists)
TABLE -> see HelpOnTables.
Note that 1.5 will include native HTML import capabilities.
You have to install the html parser from ParserMarket.
Here's a script I wrote up that might help:
Is there an easy way to do replace one string with another on every page the original string occurs, without having to individually edit every page?
Just use your tool of choice (sed, awk, etc.) and edit the files in data/pages/*/revisions/*. Note that this changes all revisions, not just the most recent. You'll have to do some skillful scripting to limit your change to the current version only (reflected in data/pages/*/revisions/current). And you'll want a MoinMoinBackup...
Also see SearchAndReplace and SearchAndReplace/FromOutsideTheWiki
Is there any way of re-naming a page that also updates references to that page? The existing rename action leaves all references to the renamed page pointing at the old name.
After a page is renamed, you can create a page with the old name containing a `#REDIRECT' processing instruction. It would be nice if there was a checkbox that would do this automatically in the form presented by the RenamePage action.
Please add a FeatureRequest about this.
How do i make and email appear into my inbox (as an administrator) whenever a new user creates a profile on my frontpage? So that i can decide whether or not i want to give the user the read or write privileges.
This is not possible without modifying code; it is a good idea, though.
Yes, use moin_dump script, it should be in your prefix/bin
Win32 note (with Moin 1.5): Use <python dir>\Scripts\moin.bat. Also it appears to search for the data dir relative to the current dir, so you should cd to <python dir>\share\moin\mywiki\ (in a default install)
I'd like to be able to automatically create a "batch" of subpages at once using a certain template for each new subpage. For example:
ABCPage (the parent) /Subpage1 (based on template page name 1) /Subpage2 (based on template page name 2) /Subpage3 (based on template page name 3) /Subpage4 (based on template page name 4) /Subpage5 (based on template page name 5) /Subpage6 (based on template page name 6) /Subpage7 (based on template page name 7) /Subpage8 (based on template page name 8) /Subpage9 (based on template page name 9) /Subpage10 (based on template page name 10)
I've looked at the NewPage macro, which kind of touches upon the concept, but that really isn't what I'm looking for. It would be great to use some sort of variable for each new subpage name and each template page name (which may also be a subpage), and create all of them at once instead of having to create each page one at a time. Maybe some kind of loop is the answer. Thanks.
I am not sure if you like to create your pages offline by a batch process. If so you could easily upload them by the PackageInstaller see HelpOnPackageInstaller -- ReimarBauer 2007-05-11 06:58:42
I've just started a new public MoinMoin wiki (Reluctant Expatriates), and am wondering what others do re: licensing the content. Wikipedia uses the GNU Free Documentation License--are there other possibilities? Need a license be used at all? What are the advantages/disadvantages when using a license?
On a related note, who owns the Wiki content? The original author? Everyone who worked on it? Nobody?
Just thought I'd ask. -- Walter Gildersleeve, Freiburg, Germany
Most licenses suck for wiki usage. IMHO, the GFDL is much too long and much too paper oriented for a wiki. There also seem to be compatibility issues with other free licenses when using GFDL. Personally I didn't find any great wiki license yet. Maybe have a look at the creative commons stuff and judge yourself. -- ThomasWaldmann 2006-02-02 16:41:18
Often I'll find a bug I'd like fixed in the MoinMoinBugs section, or a feature I'd line (FeatureRequests), and see that it has been implemented. However, I'm not able to tell what version first contains the fix. I need to know this in order to tell if the version I have should contain the fix already, or if it's already released so I can judge whether the upgrade is worth the effort, or if it's not released yet, I'd like some idea of when it might become available.
From the information placed on a fixed bug, I have no idea how to turn it into an actual version number. Example: MoinMoinBugs/OverwriteAttachmentShouldDependOnDeleteRight. The status says fixed in 1.5, but it doesn't say 1.5.8, 1.5.9, etc., and the link doesn't really help me either.
In this concrete case it has been fixed in the 1.5 branch recently (after 1.5.8). As it is still unclear whether there will be a 1.5.9 release, I can't tell "it will be fixed in 1.5.9" until release of that version comes near. -- ThomasWaldmann 2007-08-10 07:08:36
Is there a reasonable way to do this?
On rare occasions, one might want to downgrade a MoinMoin installation. In my case, it was because I wanted to go from Debian/testing (sort of) to Debian/stable. After doing that, I always got "CacheNeedsUpdate" exeptions, but couldn't figure out why. I already had replaced the underlay directory in my wiki, as well as purging all pre-compiled Python stuff. Since I was in a hurry, I created a backport of a more recent MoinMoin which solved the immediate problem and made the wiki work again, but just in case, is there an official procedure about how to downgrade a MoinMoin installation?
Well, if you read the upgrading instructions, you have made a backup. So just use your backup. Of course you can also clean the wiki cache to make the CacheNeedsUpdate problem go away. (check the help of the moin command)
cd mywiki find . -name cache -type d -exec rm -r '{}' \;
do call moin maint cleancache -- ReimarBauer 2007-10-06 07:22:36
I try to include the headers from other pages with an include-Statement.
This works great, but i simply cannot manage to add an "edit" Link to those included pages - it seems "editlink" does not work?!?
I already managed to find out, that the "to=" argument needs to be set - contrary to what the documentation says.
He is an example of what i try:
<<Include(^TODO/.*, "Header ...", 3, to='^----', titlesonly, editlink)>>
This shows the headers from all TODO/* pages, does not show "Header ..." and - this is my problem - does not show edit-links :-O
Any idea?
I wanted to have a page that includes the tables of content of many others pages, but for each such page offers an edit-link to directly edit this included page - any other way to reach that?!
Thanx!
Is it somehow possible to restrict the "titlesonly" option to the Include-Statement to a certain level of headers?
In our overview-page, i want to include the table of contents of some other pages, so i use an Include-Statement with "titlesonly" - but then, i get ALL the table of content, down to level 5 - this is just too much for the overview pages!
Any other way to handle this?
It seems, nobody reads this
I have found <<Include(^FooBar/.*,, to="$", sort=descending, titlesonly)>> works as long as the first line of each child page contains only the title text.
When trying to open the huge MoinMoinQuestions page, IE7 and FF2 (on WinXP with DSL) hang for at least 1 minute (>>1 min!!)! Opening the page with Opera on the same system works fine, takes only about 15s. Using Safari on my Mac (which uses the same DSL modem), it works also neatly. Don't know why this happens on IE7 and FF2. Any ideas? Disabling javascript seems to make some difference (especially for IE) but not a big one. I tested also on http://moinmoin.wikiwikiweb.de (running 1.5.9) but it is the same there as here on this wiki. -- OliverSiemoneit 2008-06-07 22:34:08
Are there any plans of making MoinMoin compatible with Google App Engine?
There is GAE support now in moin2, see http://hg.moinmo.in/moin/2.0 "gae" branch. Contributions for this are welcome! -- ThomasWaldmann 2012-10-07 04:11:35
I want to use something like <font face="MS comic sans">blablabla</font> ... Is it doable ? @-- JosefZelhar 2008-12-23 18:11:14@
-- JosefZelhar 2008-12-23 18:14:46
Don't ever use font as html tag.. it is "depraced" and ugly anyway. you could simple write someting like
{{{#!wiki comicfont blablablabla }}}
and add then in your common.css or screen.css something like this:
.comicfont { font-family: "MS comic sans", serif; }
But be aware using different and non standards fonts is not a good style and maybe also not working with different browser/os.
I'm trying to find a way to add a watermark (Same as when you hit preview for a draft) to a page using a simple macro or calling a different css sheet that would use an image file in moin directory. I guess implementing the same function as the preview button to a macro would be the simplest and cleanest way to do it, but I don't have any knowledge of how to do it.
Is it possible or do I need to ask for a feature request?
By now I will use the Icon macro and add a banner, at the beginning and at the end of the page, to identify the page as "Work in progress" or whatever.
-- SamRoy 2009-04-16 15:05:28
For attachments that are not (usually) rendered in preview (e.g. pdf) the attachment page shows nothing useful, and can be confusing, because a second click on download is needed to view the image. The reasons for this are in UnifyPagesAndAttachments and the associated Discussion, and one solution is do=get.
[[attachment:my.pdf|my paper|&do=get]]
For better markup compatibility to future moin versions, a normal link needs to link to the "rendered view" of an item (attachment), not directly to the download. If you need a direct download link, use this:
[[attachment:foo.txt|...|&do=get]]
I have been running moinmoin happily for a couple of years for a project that I shut down over the summer. I actually removed the directories from the machine. The other day I restored the directories and started moinmoin up. It seemed to start OK (no error message), but performance is horribly bad. Maybe a minute to load a page (using firefox). And some browsers (chrome) can't access moinmoin at all. I might have messed something up when removing/restoring the installation, but I think it's more likely that some software I installed since I last used moinmoin is getting in the way. Any ideas? -- PaulBerglund 2009-09-14 12:47:08
Which moin version is that?
For a fresh install (empty data/cache/) it can take a while until moin has rebuilt the cache contents. That means that especially the first access or the first backlink search can be rather slow. One should just wait until that access finishes though (and not cancel it), so it can rebuild the cache completely. If you run CGI and it times out, maybe try the standalone server or something else that is a persistent (long running) server (and does not time out).
Also please check whether moin has full permissions (esp. write perms) to everything below the data/ directory.
If that doesn't help, try cleaning the cache and retry.
-- ThomasWaldmann 2009-09-14 17:17:13
It turned out not to be a moin issue. It was firefox. I'd recently upgraded firefox and there must have been a problem with the install. I uninstalled and reinstalled it and now everything is fine. -- PaulBerglund 2009-09-16 18:17:44
Is there an easy way for a user to tell what version of MoinMoin is installed? I cannot find information on the wiki itself ("MoinMoin Powered" but no version information), and MoinMoin.__version__ is not available.
Call the page SystemInfo (example: http://localhost:8080/SystemInfo ) -- MarcelHäfner 2009-12-21 16:08:13
--
This page is much too long - please help to sort those questions into the appropriate subpages of MoinMoinQuestions.
Contents
I'm trying to port pages from a Wiki that uses TWiki to one built on MoinMoin. I found a couple of scripts at http://www.wolffelaar.nl/~jeroen/kwiki2moinmoin/ that gets things roughly right . However, it doesn't generate the cache directory for each page, when I look at RecentChanges it shows all of the pages being deleted, rather than added, and when I try to link to a page MoinMoin thinks there is no content there. How can I generate the text_html page in cache from a revision file? Is the lack of a cache likely to be the reason for the latter two problems? If not, what else do I need to modify to get MoinMoin to recognize these script translated pages? Thanks!
You don't need to generate the cache directory (nor its contents), it is generated automatically by moin. Your problem rather looks like current file doesn't point to an existing revision or maybe some access rights problem. -- ThomasWaldmann 2006-01-11 08:19:06
Is there a migration tool/script I can run to migrate from UseMod to Moinmoin, and keeping existing pages? I tried to look under http://wiki.apache.org/old, but couldn't find a tool there. Thanks. -- Corrie
John Carter at http://musicbrainz.org wrote a Perl script that converts to an old version of Moin (1.3?) here: http://wiki.musicbrainz.org/WikiMigrationBot Maybe that helps.
Is there a way to get the html output of a wiki page (the content part only) with an external application? -- RémyRoy
Do you asking for something like wget or curl? -- ReimarBauer 2005-12-27 21:29:47
No, what we want to do in to include wiki content on an other website but we don't want moinmoin styles, javascripts, anchors, options, actions for a page to be included. We only want the content part. Something like ?action=raw but that would output the html content of a page. -- RémyRoy 2006-01-03 18:48:05
Try using ?action=format&mimetype=text/html or ?action=print - this produces a more simple HTML. If that output is not yet simple enough, create your own formatter as a modified copy of MoinMoin.formatter.text_html.py (e.g. as "text_htm.py") and call the action with a different mimetype parameter (e.g. "text/htm"). If you do not need valid HTML (i.e. enclosed by <HTML>, <BODY> etc.), use ?action=content - this does still have the anchors, but no CSS or javascript stuff and no navigation (just try it here ;-). -- RobertSeeger 2006-01-10 10:46:18
Note that the basic content of the page is enclosed inside a <div id="content">...</div>. That should make it possible to just extract that portion, which would exclude headers, footers, navigation, etc. Currently though the html formatter does not produce well-formed XML (XHTML) so it may be problematic to use an XML processor to do this. -- DeronMeranda 2006-01-13 18:40:12
Thank you very much, that answer my question pretty well. -- RémyRoy 2006-01-15 01:06:33
How can I view all contributions to the wiki by a particular user or IP address? Can I view a list of my wiki edits? I see DeSpam has the ability to query and list all all contributions from a user or IP address.
I would like to use the Include macro to include content based on it's category, not it's name. Is this possible? -- TomPurl 2025-01-21 01:22:27
probably yes, needs an additional keyword - but it will needs more controls too to extract the things you only want. E.g. Category HomePage does have a lot of pages. Do you have an idea how this should be provided. A better place for discussion would be a FeatureRequest about this. -- ReimarBauer 2006-01-05 07:29:19
In the older version there was a button that showed the last changes of a wiki-page. I can't find this function now. Can it be re-activated? Thanks, Iker
That is integrated into the info link on the page using modern theme or do you speak on RecentChanges or what else? -- ReimarBauer 2006-01-07 18:21:17
I found it, thank you. Following the info link and then "Differenz" (german page)
Hi, I'm in the process of setting up a MoinMoin WikiFarm for our internal wiki pages, and am running into the problem that I can't seem to get pages in one instance of the farm to link easily to another instance. It seems like the InterWiki links defined by interwikiname in instance.py should be the right way to do this, but it doesn't seem to work as I naively would expect it to. The InterWiki links still only recognize those pages that are listed at http://moinmaster.wikiwikiweb.de/InterWikiMap. How do I get one my newly defined InterWiki's to show up? Preferably, since this is for an internal set of pages, I would like to completely replace the InterWikiMap with my own internal map, but I can't seem to find where to do this or any help pages that would enable this. Thanks for your help. --KevinBall
In your data directory there's a file called intermap.txt where the interwiki links are defined and probably look at the shared_intermap in HelpOnConfiguration.
Great! That helped! Thanks!
I have a cgi-bin script that creates an HTML page. I want to have the contents of this cgi-bin script included inside of a Wiki page. I tried the Include macro but nothing happend. Can this be done? What is the best way to view the cgi-bin ouput within the wiki?
Can I change the behaviour of user pages so that they are stored under mywiki/users/WikiName instead of mywiki/WikiName ??
We are implementing a googlebot and I need all wiki pages to have html_head_queries = 'index,follow'. I have added that line to my wikiconfig.py and compiled into a .pyc but the change is not reflected when I go to the wiki pages. Any ideas what I am doing wrong?
html_head_queries = '''<meta name="robots" content="noindex,nofollow">\n''' html_head_posts = '''<meta name="robots" content="noindex,nofollow">\n''' html_head_index = '''<meta name="robots" content="index,follow">\n''' html_head_normal = '''<meta name="robots" content="index,nofollow">\n'''So if you want to see it on ALL normal pages, edit html_head_index and html_head_normal.
Thank you! That did it!
I've seen this issue mentionned (most notably in MoinMoinBugs/URLMappingsBogosities): when running MoinMoin as standalone behind an http apache proxy, sometimes links are broken, replacing https by http. This happens for example with #redirect directives, but also when renaming a page.
The following did solve the issue, but since I didn't see it anywhere, thought I could mention it: change your properties dict in moin.py to include 'is_ssl': 1 as in:
# Properties # Allow overriding any request property by the value defined in # this dict e.g properties = {'script_name': '/mywiki'}. properties = {'is_ssl': 1}
move this to a bug report. check first if there is already one.
I have this problem with 1.5.5a but this workaround isn't available for me since I use moin.cgi with apache behind a (Pound) proxy. - pablos.
I'm playing with an idea of wikis dynamically created by users. The server is twisted, which means that it's not aware of any changes to the code during runtime. The question: is it possible to have some kind of dynamic farmconfig, without changing the MoinMoin source? -- JureVrscaj
A while ago, I created a bunch of categories in my MoinMoin wiki. Some of them had titles like this:
CategoryJavaAPI CategoryXYZ
MoinMoin doesn't recognize these word as WikiWords because I have more than one capital letter in a row, so I did the following to force them into being WikiWords:
["CategoryJavaAPI"] ["CategoryXYZ"]
This fixed my WikiWord problem, but it introduced a new one. These categories now appear in the Category dropdown list like this:
CategoryAbc ["CategoryJavaAPI"] CategorySomethingElse ["CategoryXYZ"]
This is confusing for our users, so I tried to replace the quasi-camelcase categories with MoinMoin-friendly camelcase categories. So, first I deleted the "CategoryJavaAPI" page and replaced it with "CategoryJavaApi". I did the same thing for all of my quasi-camelcase category names.
Unfortunately, this didn't fix my problem. I still see the same weird formatting in my dropdown category list. I thought that I might have some references to CategoryJavaAPI somewhere in one of my pages, but I wasn't able to find it when doing a text search.
Is there a cache somewhere that I can clear to see the new, MoinMoin-friendly category names? Is there somethine else that I'm missing?
Thanks in advance for the help!
Tom Purl
Some of your wiki users use old e-mail readers that don't suport utf-8. Is there an easy way to configure e-mail for or everyone so that mail is sent in 7 bit ascii?
-- PaulDubuc 20 March 2006
May be the following option of sendmail does this:
-B <type> This is a Sendmail option for selecting 7 or 8 bit processing. Exim is 8-bit clean; it ignores this option.
-- ReimarBauer 2006-03-20 21:16:09
the "-B 7BIT" option mentioned in the sendmail manual page doesn't have any effect. I also tried "-OSevenBitInput=T" with no luck.
This might not be the "right" way, but I "fixed" this by re-ordering the submit buttons to put <input id="fullsearch"> first. This is done at $CODE_BASE\theme\init.py def searchform(self, d): Now enter does a full-text search!
Maybe rather explain your users why it is better the way it is: you can use it as "fast goto page" when entering just some name fragments you remember and hit enter.
I think that the include macro has some major flaws, but due to how poorly it's documented, it's hard to tell whether the design is brain-damaged, or the implementation is. I can't imagine that someone would want it to work the way it does. The help page relies almost entirely on examples to convey the usage, but some of the examples just don't do what they're supposed to.
So the best I can do is air my complaints and hope that someone can explain it better than HelpOnMacros/Include does.
According to the example 2 on HelpOnMacros/Include, the code [[Include(FooBar, )]] should "add a H1 of 'Foo Bar' followed by the text". In reality, the page is included with no heading.
Example 4 states that [[Include(FooBar, 'All about Foo Bar', 2)]] should "add a H2 of 'All about Foo Bar'" before including the FooBar page. True, but not very useful. When including a single page, you can easily insert your own link. But when including multiple pages, why would you want to have the same title for each one?? For example, I have a page with several subpages, each one describing an API call. I include all the function prototypes with the command [[Include(^StandardLibrary/.*, "Prototype", 4, from="^## Prototype Begin", to="^## Prototype End")]], which produces output like:
int strcmp( const char* str1, const char* str2);
char* strcpy( char* dst, const char* src);
This only works after patching the macro as described in MoinMoinBugs/IncludeMacroBroken.
Seems pretty worthless to me. Ideally, the page name would be placed before each include, but I can't get that to work (see above).
From the explanation of the titlesonly param, you would think that it should give you a list of all the matching page titles, probably as hyperlinks. Instead, you get a bulleted list of all the headings on each matching page, with no divider between each page. The headings are hyperlinks to the page that contains them. For example, the code [[Include(FooBar,,,titlesonly)]] produces output that looks like:
They are all links to the page FooBar, but the text comes from the headings found in FooBar. If this was intended behavior, it should be called headingsonly, not titlesonly, but even then it makes very little sense.
General Observations
undocumented: The second parameter (heading) must be in quotes, or it generates an error message. How inconsistent is this? You must patch the macro as described in MoinMoinBugs/IncludeMacroBroken before you can see this behavior as described.
undocumented: If the pagename parameter is a regular expression (begins with a ^ character), then it is treated as case-sensitive, and must match the case of the saved pages exactly. If not a regular expression, the match is case-insensitive. (I understand that regex is technically case-sensitive, but that is a real pain here... At a minimum, the documentation should point this out, since page names are not treated case-sensitive in general. The danger is that if someone renames a page to change only the case, it will break Includes that use regex, but most other things are unaffected.)
undocumented: There appear to be three different types of parameters for the Include macro: c-style (value only), named (name=value), and flag (like a switch, it's either there or not). The c-style params can be optional, but you have to put commas in for them if you want to specify any params that follow. Not too hard to figure out from the examples, but still odd enough it deserves some explanation.
Anyway, sorry if this is misdirected. It's just hard to know how it's supposed to work when it's not well documented and buggy at the same time. Thanks for any clarifications. -- SteveDavison 2006-03-23 04:30:05
Maybe better move this to a MoinMoinBugs subpage (this page here is already too long).
I guess the title says it all...I am a new moinmoin user without much python or css experience...I really would like to create a navigation menu on the left/right side of my start page for my wiki...
I downloaded the Section Parser but the instructions (for me) are a bit vague.
Install ======= 1. Copy parsers in `plugin/parsers` into your `wiki/data/plugin/parser` directory. `section.py` is required by other section plugins. 2. Copy `MoinMoin/util/header.py` into your `MoinMoin/util` directory. 3. Add the content of `theme/sections.css` to your theme `screen.css`.
I don't have a util directory in either /usr/share/moin or /var/mywiki...
I really would like to see a couple of examples (the markup...)
Thanks,
Jerry
Ok, I finally figured out the step two refers to the "site-packages" directory in the Python library.
Alas, pasting the small examples in the README into my "Sandbox" page does not seem to have any effect on formatting.
I am running Moin 1.5.2 and the section parser 1.0.2
Jerry
Sigh, I finally got it working. Firefox was hanging on to a cached version of the CSS with all of its might.
Hello all, I added the EventCalendar macro to my wiki, but I'm not sure, where to add the eventcal.css. I copied to the directory /usr/share/moin/htdocs/modern/css and added an @import url[eventcal.css] to common.css and screen.css, but the calendar is still kind of ugly, so it seems to me, as if the wiki does not use the special css. What can I do to change this behavior?
Just open screen.css to append the whole content of eventcal.css. Refer to MacroMarket/EventCalendar. -- SeungikLee 2006-05-08 01:45:04
I'm running MoinMoin 1.5.2 in standalone mode on python 2.4 behind apache2 mod_proxy, exactly as described in HelpOnConfiguration/IntegratingWithApache. However, my RecentChanges list all users as connecting from localhost. Is there a way to make MoinMoin show the originating host instead of the proxy host in RecentChanges?
Is fixed in moin >= 1.6 if your proxy sets the 'x-forwarded-for' header.
I'd like to let users download a Wiki page which actually is a script or a C++ file (#format cplusplus, #format plain) but without the format definition at the top or any other header statements. Is that possible?
use inline:filename.cpp -- ReimarBauer 2006-05-13 14:10:24
inline just includes attachments. I'd like to have the wiki page as the file itself so that one may look up edit changes/differences. Just like the "action=format&mimetype=text/plain" argument but without reformatting the page's content -- just strip the header indicating that the page is cplusplus or something else. @MSt@
HelpOnConfiguration shows the var 'default_markup' uses the 'wiki' parser. Perhaps you could change this in your configuration. -- ReimarBauer 2006-05-13 16:50:43
Hello all, it's not a problem, its just a question: has someone developed a macro or another solution for moinmoin-Wiki, which manages and evaluates the tips of about 50 participants? Or has someone an idea how this can be easily done? -- Stephan
May be create a template each user has to fill out based on a definition list Game : : tip (without the blank) and tell them to store that below their homepage as e.g. MyTips. Then write a macro which reads all this pages (see at RecommendPage how to get the users) and do write a magical page using a simple table with the collected tips. -- ReimarBauer 2006-05-18 13:11:17
After editing a table in the gui editor, I find there're are wrong <cr>'s and some fo the html table formating text is in the wrong place, so I always have to go clean it up in the text editor. I'm running moinmoin 1.5.7, I'm wondering if I have something goofed in the config that could be causing this?
In /usr/lib/python2.4/site-packages/MoinMoin/formatter/text_gedit.py in the
def table():
I changed this line
to
Making newline=0, and the GUI seems to edit tables ok now. I haven't a clue to python and the wiki code, so I hesitate to draw any conclusions?
Q: I downloaded and installed MMDE and there are not 1/3 of the FCKeditor options that show on the FCKeditor site. Can that be resolved?
We only activated the basic stuff we needed for moin. If you want to get more concrete about what you miss, go to FeatureRequests.
The GUI editor is constantly causing problems for us, and I would like to disable it completely. We have put the following in our farmconfig.py file...
editor_default = 'text' editor_ui = 'text' editor_force = 1
... but there is still a "GUI Mode" button from the text editor page. Is there any way to completely prevent use of the GUI editor? -- SteveDavison 2006-06-06 21:28:18
line 335 of PageEditor.py tells::
if not (self.request.cfg.editor_force and self.request.cfg.editor_default == 'text'):
may be this is a bug please could you file it at MoinMoinBugs
the workaround is to comment off this condition
# if not (self.request.cfg.editor_force and self.request.cfg.editor_default == 'text'): # self.request.write(''' #<input id="switch2gui" style="display: none;" class="button" type="submit" name="button_switch" value="%s"> #''' % (_('GUI Mode'),))
-- ReimarBauer 2006-06-06 21:46:14
On our moinmoin-Installation (IIS 6.0, MoinMoin 1.5.3, Python 2.4.3) the automatic Page creation doesn't work. I always get the error-page 'The page cannot be found...' instead of the Dialog -page to create a new page. Can anybody help?
This is a (default) IIS misconfiguration - read this: HelpOnInstalling/InternetInformationServer
I read the HelpOnInstalling once again, and verified all the things regarding IIS and it seems to be installed correctly.
I generally like to present as simple a view as possible to my users, letting them add options as they get more comfortable with a program. I would like to hide, by default, the page trail on the top of the moin page. I tried what I think is correct in the wikiconfig.py, but it's not working (I tried flipping the 0 to 1, no difference):
user_checkbox_defaults = {'show_page_trail': 0}
We started to use
#format rst
a lot because this markup is feels more natural compared to the MoinMoin markup.
But how is it possible to attach multiple files to a wiki page written in reST markup? The example on HelpOnParsers/ReStructuredText isn't clear to me.
BTW: Currently (as of December 6th 2005) there seems to be a problem with docutils on moinmoin.wikiwikiweb.de. --PeterFunk
Is it possible to call a parser from a reStructuredText page, for example to colorize some Python source?
This is wiki markup {{{#!rst Restructured text *rules*. }} } {{{#!python a = 1 + 1 }} }
sudo apt-get install python-4suite ### get the xslt parser sudo nano /etc/moin/mywiki.py ### the configuration file for the wiki in question ### insert a line " allow_xslt = 1" just above the "data_dir" statement ### at the same place, insert a line " docbook_html_dir = '/usr/share/moin/mywiki/data/html'" ### a) browse to http://sourceforge.net/projects/docbook/ ### b) download the latest 'dockbook-xsl' zip and unpack it to your desktop ### now install into a writable wiki directory sudo cp -R ~/Desktop/docbook-xsl-1.70.1/html /usr/share/moin/mywiki/data ### assuming this is where your wiki is at sudo chown -R www-data.www-data /usr/share/moin/mywiki/data/html ### make writable to moin/apache2
Text docbook source format: create wiki page with the below exact text (ref. HelpOnXmlPages)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> <book> <title>Title of my next book</title> <chapter> <title>Chapter Title</title> <section> <title>First Heading</title> <para>Some Text</para> </section> </chapter> </book>
Issue 1 with the above example that has no stylesheet reference I get an error message:
XSLT processing error: No stylesheets to process.
Issue 2 with the below stylesheet reference, I get
<?xml-stylesheet href="docbook.xsl" type="text/xml"?>
XSLT processing error: Error retrieving resource u'wiki://Self/docbook.xsl': Page does not exist
Please, how can I fix this, if you could provide very detailed instructions? I think a key might be your cryptic statement HelpOnXmlPages "After you have upgraded 4suite, you have to delete the file db_compiled.dat in this directory." that I don't understand. You may refer to a required update to the 4ss repository or something?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> <?xml-stylesheet href="http://somewebsite.com/html/docbook.xsl" type="text/xml"?> <book> <title>Title of my next book</title> <chapter> <title>Chapter Title</title> <section> <title>First Heading</title> <para>Some Text</para> </section> </chapter> </book>
...and it comes out great!
However, that save takes 55 seconds.
I also tried this second style sheet in the file system, but it does not work.
For me it works now, but I had to do the following things, too:
Because of a docbook-xsl bug I got an error, but the workaround on this page helped: MoinMoinBugs/XsltErrorWithDocBook1.73. There are two solutions: either you comment the include of stripns.xsl, or you replace that file with the fixed one, which is also linked from this page, and will be included in the next release of docbook-xsl.
I'm evaluating MoinMoin Desktop as a personal knowledge repository. I want to run it on my WinXP laptop. For now it seems really nice. Only one thing is truely disturbing me: the DOS window that opens when I run moin.exe .
Is it possible to start moin.exe as a service or something similar? Another wiki I'm evaluating (wxWikiServer) simply create an icon in the notification area.
On DE I create a user profile, but a subsequent login says "User not existing".
In DE (Win) it is not possible to follow the procedure outlined in HelpOnConfiguration/CascadingStyleSheets to add a new theme. I can copy the directory (eg. copy modern mymodern), but there is no python/site-packages/MoinMoin/theme/modern.py to copy.
Also if I copy only the directory (and modify wikiconfig.py) the theme revert to the classic one.
A: You have two ways to go:
Open the zip-file and add the *.pyo od *.pyc of the theme to pylib.zip but make sure that it goes to the directory MoinMoin/themein the zip-achive! (For comiling the *.py file of the theme to *.pyo or *.pyc you need Python and you have to use the same version of Python as was used for making DE.)
Add rest of the theme files to /MMDE/wiki/htdocs/.
On Subpages the icon to navigate to the parent page (as outlined in AiutoSuNavigazione) is not present. Anything needed to enable it?
Click on the front parts of the pagename in the upper navigation area.
I have created a user account for e.g. TestUser. In his user settings I check "deactivate user account forever" and log out. Now (as expexted) it is impossible to log in TestUser. However, it is not possible to create a new user account named TestUser as the system reports that this user is already present. Question: How do I completely delete a user account so that I am able to recreate one with the the same user name?
It is a good idea NOT to delete users (at least not if you still want to have complete history of what they did). If you disable a user, just append his numerical userid to his name, like TestUser-1412331.23.12312.
After an upgrade to MoinMoin 1.5.4 to I had problems with the formatting of text boxes. The bottom of the text box overlapped with subsequent headings. To fix this I updated the following file: /usr/lib/python2.3/site-packages/MoinMoin/formatter/text_html.py Line 15, I replaced
#line_achors = True line_anchors = False
Somewhere in this wiki - as I can remember - you have said that Moin is a good choice for wikis not much bigger than 10.000 pages. Otherwise performance is too poor. Will this limit be changed when the new storage backend is introduced?
I haven't done benchmarks, but I suspect performance with lots of files will be much improved by using a file system with indexed directories (reiserfs, xfs, ext3 + btree indexes, etc).
If you observe long (some seconds to minutes) delays when showing or saving pages from some clients, it might be caused by reverse DNS lookups (done by the web server or moin code) not working for the client machine's IP.
In this case, the wiki is fast when used locally (assuming localhost resolves OK) or from clients that resolve correctly.
This is what you can do to fix or work around it:
fix your (reverse) DNS, if it is broken.
if you use standalone server (or Desktop Edition), upgrade to moin >= 1.5.7 to stop the standalone server doing reverse DNS lookups for every wiki access
upgrade to moin >= 1.5.4 and use log_reverse_dns_lookups = False in your wikiconfig to stop moin from doing reverse DNS lookups when you save pages.
See also FeatureRequests/ReverseDNSExcludeList.
Is it possible to reset the Hit-Counter for all Pages? -- Tom 2006-08-24 13:46:20
You can truncate event.log if you don't need the respective event data any more, it is only used for stats. In the cache directories, there are also some related file (data/cache/charts/* and data/pages/<pn>/cache/hitcounts), delete that, too. Your first requests needing that cache will rebuild it, taking a bit longer maybe. -- ThomasWaldmann 2006-08-31 07:27:05
Is there a concrete plan, when exactly Moin should get real metadata support and thus enabling a more semantic moin, tagging pages with multiple tags instead of using only one page category etc.?
We are working on a new storage backend (and a api for it) since quite a while. We also had a GoogleSoc2006 project on that, but unfortunately it's output is not in a usable state. For metadata storage we need the new storage backend.
You already can use more than one Category tags or even arbitrary other WikiBadges now.
I need a simpler Index page, without the attachment symbol displayed behind the page name:
How can I suppress this picture/link or modify the TitleIndex macro?
-- JeanJacquesKahn 2006-03-15 16:33:52
What's the problem with it exactly? Looks? Speed? Other?
Currently there is no way to suppress that except having a custom TitleIndex macro in your plugin directory (which could be just an externalized and modified copy of the code in MoinMoin/wikimacro.py).
It's mainly a look issue. Instead of modifying wikimacro.py, y will create an alternate definition for the 'attach' icon in our local theme file -- JeanJacquesKahn 2006-03-17 16:35:13
When I upload a large file it goes first to the /tmp and then to the original place, is there a way to change the /tmp path ?
I've written some task list plugin for Moin which consists of a set of different actions and macros. When releasing it, I want to provide a language file (GermanTranslation) with it which could serve as a basis for further translation efforts. Currently I've tried to do a wiki page like GermanDict. However this seems not work correctly for entries like
/!\\ You have to specify a task name.:: /!\\ Sie müssen eine Aufgabenbezeichnung angeben. Task\'s wiki homepage:: Wiki-Homepage \n%(icon)s %(manage_url)s tasks %(assign_text)s %(page_text)s \n:: \n%(icon)s %(manage_url)s der Aufgaben %(assign_text)s %(page_text)s \n
In these cases always the English text is show instead of the German text. What to do now? How should I provide the translations so as not to run into trouble when updating of Moin is done? As separate .py file to append to the lang.py file? Or as .po file?? Or can I put elsewhere a separate po/py file which is independent from lang.py but nevertheless recognized as a relevant translation file?? -- OliverSiemoneit 2006-12-23 16:56:19
Annotation1: In the source code I call the translations like this:
return _('/!\\ You have to specify a task name.') ... label12 = _('Task\'s wiki homepage') .... return _("\n%(icon)s %(manage_url)s tasks %(assign_text)s %(page_text)s \n") % { 'icon' : request.theme.make_icon('table-null'), 'manage_url' : manage_url, 'assign_text' : assign_text, 'page_text' : page_text, }
Annotation2: If you change the entry like this
/!\ You have to specify a task name.:: /!\ Sie müssen eine Aufgabenbezeichnung angeben.
the translation is successfull however the smiley is not displays but just the text /!\.
Annotation3: Because of some problems with simultaneously parsing query string and form-cgi-input in Moin 1.5.x, I have to release that for 1.6 only. In 1.6. language support seems to have changed slightly. How to provide a translation for an extension there?
Is there a way to add Pages into MoinMoin 1.5.6 automatically, e.g. I have some Config-Files which I document via my Wiki, and I would like to run some sort of Job at night which adds the Configfile as Page so there would be some history/revision capability. Matthias Gruber - 2007-01-04
Somewhere in this wiki I've found some hints that you can do operations with Moin also from the command line. However profound documentation on this topic is missing. What does it mean "working with the command line". I guess two things:
On the other hand: ease some task by using scripts which can be run from command line only (ScriptMarket?)?? How are these scripts related to the moin code? Are these scripts just seperate, small python programms? Can they also call parts of the moin code??
Infos I have found on Moin and command line:
Thanks!
How can I call a parser to colorize the string returned from the macro to the page? It seems to me that the only way it will work is to call the parser from within the macro, and I don't see how to do it.
Let's say:
Dependencies = ["time"] from urllib import urlopen from re import search, sub def execute(macro, args): base_url = r'http://www.example.url/' + args + r'?view=markup' doc = urlopen(base_url) out_doc = '' flag = 0 for lines in doc.readlines(): if search('<div id="vc_markup">', lines): flag = 1 if flag == 1: if search('</div>', lines): out_doc = out_doc + lines flag = 0 break else: out_doc = out_doc + lines # out_doc is a cvs snapshot return out_doc
How can I wrap my out_doc in such a manner that I can call the python.py or perl.py parser on it? And get the nice toggle line numbers and reserved word coloring?
We are about to use MoinMoin as an embedded help system for an application. Help pages are opened in an embedded web browser widget (.Net control). Now we want to generate the combined help text as a user manual by exporting the wiki pages. We thought of exporting via LaTeX (or at least TeX) format, finally generating a PDF document. To organize the many single wiki pages, we would have a backbone structure similar to a table of contents that defines how the respective pages relate to each other.
Ideally, this process would work automatically everytime the help pages are updated.
Searching the Web for "MoinMoin" and "LaTeX" almost only yields methods to embed LaTeX structures (math etc.) into a wiki page. So, has anyone already succeeded doing something similar to our plan? Maybe there are even better alternatives, including DocBook/XML processing? Thx in advance -- StefanK 21-Feb-2007
I'm afraid that some wiki gives MoinMoin a bad image. Some complaints about how the wiki is ugly, difficult to use, etc. There is much interest from contributors to move to MediaWiki because of the issues. However, I discovered this site today and find that (most of) the issues are apparently due to the way the wiki is configured, not because it is MoinMoin. Could those who have a vested interest in MoinMoin please contact the administrators and give them a hand? Thank you.
-- 71.9.59.97 2007-03-09 01:52:59
What issues exactly are you talking of? If we knew what exact issues are there, we could help better (assuming help is wanted). -- ThomasWaldmann 2007-03-09 08:28:23
Issues:
Register and set your theme to modern. They can also create their own theme, see HelpOnThemes and ThemeMarket. Also have a look at MoinMoinScreenShots to see what is possible with Moin if you make some effort (e.g. Fedora or Ubuntu)
Change page_template_regex to allow any name that ends with Template. See also macro/CardMacro for other template stuff know from other wikis..
Mediawiki has similar design. Easy to change by CSS. You can also override stuff with your own CSS, see NirSoffer/Personal.css
You can do a lot with tablestyle and Include macro example. You can also add plugins like SectionParser, which let you have very clean markup, and design your page with CSS (this is recommanded for AccessibleMoin). If you like lot of arguments, try ParserMarket/Frame.
If they don't want help and the pages get moved to Mediawiki, is there a utility to convert MoinMoin documents to Mediawiki?
Don't know.. But we have a MediawikiToMoin converter, see MediaWikiConverter
I am trying to make a book list of +100 books, and I want to describe each book on its own page, with Author, Title, ISBN, and some categorization concerning where the book fits in to a curriculum. Categories like which Semester, which module, etc.
So I need to give the above mentioned variables to each book.
I then want to make wiki-pages with various sorting of these books or subset of the books, i.e. ByAuthor, ByTitle, BySemester, ByModule, etc.
I the way I am trying to make this work is by assigning a subpage called /bookdict to each bookpage, and put he variables on the subpage, using indent and double colon for each variable declaration.
I then made a ByAuthor page and tried to use the GetVal(*/BookDict, Author) command, but I don't get any values returned.
Could anybody tell me: If it is possible to make this database like functionality in wiki
Look at MacroMarket/CollectLists -- ReimarBauer 2009-02-18 15:15:51
Try the virtual pages patch on MoinMoinPatch.
Answer We have now made the multidimentional database structure in Wiki.
JonasSmedegaard made a new macro based on the a SearchInPagesAndSort macro, and we then used variables on each book registration.
You can check the result here http://wiki.homebase.dk/Top100Books
You can learn about the LookupPagesAndSort macro here: http://moinmoin.wikiwikiweb.de/MacroMarket/LookupPagesAndSort
I think this macro adds a new Lotus Notes like facility to Wiki, and makes Wiki extremely useful as a semistructered textbased database.
If i enter the SystemInfo page, which is produces by the macro "[[SystemInfo]]", it contains a reference to the MoinMoin page - which is located at ../wiki/MoinMoin in my installation. But the macro produces a link to ../mywiki/MoinMoin which is wrong. I tried to check the macro but cannot find why it thinks the MoinMoin page to be at ../mywiki/MoinMoin. The macro is defined in "wikimacro.py": "def _macro_SystemInfo(self, args):" and this is the line where MoinMoin is referenced: " row(_('MoinMoin Version'), _('Release %s [Revision %s]') % (version.release, version.revision)) " Any idea??? :-O
normally the wiki alias is used for the static staff. Looks your configuration is not the standard config. Probably your changes in the setup aren't complete. Similiar questions like yours are easier discussed on #moin of irc.freenode.net. -- ReimarBauer 2007-10-04 22:22:59
Contents moved from HelpMiscellaneous* follow (please help removing old stuff and duplicates):
If you have mail configured for your MoinMoin wiki (see HelpOnConfiguration) then users can have their password sent to the email address given in their user preferences (just click on Login and read that page).
If mail is not configured, then this functionality is not offered.
You may want to add a custom icon to your wiki site, commonly known as favicon.ico. Favicons usually appear beside bookmarks and with tabbed browsing. To change the default favicon for your wiki, add this to your wikiconfig.py:
html_head = ''' <link rel="shortcut icon" href="/moin_static160/favicon.ico"> <!-- ... more header stuff ... --> '''
The image size must be 16x16.
The following shows how certain features can help you to optimize your configuration when you run several wikis on one host, or when you use MoinMoin in intranet environments.
The configuration variable "url_mappings" can be used to remap URLs, for example to change certain URL prefixes to totally different ones. This is especially useful in intranets, when whole trees of documents hosted outside of the wiki move around. It does not apply to most intra-wiki links as those are relative and are not remapped.
"url_mappings" is a lookup table in the form of a dict, the key is the prefix to be replaced, the value is the replacement.
You could also use "url_mappings" to include a dereferer-script for external links, like this:
url_mappings = { 'http://my-wiki/': 'http://my-wiki/', 'http://': '/cgi-bin/derefer.cgi?url=http://' }
The reason you might want to use this is to avoid google spamming in your wiki (although this is unlikely to be noticed and would only counter the link spamming if done large-scale) or to keep your wikipages secret. Note that your own wiki needs to be included explicitly because URLs that might be generated automatically (for example for email notifications) would otherwise be remapped to your referrer script as well.
Please notice: If you want to redirect a single page to another, just type #REDIRECT and the name of the page to direct to in the first line of your page. See HelpOnProcessingInstructions.
TODO: explain the following things in detail, and add more detail to the above sections
Needing more explanation:
Support for "file:" URLS
"RSS" icon displayed by RecentChanges macro
Admin stuff:
WikiFarm support:
<datadir>/plugin/macro and <datadir>/plugin/action can be used to store macros and actions local to a specific wiki instance
The term Wiki is a shortened form of WikiWikiWeb. A Wiki is a collection of pages that can be collaboritively edited using a web browser. They are open and free for anyone to create, edit and delete as they wish. The system creates cross-reference hyperlinks between pages automatically. See WikiWikiWeb for more info.
MoinMoin is an Open Source wiki program written in Python.
It is good for whatever you use it for. In contrast to forums and mailing lists WikiWiki allows the creation of content. Because of this, Wikis have much less "noise" and more information. The information is structured and easier to find. You can put up a wiki on your internal web site with many pages, which describe various projects, architectures, ideas, etc. for people to comment on. Some pages just sit there and convey information. Other pages are an open invitation for discussion and commentary. You could also set up a wiki for a very simple skills database.
In general, a wiki is very much a free-form tool, whose value derives from the use to which it is put. For instance, a page in a wiki can serve the same purpose as a discussion thread. You could use a wiki page to collaboratively work on a project.
See MoinMoinSuccessStories for more use cases.
Here are some important wiki features:
This is an important question. In general, wikis used to have NO security. (That's right!)
For MoinMoin this has changed with the introduction of Access Control Lists, see HelpOnAccessControlLists.
But, assuming you do not use ACLs, the possibility exists for accidental or conscious destruction or corruption of the current page revisions in the wiki.
There are two main ways to devalue a wiki. One is through erasure and the other is through corruption. Dealing with erasure is not terribly difficult, because there is a change log (and back versions) of every page and they can be reverted easily. Thus, when page deletions or major content erasures are detected (which should be fairly quickly), pages can be restored quite easily to their previous good state.
Explicit and intentional corruption is more difficult to deal with. The possibility exists that someone can enter incorrect information onto a page, or edit pages to intentionally change the information so it is incorrect (for example, people can change the attributions on a page to make it look like a different person made a particular comment, or someone can change the content of a paragraph to alter its meaning in a detrimental way). Pretty much any collaborative system has this problem. In practice, wiki corruption is an extremely rare event, and one that can be dealt with (if needed) with the notification feature (to a fixed auditor) for new material submission.
In other words, the philosophy of wiki is one of dealing manually (the term for that is SoftSecurity) with the rare (exception) case of a saboteur, rather than designing in features and overhead (both in implementation and in usage) to avoid the damage caused by a saboteur.
Because MoinMoin is in Python (maybe that is not an obvious reason for everybody, but in the end, it all comes down to this).
MoinMoin supports access control lists
MoinMoin is easy to extend
"MediaWiki is primarily targeted at Wikipedia and Wikimedia's other projects (and other similar large-scale sites with people running their own servers), secondarily at people running local instances to work with data from our sites, and only incidentally at anyone else." Brion Vibber, Media`Wiki developer
See WikiEngineComparison.
Yes, MoinMoin has a good ACL system that enables you to give some user groups control over specific pages. Please look at HelpOnAccessControlLists to find out more.
There are already more ways to search and/or scan the wiki than you can "shake a stick at":
Use the search box or FindPage, where you can search by keyword in title, by full text, with normal words or wildcards (regular expressions).
Click on TitleIndex. This will show you an alphabetized list of all pages by title.
Click on WordIndex. This shows an alphabetized list of every word in every title (i.e. a page named BlueTooth is listed under B / Blue as well as T / Tooth).
Use the LikePages action. This shows pages that have words in their titles that are similar to the current page.
Click on the RecentChanges link at the top of any page.
Log in and select up to 90 days back. Is this enough?
Any mixed case name that doesn't have a page will show up as a differently coloured link.
In the default theme, the link to the user home page is at the top of the page. In the rightsidebar theme, its under the "User" sidebar. You will have to create the page on the first time you visit it, user pages are optional.
If you see something you'd like to comment on, add to, or change, just click on the EditText link, or click on the icon at the top of the page. The page is brought up in a text-edit pane in your browser, and you simply make the changes. The wiki formatter will generally "do the right thing" with any text you enter. If you want to get fancy, you can do most of the same types of formatting that HTML allows you to do. See the HelpOnFormatting page for some tips and examples.
Not very many. It helps to keep certain types of information formatted in a consistent way. One important convention that will help with consistency is the use of "Template" pages.
The wiki has a feature called "Templates" which show up when you create a new page. If you click on one of these when creating a new page, then that page will have a structure similar to others of the same type. For example, when creating your own Wiki homepage, you should use the HomepageTemplate page, which is available when you create a new page in the wiki.
If the content already exists on a web site, then just add a link to a wiki page. Follow these steps:
Edit the Wiki page (go to the Wiki page and click the EditText link)
The wiki will automatically make a hypertext link from the text you type in.
You can make the link "prettier" by putting "cover" wording for the link in brackets. The cover wording will appear on the page, but the link will take the user to the URL when clicked on. Here's an example:
[[http://your.domain.example/foo.html|This will be the link text]]
produces:
In a table this is possible by default. Otherwise the Color2 macro which can be found at MacroMarket must be installed.
Use { { { and } } } to bracket your preformatted text into a preformatted paragraph.
You can include a URL to the image in the page. Example:
{{http://c2.com/sig/inter/wikibase.gif}}
produces
Templates are pages that show up automatically as options when you create a blank page. Any page that exactly matches page_template_regex will automatically show up in the list. Hence, if you want certain types of pages to have a similar format (similar headings, organization, etc.), you just define a template page, and when creating pages of this type, select that template and edit it. The wiki fills in the starting content for you. Templates are editable wiki pages like any other.
To create a Template page, just create a new page called <something>Template (for the default value of page_template_regex).
If you're using MoinMoin on an intranet, it may be useful to make links to documents on file shares available to everyone reading your wiki. For example:
[file://///servername/sharename/full/path/to/file/filename.txt Click here to read filename.txt]
You can also link to files with spaces in the filenames by manually entering the URL encoding for spaces(%20):
[file://///servername/sharename/full/path/to/file/filename%20with%20spaces.txt Click here to read filename with spaces.txt]
More and important info about this is on FileLinks.
Another obvious and maybe better option is to use the AttachFile action.
If they are significant, or you want people to know that you made them, then yes. Just put @SIG@ after your comment. It is not uncommon to indent your comment under the statement you are commenting on. Also, it helps to italicize your comment to make it stand off from the main body of the page you are commenting on.
However, in some cases it may be appropriate to just make your change anonymously. Correcting spelling, formatting, or trivial word changes are some examples where it is not necessary (and even discouraged) for you to sign your modification.
If you need to, you can revert your changes. See WhyWikiWorks.
All of this only works if the unsecure HTML extensions (HTML macro and parser) are installed.
If you want to add a single line of HTML, use the HTML macro. This is done by putting your HTML text as a parameter to the HTML macro, like so:
<<HTML(<font size=+12>This is large font</font>)>>
This would show up on the page as:
<<HTML(<font size=+12>This is large font</font>)>>
It's also possible to place an HTML document into a page by adding #format html as the first line in the page. If that line is there then the whole page will be interpreted as HTML (thus making links to other pages becomes a bit more difficult!) Make sure that you only add the body portion of the page (not the HTML headers or anything else outside of the body, including the <BODY> tag itself).
Use an InterWiki link for another wiki (for example FrontPage renders FrontPage)
http://moin.sourceforge.net/ will render as http://moin.sourceforge.net
moin sourceforge page will render as moin sourceforge page
See HelpOnAdministration for general help on this topic
For being allowed to delete or rename pages, you will have to log in.
Set page_front_page = u'OtherFrontPage' in your wikiconfig.py. See HelpOnLanguages.
HelpOnConfiguration contains more variables you might want to set.
MoinMoin is protected before overuse, if you change pages too frequent, or download attachments to frequent, you may get such a message: "You triggered the wiki's surge protection by doing too many requests in a short time". If you want to change such a behavior, you have to define surge_action_limits in your wikiconfig file and change default values. The default values are:
surge_action_limits = { # allow max. <count> <action> requests per <dt> secs # action: (count, dt) 'all': (30, 30), 'show': (30, 60), 'recall': (5, 60), 'raw': (20, 40), # some people use this for css 'AttachFile': (90, 60), 'diff': (30, 60), 'fullsearch': (5, 60), 'edit': (10, 120), 'rss_rc': (1, 60), 'default': (30, 60), }
There is a lot of administration information on the SystemInfo page, including the number of pages, and the macros and actions that are installed.
You can set up an !AdminPage, where you put helpful macros , as well as information about the real physical location of the pages, and macros for orphan pages or other things an adminstrator for the wiki might want to look at.
See HelpOnAdministration for more help.
The best way is as a SuperUser to switch to the user that should be deleted from user preferences, select "Disable this account forever" and klick on "Save".
click on Info (or the little "i" icon) in the top-right corner.
click on revert link of the version you want to restore.
For being allowed to revert pages, you will have to log in.
You get more help on HelpOnUpdating
If you want to help programming you can do that by:
Learn Python if you do not already know it: BeginnersGuide
If you are not a coder but want to help anyway you can help at:
MoinDev/ThemeDevelopment - development of CSS themes and corresponding (X)HTML structure.
MoinDev/Translation - translation of the interface and help pages
If you think you have found an error or ancounted a problem you can do some tests. Real bugs often show you an error page. You should then save this page go to MoinMoinBugs, search if you find a page that looks similar and then make a new bug page with the traceback attached
You can test your wiki when attaching ?action=test to the standard URL. You then get a page called "MoinMoin Diagnosis" that gives a lot of of information. Most of it will only make sense for developers, but if you are one of those or a Python geek you might find this useful.
I had two pages in my wiki, say, one 'SmallPageA', one 'SmallPageB', which I wanted to merge. Because SmallPageA was significantly shorter than SmallPageB, I copied the contents from SmallPageA to SmallPageB and deleted SmallPageA. Now I wanted to retain the name of SmallPageA, which is better than SmallPageB eg. due to the number of incoming links, and tried to rename the page. But this gave me the error message that SmallPageA would already exist! This is 1.9.3 on Linux.
This is normal behaviour in moin-1.x. Because you don't destroy the revisions by deletion of a page. One can undo this delete operation. This is the reason why you can't move another page to this place. There are two possibilities:
restore the old page rename it to a DeleteThisPage prefix, remove later all pages with this prefix from the server