## Please edit system and help pages ONLY in the master wiki!
## For more information, please see MoinMoin:MoinDev/Translation.
##master-page:Unknown-Page
##master-date:Unknown-Date
#acl -All:write Default
#format wiki
#language en
<<Navigation(children)>>
<<TableOfContents>>
= 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
  -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.
                      http://localhost/mywiki/ [default: CLI]
  --page=PAGE         wiki page name [default: all pages]


FATAL ERROR: You must specify a command module and name:

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

moin ... cli show ...

moin ... export dump ...

moin ... import irclog ...
moin ... import wikipage ...

moin ... index build ...

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

moin ... migration data ...

moin ... server standalone ...

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=http://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.

    To obtain additonal help on a command use 'moin module subcommand --help'
}}}

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.
}}}

== 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 ... import wikipage ... ==
Imports the wiki page from given file into the wiki.



<<Anchor(index-build)>>
== moin ... index build ... ==
Build the [[HelpOnXapian|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
