1. Introduction

Have you ever wondered why we have so many pages in the main distribution? Mostly because we do not have a format to deliver the help pages in one file. Or why installing a theme is not easy because you do not always know where to put the files?

The package installer is a scripting framework for MoinMoin which simplifies installing and delivering extensions for MoinMoin very much.

You could use this system to bundle specific templates which e.g. enhance your MoinMoin to be a CRM system. Or you could make your plugins/themes easier installable.

1.1. Installing a package

Some superuser (i.e. a user name contained in cfg.superuser list in the configuration) of the wiki will download your package file from somewhere, upload it to the wiki and then click install in the attached files view. Additionally, he could install the package using the command line (MoinMoin/packages.py i package.zip).

1.2. Creating packages

There are multiple possibilities to create a package. You can use the PackagePages action in order to build a package automatically.

Or you can do it manually: you create a zip file which contains your files and a special file MOIN_PACKAGE, the installation script. The script contains one command (sounds complicated but is not really, look at the examples below) per line and gets executed from top to bottom.

Example script:

MoinMoinPackage|1
ReplaceUnderlay|mypage.txt|HelpContents
AddRevision|mypage2.txt|FrontPage
InstallPlugin|myparser.py|global|parser|myparser.py

1.2.1. Implemented commands

Note that the commands are not case-sensitive.