moin

The moin command is installed when you used setup.py. If invoking from the shell prompt does not find the moin command, you can also customize and use wiki/server/moin. Look into that script, there are some pathes to configure.

E.g. if you only have one wiki or one wiki farm on your machine and you configure sys.path in the moin command script, you do not need to give --config-dir=... option with every invocation.

You can also setup logging there if you don't like the builtin logging configuration.

usage: moin [command] [general options] command subcommand [specific options]

options:
  --version           show program's version number and exit
  -h, --help          show this help message and exit
  -q, --quiet         Be quiet (no informational messages)
  --show-timing       Show timing values [default: False]
  --config-dir=DIR    Path to the directory containing the wiki configuration
                      files. [default: current directory]
  --wiki-url=WIKIURL  URL of a single wiki to migrate e.g. localhost/mywiki/
                      [default: CLI]
  --page=PAGE         wiki page name [default: all pages]



moin ... account check ...
moin ... account create ...
moin ... account disable ...
moin ... account homepage ...
moin ... account resetpw ...

moin ... cli show ...

moin ... export dump ...
moin ... export package ...

moin ... import irclog ...

moin ... index build ...

moin ... maint cleancache ...
moin ... maint cleanpage ...
moin ... maint cleansessions ...
moin ... maint globaledit ...
moin ... maint mailtranslators
moin ... maint makecache ...
moin ... maint mkpagepacks ...
moin ... maint reducewiki ...


moin ... migration data ...

moin ... xmlrpc mailimport ...
moin ... xmlrpc remote ...

General options:
    Most commands need some general parameters before command subcommand:
    --config-dir=/config/directory
        Mandatory for most commands and specifies the directory that contains
        your wikiconfig.py (or farmconfig.py).

    --wiki-url=wiki.example.org/
        Mandatory for most commands and specifies the url of the wiki you like
        to operate on.

Specific options:
    Most commands need additional parameters after command subcommand.

    Sorry, but there is not much docs about that stuff yet, you can check
    docs/CHANGES and the MoinMoin wiki site for more infos (or just try to
    invoke some command/subcommand to see if it emits more help).
    The code you invoke is contained in MoinMoin/script/command/subcommand.py,
    so just reading the comments / source there might help you, too.

example for a default instance

moin --config-dir=/usr/share/moin/mywiki  --wiki-url=http://webserver/mywiki migration data 

moin ... account check ...

  --usersunique       Makes user names unique (by appending the ID to name and
                      email, disabling subscribed pages and disabling all, but
                      the latest saved user account); default is to SHOW what
                      will be happening, you need to give the --save option to
                      really do it.
  --emailsunique      Makes user emails unique; default is to show, use --save
                      to save it.
  --wikinames         Convert user account names to wikinames (camel-case).
  --lastsaved         Normally the account most recently USED will survive and
                      the others will be disabled. Using --lastsaved, the
                      account most recently SAVED will survive.
  --save              If specified as LAST option, will allow the other
                      options to save user accounts back to disk. If not
                      specified, no settings will be changed permanently.
  --removepasswords   Remove pre-1.1 cleartext passwords from accounts.

moin ... account create ...

  --name=NAME          Set the wiki user name to NAME.
  --alias=ALIAS        Set the wiki user alias name to ALIAS (e.g. the real
                       name if NAME is cryptic).
  --email=EMAIL        Set the user's email address to EMAIL.
  --password=PASSWORD  Set the user's password to PASSWORD (either cleartext
                       or {SHA1}...).

moin ... account disable ...

  --uid=UID           Disable the user with user id UID.
  --name=NAME         Disable the user with user name NAME.

moin ... account homepage ...

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

  --name=username                selects the user for a homepage          
  --group=PageGroup              selects users for homepages by a group page
  --all-users                    selects all users
  --user=name                    name of the user to perform the homepage creation
  --template_page=PageTemplate   template page for the users homepage.

moin ... account resetpw ...

  --uid=UID           Reset the password of the user with user id UID to the given password
  --name=NAME         Reset the password of the user with user name to the given password

moin ... cli show ...

moin ... export dump ...

  --target-dir=/your/output/path Sspecify the directory we write the html files to.
  --username=JohnDoe             Name of the user to perform the dump with

More information about dumping the wiki in HelpOnMoinCommand/ExportDump.

moin ... export package ...

  -p PAGES, --pages=PAGES
                        Comma seperated list of pages to package.
  -o OUTPUT, --output=OUTPUT
                        Output file for the package.
  -s SEARCH, --search=SEARCH
                        Search string to match.
  -u PACKAGE_USER, --user=PACKAGE_USER
                        User as whom the package operation will be performed
                        as.

To package all user created pages, do not specify --pages or --search.

moin ... import irclog ...

may be you need a dir with ircfiles

moin ... index build ...

Build the Xapian search index.

To build your index the first time, execute:

moin --config-dir=/where/your/configdir/is --wiki-url=wiki-url/ index build --mode=rebuild

You can check the status of Xapian and its index on SystemInfo.

Moreover, the following modes can be passed to the command above to control the building of the index:

 --mode=buildnewindex build a separate, new index (but do not use it!)
 --mode=usenewindex   switch to the new index built by buildnewindex 
 --mode=rebuild       same as buildnewindex + usenewindex
 --mode=update        Updates every item in the index based on its last modification timestamp.

Please note that moin updates the index if you add / modify / delete items using the wiki. Thus, it shouldn't be necessary to invoke "rebuild" except after changing xapian related configuration options. On the other hand, it is maybe not a bad idea either to use some wiki idle time (at late night, at sunday?) to do a periodic index rebuild, just for the case some index update didn't work, for whatever reason.

moin ... maint cleancache ...

removes cache files

moin ... maint cleanpage ...

create a Linux shell script that can be used (after reviewing it) to clean up in the data_dir.

It tries to classify the page directories into classes like trash and deleted and it will move those page dirs from their usual place to 2 directories (you have to create them!) trash and deleted.

moin ... maint cleansessions ...

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

 --name     remove sessions only for user NAME (default: all users)
 --all      remove all sessions (default: remove outdated sessions)

moin ... maint globaledit ...

This is primarily for moin development use for globally editing pages in a wiki (we use it for streamlining ACLs and metadata on the master wiki). If you like to use it, please read the sourcecode first.

moin ... maint mailtranslators ...

For moin development use only (mails the translators to notify them e.g. about a new release).

moin ... maint makecache ...

creates cache files based on event-log and pagelinks

moin ... maint mkpagepacks ...

NEVER EVER RUN THIS ON A REAL WIKI!!! This must be run on a local testwiki

moin ... maint reducewiki ...

moin --config-dir=/usr/share/moin/mywiki  --wiki-url=localhost/mywiki  maint reducewiki --target-dir=/tmp/target

moin ... migration data ...

migrates data of pages to a newer version

moin --config-dir=/usr/share/moin/mywiki  --wiki-url=http://wikiserver/mywiki migration data 

moin ... server standalone ...

Starts the standalone server (and offers more options that just using ./wikiserver.py).

# See there for more infos:
moin server standalone --help

moin ... xmlrpc mailimport ...

e.g.

# This is the configuration file for the mail import client

# This secret has to be known by the wiki server
mail_import_secret = u"foo"

# The target wiki URL
mail_import_url = u"http://localhost/?action=xmlrpc2"

moin ... xmlrpc remote ...

needs a remotescriptconf.py