moinsetup

README.txt

40:9a95862669f6
2011-08-28 Paul Boddie Made various changes to support a shared data directory such as those provided by system packages in places like /usr/share/moin, without a source distribution of MoinMoin being installed.
     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 moin_data           A path to the MoinMoin shared data, which may be installed
    34                     from a system package in a directory such as
    35                     /usr/share/moin.
    36 
    37 prefix              The directory prefix containing lib, bin and share
    38                     directories where MoinMoin is (or will be) installed.
    39                     Although this follows the layout of the /usr directory (on
    40                     Unix-based systems), it is likely that MoinMoin may be
    41                     installed elsewhere
    42 
    43 web_app_dir         A directory where the moin.cgi program is (or will be)
    44                     installed.
    45 
    46 web_static_dir      A directory from which static resources are to be served.
    47                     This directory need only be specified in a limited hosting
    48                     environment (see below for more details).
    49 
    50 web_site_dir        The directory where sites available to the Apache Web
    51                     server are defined. This directory may just be a place
    52                     where initial site definitions are written, and after
    53                     manual editing, such definitions may be copied to the
    54                     appropriate location. If this directory is left
    55                     unspecified, a limited hosting environment will be
    56                     assumed.
    57 
    58 Except for the common_dir setting, site settings are generally only relevant
    59 when configuring and installing a Wiki:
    60 
    61 common_dir          The directory in which the Wiki instance being configured
    62                     or managed resides (or will reside).
    63 
    64 url_path            The URL path (after the host details) of the Wiki.
    65 superuser           The superuser of the Wiki.
    66 site_name           The name of the Wiki.
    67 front_page_name     The name of the Wiki's front page.
    68 theme_default       The default theme of the Wiki.
    69 
    70 Limited Hosting Environments
    71 ----------------------------
    72 
    73 Sometimes, the hosting environment in which MoinMoin is to be deployed will be
    74 restrictive or "limited", meaning that substantial configuration of the Web
    75 server will not be possible for the user installing and configuring MoinMoin.
    76 In such environments, users will typically be allowed to install content in
    77 preconfigured directories for static and dynamic content. For example:
    78 
    79 /path/to/www/cgi-bin    a dynamic content directory, providing CGI scripts
    80 /path/to/www/htdocs     a static content directory, providing Web pages
    81 
    82 To work in such environments, specify the configuration settings in
    83 moinsetup.cfg as follows:
    84 
    85 web_app_dir     = /path/to/www/cgi-bin
    86 web_static_dir  = /path/to/www/htdocs
    87 web_site_dir    =
    88 
    89 Inside the static resources directory, a subdirectory will be created to hold
    90 any static content used by MoinMoin.
    91 
    92 Examples
    93 --------
    94 
    95 Some of the more useful invocation methods are described below using examples.
    96 
    97 To set up MoinMoin and a Wiki instance:
    98 
    99   python moinsetup.py setup
   100 
   101 To only set up a Wiki instance using a different configuration file:
   102 
   103   python moinsetup.py -f new_wiki.cfg setup_wiki
   104 
   105 To change a Wiki configuration setting (for example, the default theme):
   106 
   107   python moinsetup.py reconfigure_moin theme_default mercurialwiki
   108 
   109 To install a theme from a directory containing a theme module, css and img
   110 directories (for example, MercurialWikiTheme):
   111 
   112   python moinsetup.py install_theme /path/to/MercurialWikiTheme/themes/mercurialwiki
   113 
   114 To install an extension package from a directory containing a setup.py script
   115 (for example, EventAggregator):
   116 
   117   python moinsetup.py install_extension_package /path/to/EventAggregator
   118 
   119 To install actions from a directory containing action modules:
   120 
   121   python moinsetup.py install_actions /path/to/EventAggregator/actions
   122 
   123 To install macros from a directory containing macro modules:
   124 
   125   python moinsetup.py install_macros /path/to/EventAggregator/macros
   126 
   127 To install theme-related resources for an extension from a directory
   128 containing css and img directories:
   129 
   130   python moinsetup.py install_theme_resources /path/to/EventAggregator
   131 
   132 To add theme-related resources to existing stylesheets (for example, adding
   133 the event-aggregator.css resource to the screen.css stylesheet for all
   134 installed themes):
   135 
   136   python moinsetup.py edit_theme_stylesheet screen.css event-aggregator.css
   137 
   138 To make a page package containing pages to be added to a Wiki:
   139 
   140   python moinsetup.py make_page_package pages_dir pages.zip
   141 
   142 To install a page package in a Wiki:
   143 
   144   python moinsetup.py install_page_package pages.zip
   145 
   146 Contact, Copyright and Licence Information
   147 ------------------------------------------
   148 
   149 See the following Web page for more information about this work:
   150 
   151 http://moinmo.in/ScriptMarket/moinsetup
   152 
   153 The author can be contacted at the following e-mail address:
   154 
   155 paul@boddie.org.uk
   156 
   157 Copyright and licence information can be found in the docs directory - see
   158 docs/COPYING.txt and docs/gpl-3.0.txt for more information.
   159 
   160 Dependencies
   161 ------------
   162 
   163 moinsetup has the following basic dependencies:
   164 
   165 Packages                    Release Information
   166 --------                    -------------------
   167 
   168 CMDsyntax                   Tested with 0.91
   169                             Source: http://www.boddie.org.uk/david/Projects/Python/CMDSyntax/index.html
   170 
   171 New in moinsetup 0.3 (Changes since moinsetup 0.2)
   172 --------------------------------------------------
   173 
   174   * Added a moin_data setting and made moin_distribution optional so that when
   175     MoinMoin is installed from a system package, the non-installation actions
   176     can still be performed.
   177 
   178 New in moinsetup 0.2 (Changes since moinsetup 0.1)
   179 --------------------------------------------------
   180 
   181   * Improved OpenID configuration, supporting MoinMoin 1.9, and added support
   182     for other authentication methods.
   183   * Added support for ACL-capable filesystems when setting Wiki permissions.
   184     It can be more convenient to retain read/write access to the installed
   185     files while also granting the Web server user (who need not be in a common
   186     group) access to read and modify the files.
   187   * Added support for configurations employing a separate static resources
   188     directory (such as a typical "htdocs" directory).
   189   * Added a parser installation action.
   190   * Added support for page attachments in the page-packaging action.
   191 
   192 Release Procedures
   193 ------------------
   194 
   195 Update the moinsetup.py __version__ attribute.
   196 Change the version number and package filename/directory in the documentation.
   197 Update the release notes (see above).
   198 Tag, export.
   199 Archive, upload.
   200 Update the ScriptMarket (see above for the URL).