The following 271 words could not be found in the dictionary of 615 words (including 615 LocalSpellingWords) and are highlighted below:

able   Aborts   action   Actions   Add   Additionally   adds   Adds   afterwards   already   altered   always   an   and   another   at   attached   attachment   author   automatically   available   be   because   been   below   boolean   bottom   build   bundle   but   called   can   case   cfg   changes   command   commands   comment   complicated   configuration   contained   contains   Contents   Cool   Copies   correct   Creating   criteria   css   current   Currently   cust   Customer   Delete   Deletes   deliver   delivering   depending   Desktop   different   distribution   does   download   easier   easy   edit   Edition   editor   encountered   enhance   Ensure   etc   ever   Example   example   examples   Exceptions   exceptions   executed   Exit   extensions   file   File   filename   Filename   files   folder   For   for   format   fourth   framework   from   Front   gets   global   he   help   Help   Hopefully   if   If   Ignore   ignore   ignored   Implemented   in   Install   install   installable   installation   installer   installing   Installing   installs   Installs   into   Introduction   just   know   language   languages   like   line   lines   list   local   look   macro   main   make   manually   many   marks   met   Mostly   much   multiple   My   mypage   mypage2   myparser   name   Name   new   next   Note   now   of   offer   on   On   one   optional   optionally   Or   or   order   output   Package   package   packages   page   Page   pagename   Pagename   Pages   pages   parser   parsers   per   Phone   phone   Plugin   plugin   plugins   plugintype   possibilities   Prints   put   python   read   really   related   Replace   Replaces   replaces   Revision   revision   screen   script   scripting   second   see   selects   sensitive   separate   servers   Set   Sets   sets   setting   simplifies   simply   since   skips   so   Some   somewhere   sounds   special   specific   specified   specifies   standalone   stop   Stops   superuser   supplies   supported   system   target   Template   template   templates   text   that   The   the   their   them   Theme   theme   themename   themes   then   There   third   This   this   to   top   tpl   trivial   type   underlay   Underlay   update   upload   use   used   user   using   Version   version   very   view   Visibility   visibility   was   we   where   which   why   will   with   wondered   You   you   your   zip  

    HelpOnPackageInstaller

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. It has been already available since DesktopEdition 1.3.4 and MoinMoin 1.5.

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. Hopefully we will be able to separate the system pages depending on their languages and just offer the languages you like.

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

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
  • The first line simply marks the file as a script file and sets the revision of the used language. For now, it will be 1.
  • The second line replaces the underlay version of the page HelpContents with the file mypage.txt.

  • The third line adds a new revision to the page FrontPage, i.e. changes it.

  • The fourth line installs a new parser.

Implemented commands

Note that the commands are not case-sensitive.

  • Print|text

    • Prints the text into the script output, the user will see it afterwards.
  • IgnoreExceptions|boolean

    • Sets the ignore exceptions setting. If exceptions are ignored, the script does not stop if one is encountered.
  • SetThemeName|themename

    • Sets the name of the theme which will be altered next.
  • CopyThemeFile|filename|type|target

    • Copies a theme-related file (CSS, PNG, etc.) into a directory of the current theme.
    • Currently just supported on standalone-like servers.
    • Example: CopyThemeFile|screen.css|css|screen.css

  • InstallPlugin|filename|visibility|plugintype|target

    • Copies a plugin file from filename to target. Visibility may be local which selects the plugin folder of the current wiki or global will selects the folder of the MoinMoin python package. plugintype could be parser, macro, etc.

    • Example: InstallPlugin|myparser.py|global|parser|myparser.py

  • AddRevision|filename|pagename|author|comment|trivial

    • Adds a revision (read from the file filename) to the page pagename. author specifies the name of the editor and is optional. comment specifies the comment of the revision and is optional. trivial specifies if the revision was a trivial edit and is optional.

    • Example (installs new template files):

      AddRevision|cust.tpl|CustomerTemplate
      AddRevision|phone.tpl|PhoneTemplate
      
  • DeletePage|pagename|comment

    • Deletes the page pagename, optionally setting comment.

    • Example: DeletePage|FrontPage

  • ReplaceUnderlay|filename|pagename

    • Replaces the underlay version of the page. It can be used to install underlay pages or update them.
  • EnsureVersion|version|lines

    • Aborts the script or skips lines if the version criteria is not met and lines is specified.

    • This example supplies to different parsers and installs the correct one:

      EnsureVersion|1.3.3|2
      InstallPlugin|myparser.py_3|global|parser|myparser.py
      Exit
      EnsureVersion|1.3.2
      InstallPlugin|myparser.py_2|global|parser|myparser.py
      
  • Exit

    • Stops the script.
  • InstallPackage|Pagename|Filename

    • Installs another package which has to be an attachment called Filename of the page Pagename.

    • Example: InstallPackage|FrontPage|MyCoolPlugin.zip

Recent