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 2024-11-28 14:43:06
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