SYNOPSIS

moin [general options] [command command-subcommand] [specific options]

moin [--help|--version]

DESCRIPTION

moin is a tool to interact with moinmoin wiki from the command line. The command can manipulate moinmoin user accounts, print/dump data, import irclogs, do maintenance task, etc.

This command should be executed under the operating system account that "own" the wiki content (files).

OPTIONS

--config-dir=DIR

Path to the directory containing the wiki configuration files. [default: current directory] (Debian's /usr/bin/moin defaults to /etc/moin/)

--wiki-url=WIKIURL

URL of a single wiki to migrate e.g. http://localhost/mywiki/ [default: CLI]

--page=PAGE

wiki page name [default: all pages]

--version

show program's version number and exit

-q, --quiet

Be quiet (no informational messages)

--show-timing

Show timing values [default: False]

MOIN COMMANDS

moin command supports many commands, which in turns have sub-commands.

account check --help [check-option]

When using ACLs, a wiki user name has to be unique, there must not be multiple accounts having the same username. The problem is, that this was possible before the introduction of ACLs and many users, who forgot their ID, simply created a new ID using the same user name.

Because access rights (when using ACLs) depend on the NAME (not the ID), this must be cleaned up before using ACLs or users will have difficulties changing settings and saving their account data (system won't accept the save, if the user name and email is not unique).

account create --help [create-option]

This tool allows you to create user accounts via a command line interface.

account disable --help [disable-option]

This tool allows you to disable user accounts via a command line interface.

account homepage --help [homepage-option]

This tool allows you to create user homepages via a command line interface.

account inactive --help [inactive-option]

This tool allows you to find inactive users on your wiki via a command line interface.

Inactive user means: a user profile with a specific userid exists, but there is not any edit logged for that userid.

But please review the list before removing or disabling users, there are legitimate users who just read and never edit. If your wiki has strict ACLs, they might need to be able to log in to read. Use --show.

Usage:

    For all your wikis sharing a single user_dir, run:
        moin ... account inactive --py-append keep-users.py
    Then, run (for one of the wikis sharing this user_dir):
        moin ... account inactive --py-exec keep-users.py --show
    If you want to keep some user profiles that are shown there, add the userids to
    the keep-users.py file in the same way as all the other userids you see there.
    Finally run the command with --disable or --remove instead of --show.

account resetpw --help [resetpw-option]

This tool allows you to change a user password via a command line interface.

cli show --help [show-option]

Just run a CLI request and show the output.

export dump --help [dump-option]

This tool allows you to dump MoinMoin wiki pages to static HTML files.

export eventlog --help [eventlog-option]

This tool allows you to dump a MoinMoin wiki event-log to CSV.

export package --help [package-option]

This tool allows you to create a package of certain wiki pages.

import irclog --help [irclog-option]

This script pushes files from a directory into the wiki (to be exact: it pushes all except the last file, as this is maybe still written to in case of irc logs). One application is to use it to store IRC logs into the wiki.

import wikipage --help [wikipage-option]

index build --help [build-option]

This tool allows you to control xapian's index of Moin.

maint cleancache --help [cleancache-option]

This script allows you to globally delete all the cache files in the directories:

* <data_dir>/pages/PageName/cache/ * <data_dir>/cache * <user_dir>/cache

You will usually do this after changing MoinMoin code, by either upgrading version, installing or removing macros or changing the regex expression for dicts or groups. This often makes the text_html file invalid, so you have to remove it (the wiki will recreate it automatically).

text_html is the name of the cache file used for compiled pages formatted by the wiki text to html formatter.

maint cleanpage --help [cleanpage-option]

This tool outputs a shell script which upon execution will remove unused or trashed pages from the wiki.

maint cleansessions --help [cleansessions-option]

This script allows you to clean up session files (usually used to maintain a "logged-in session" for http(s) or xmlrpc).

maint globaledit --help [globaledit-option]

This tool allows you to edit all the pages in a wiki.

maint mailtranslators --help [mailtranslators-option]

This tool allows you to have a message read in from standard input, and then sent to all translators via email. If you use %(lang)s in the message it will be replaced with the appropriate language code for the translator.

maint makecache --help [makecache-option]

This script allows you to create cache files in data/pages/PageName/cache/ and /data/cache directories

You will usually do this after changing MoinMoin code and calling "maint cleancache", by either upgrading version, installing or removing macros.

text_html is the name of the cache file used for compiled pages formatted by the wiki text to html formatter.

maint mkpagepacks --help [mkpagepacks-option]

This tool generates a set of packages from all the pages in a wiki.

maint reducewiki --help [reducewiki-option]

This tool allows you to reduce a data/ directory to just the latest page revision of each non-deleted page (plus all attachments).

This is used to make the distributed underlay directory, but can also be used for other purposes.

So we change like this:

    * data/pages/PageName/revisions/{1,2,3,4}
        -> data/pages/revisions/1  (with content of 4)
    * data/pages/PageName/current (pointing to e.g. 4)
        -> same (pointing to 1)
    * data/pages/PageName/edit-log and data/edit-log
        -> do not copy
    * data/pages/PageName/attachments/*
        -> just copy

migration data --help [data-option]

This tool allow you to migrate data of pages to a newer version

server standalone --help [standalone-option]

This tool allows you to start a standalone server

xmlrpc mailimport --help [mailimport-option]

This tool allows you to import mail into the wiki.

xmlrpc remote --help [remote-option]

This tool allows you to execute moin scripts remotely.

xmlrpc retrieve --help [retrieve-option]

This tool allows you to print out the contents of a page via xmlrpc.

xmlrpc write --help [write-option]

This tool allows you to edit a page with xmlrpc. It is more of a commented example than an actual script.

EXAMPLES

Clean the cache containing pre-computed/pre-rendered pages.

$ moin --config-dir=/etc/moin --wiki-url=http://webserver/mywiki maint cleancache

Manually migrate the wiki content.

$ moin --config-dir=/where/your/configdir/is --wiki-url=http://webserver/mywiki migration data

Create the initial Xapian index (after enabling it in the configuration file)

$ moin --config-dir=/etc/moin --wiki-url=http://webserver/mywiki index build --mode=add

RELATED TO moin…

The full documentation for moin command line is maintained as a Wiki page (HelpOnMoinCommand). A copy is available at /usr/share/doc/python-moinmoin/HelpOnMoinCommand. Read the help page on your running instance of moinmoin because other MoinMoin instances, like http://moinmo.in/HelpOnMoinCommand may run a different version.