moinsetup

README.txt

32:980a592988c6
2011-02-22 Paul Boddie Added an example configuration that would lead to limited hosting in a particular directory, requiring .htaccess and mod_rewrite tricks.
     1 Introduction
     2 ------------
     3 
     4 The moinsetup script is a utility separate from MoinMoin which attempts to
     5 assist in the configuration and deployment of MoinMoin and extensions. It can
     6 automate the installation of MoinMoin according to recommended practices,
     7 create and initialise new Wiki instances, install extensions, themes and
     8 related resources, and perform certain configuration changes.
     9 
    10 Usage
    11 -----
    12 
    13 Running moinsetup as follows will provide a list of methods available:
    14 
    15   python moinsetup.py
    16 
    17 Before any work can be done by the program, a configuration file needs to be
    18 created. See the supplied moinsetup.cfg file for an example file which can
    19 be modified and used for this purpose.
    20 
    21 Configuration
    22 -------------
    23 
    24 The configuration file has two sections: installation and site. A brief
    25 description of the settings is given below.
    26 
    27 Installation settings influence the configuration, installation and
    28 customisation of a Wiki and are generally not optional:
    29 
    30 moin_distribution   A path to a MoinMoin distribution directory, which can
    31                     also be a clone of a MoinMoin repository.
    32 
    33 prefix              The directory prefix containing lib, bin and share
    34                     directories where MoinMoin is (or will be) installed.
    35                     Although this follows the layout of the /usr directory (on
    36                     Unix-based systems), it is likely that MoinMoin may be
    37                     installed elsewhere
    38 
    39 web_app_dir         A directory where the moin.cgi program is (or will be)
    40                     installed.
    41 
    42 web_site_dir        The directory where sites available to the Apache Web
    43                     server are defined. This directory may just be a place
    44                     where initial site definitions are written, and after
    45                     manual editing, such definitions may be copied to the
    46                     appropriate location.
    47 
    48 common_dir          The directory in which the Wiki instance being configured
    49                     or managed resides (or will reside).
    50 
    51 Site settings are generally only relevant when configuring and installing a
    52 Wiki:
    53 
    54 url_path            The URL path (after the host details) of the Wiki.
    55 superuser           The superuser of the Wiki.
    56 site_name           The name of the Wiki.
    57 front_page_name     The name of the Wiki's front page.
    58 theme_default       The default theme of the Wiki.
    59 
    60 Examples
    61 --------
    62 
    63 Some of the more useful invocation methods are described below using examples.
    64 
    65 To set up MoinMoin and a Wiki instance:
    66 
    67   python moinsetup.py setup
    68 
    69 To only set up a Wiki instance using a different configuration file:
    70 
    71   python moinsetup.py -f new_wiki.cfg setup_wiki
    72 
    73 To change a configuration setting (for example, the default theme):
    74 
    75   python moinsetup.py reconfigure_moin theme_default mercurialwiki
    76 
    77 To install a theme from a directory containing a theme module, css and img
    78 directories (for example, MercurialWikiTheme):
    79 
    80   python moinsetup.py install_theme /path/to/MercurialWikiTheme/themes/mercurialwiki
    81 
    82 To install an extension package from a directory containing a setup.py script
    83 (for example, EventAggregator):
    84 
    85   python moinsetup.py install_extension_package /path/to/EventAggregator
    86 
    87 To install actions from a directory containing action modules:
    88 
    89   python moinsetup.py install_actions /path/to/EventAggregator/actions
    90 
    91 To install macros from a directory containing macro modules:
    92 
    93   python moinsetup.py install_macros /path/to/EventAggregator/macros
    94 
    95 To install theme-related resources for an extension from a directory
    96 containing css and img directories:
    97 
    98   python moinsetup.py install_theme_resources /path/to/EventAggregator
    99 
   100 To add theme-related resources to existing stylesheets (for example, adding
   101 the event-aggregator.css resource to the screen.css stylesheet for all
   102 installed themes):
   103 
   104   python moinsetup.py edit_theme_stylesheet screen.css event-aggregator.css
   105 
   106 To make a page package containing pages to be added to a Wiki:
   107 
   108   python moinsetup.py make_page_package pages_dir pages.zip
   109 
   110 To install a page package in a Wiki:
   111 
   112   python moinsetup.py install_page_package pages.zip
   113 
   114 Contact, Copyright and Licence Information
   115 ------------------------------------------
   116 
   117 See the following Web page for more information about this work:
   118 
   119 http://moinmo.in/ScriptMarket/moinsetup
   120 
   121 The author can be contacted at the following e-mail address:
   122 
   123 paul@boddie.org.uk
   124 
   125 Copyright and licence information can be found in the docs directory - see
   126 docs/COPYING.txt and docs/gpl-3.0.txt for more information.
   127 
   128 Dependencies
   129 ------------
   130 
   131 moinsetup has the following basic dependencies:
   132 
   133 Packages                    Release Information
   134 --------                    -------------------
   135 
   136 CMDsyntax                   Tested with 0.91
   137                             Source: http://www.boddie.org.uk/david/Projects/Python/CMDSyntax/index.html
   138 
   139 Release Procedures
   140 ------------------
   141 
   142 Update the moinsetup.py __version__ attribute.
   143 Change the version number and package filename/directory in the documentation.
   144 Update the release notes (see above).
   145 Tag, export.
   146 Archive, upload.
   147 Update the ScriptMarket (see above for the URL).