New features:
* MoinMoin now requires Python >=2.2.2., we recommend to use Python >=2.3.2
(with 2.3.x, MoinMoin runs about 20-30% faster).
* by refactoring request processing, we made it possible to run moin under
persistent environments:
* twisted-web (http://twistedmatrix.com)
* httpdmain.py (use moin.py for starting this mini server)
* mod_python
* FastCGI
Of course, CGI is still possible.
* wiki pages will be compiled to bytecode now (by default), so no need for
slow parsing/formatting on every view ("WASP", see caching_formats)
* when using a persistent environment (like twisted) and WASP, you get up
to 20x speed - compared to CGI and moin 1.1
* added support for diffs between arbitrary revisions.
* removed requirement of the external diff utility
* config.auth_http_enabled (defaults to 0) - use this to enable moin
getting your authenticated user name from apache (http basic auth,
htpasswd) - if you enable this, your basic auth username has to be the
same as your wiki username.
Should work with CGI, FCGI and maybe even with mod_python.
Does not change behaviour of moin under twisted or standalone server.
* config.tz_offset = 0.0 sets a default timezone offset (in hours
from UTC)
* config.cookie_lifetime (int, in hours, default 12) sets the lifetime of
the MOIN_ID cookie:
== 0 --> cookie will live forever (no matter what user has configured!)
> 0 --> cookie will live for n hours (or forever when "remember_me")
< 0 --> cookie will live for -n hours (forced, ignore "remember_me"!)
* added themeing and some themes (if you improve the existing themes or
make nice new ones, please contribute your stuff!). The default theme is
set by config.theme_default (and defaults to 'classic').
* now supporting plugin directory for parsers, processors, themes, xmlrpc.
* action=info now defaults to showing page revision history again
* all actions accessing the logfile (as RecentChanges or history) are now
much faster
* refresh processing instruction, config.refresh
* config.refresh = (minimum_delay, target_allowed)
* minimum delay is the minimum waiting time (in seconds) allowed
* target_allowed is either 'internal' or 'external', depending on
whether you want to allow only internal redirects or also
external ones. For internal redirects, just use the Wiki pagename,
for external, use http://... url.
* refresh 3 == refresh this page every 3 seconds
* refresh 5 FrontPage == internal redirect to FrontPage in 5s
* refresh 5 http://google.com/ == redirect to google in 5s
Use very carefully! Allowing a low minimum_delay and putting a refresh
on RecentChanges might slow down your wiki significantly, when some
people just let their browser refresh and refresh again. Also, it does
cause quite some traffic long-term. So better do not use this without
good reason! Default is None (switched off).
* hide most UserPreferences options before user has logged in, less
confusing for new users
* "config.page_dict_regex" defines what pages are dictionary definitions
Currently dictionaries are used for UserHomePage/MyDict where you can
define key:: value pairs that get processed like DATE expansion when
saving a page. The 2 "" will be added to your keys automatically.
Please do not use xxx strings on the right side (value), results may
vary if you do.
You can also access wiki dictionaries by using the internal macro
[[GetVal(page,key)]]" - that will go to page "page" and return the
value (right side) corresponding to "key".
Implementation note: groups are a subset of the dictionary functionality.
* standalone server should work now (see server/moin.py), so you don't
need to setup apache or twisted for a local personal wiki, you only need
python and moin for that now, no additional stuff any more!
* if you run your wiki with charset = "utf-8" (the default is still
iso8859-1), you might want to have a look at contributions/utf8-pages/
to see if there are already translated system pages for your language.
Fixes:
* new importPlugin routine (the old one didn't work correctly)
* removed 0xA0 characters breaking utf-8
* system page recognition now uses wiki groups (see AllSystemPagesGroup),
fixing the long-time broken system page exclusion on TitleIndex.
* mostly HTML 4.01 Strict compliant HTML
* design is done by CSS now, HTML is semantic markup only
* removed target attribute from links, also [^NewWindow] markup - this
is a HTML 3.2 feature and not valid in HTML 4.01
* updated TWikiDrawPlugin to 20021003 version, with further modifications
including source. It can draw imagemaps now and saves PNG. On display a
GIF will be searched if no PNG is found. We recommend changing all GIFs
to indexed PNGs cause this fallback might disappear in later versions.
Sample code using bash and ImageMagick (be sure you know what you do):
for draw in `find /path/to/wiki/data -name \*.draw`; do
file=`dirname $draw`/`basename $draw .draw`
if [ -e "${file}.gif" ]; then
echo "Converting ${file}.gif to ${file}.png"
convert "${file}.gif" "${file}.png"
fi
done
* fixed email headers and encoding
* Changed moin-usercheck to adhere to scripting standards; no
proprietary config changes needed any more (added --config);
--wikinames is now part of the usage message.
* config.umask now defaults to 0770 - if you give world r/w access, ACLs
could be rather pointless...
Removed config variables:
* external_diff (not needed any more, we have internal diff now)
* shared_metadb (wasn't implemented for long - we will re-add it, when it is)
* title1/2 (please use page_header1/2)
* page_icons_up
Changed config variables:
* changed_time_fmt (removed some html and brackets around time from default)
* html_head (default is empty string now)
* page_footer1/2 (default is empty string now)
* page_icons (is now a list of icon names, not html any more)
* umask (default is 0770 now, not world r/w any more == more secure)
New config variables (see MoinMaster:HelpOnConfiguration):
* cookie_lifetime
* mail_login
* page_credits
* page_dict_regex
* page_group_regex
* page_header1/2
* page_iconbar
* page_icons_table
* page_license_enabled
* page_license_page
* theme_default
* theme_force
* tz_offset
Other:
* lots of internal code refactoring and optimization
* began moving src code documentation to epydoc, see "make epydoc"
* the URL for the RecentChanges RSS feed changed. It now only works with
...?action=rss_rc.
Known problems:
* theme support is neither complete (although covering most important
stuff) nor perfect - work on that will continue...
* we removed some html from system messages (the boxes at top of page you
get after some actions), so it currently looks less nice than before.
* html is not completely validating and it is not xhtml - this will be
fixed as soon as we have the infrastructure for that (other parser, DOM)
* problems with rtl (right-to-left) languages, will be fixed in 1.3
* if you change moin_config or switch themes, moin will still use already
cached page content. For the config this can be fixed by touching
MoinMoin/version.py (or simply deleting everything in
data/cache/Page.py). If you get more annoyed by this than pleased by
caching speedup, you can also switch off caching (see docs on
caching_formats).
Themeing and HTML/CSS cleanup:
* Browsers with completely broken CSS support (like e.g. Netscape 4.x) are
no longer supported. If you still need to support them, do not upgrade to
moin 1.2. If you still use these browsers, we recommend that you upgrade
your browser first (Mozilla 1.5 has nice and standards compliant HTML and
CSS support and is available as Free Software for Windows, Linux and Mac).
* If you changed any html in code or by config you will have to check if it
still works. For the usual stuff, look into `MoinMoin/theme/classic.py`
and `classic/css/screen.css`. For config defaults of the html fragments,
read `MoinMoin/config.py`. If you want to modify a theme, don't simply
change classic, but copy or subclass it under a new theme name.
* because of the new theme support the layout of the `htdocs` directory
changed:
* Instead of using icons under `img/` and css under `css/`, there will
be an additional `themename/` directory in between, e.g. `classic/img/`
and `classic/css/`. If you added own icons, you may have to copy them
to the themes directory.
* The filename of the CSS file has changed to the media type, so the
normal one used for screen output has changed name from `moinmoin.css`
to `screen.css`. There also were quite some changes and enhancements to
the CSS files, so better use the new ones.
* config.css_url was removed
Plugins:
* we use a new plugin loader that requires a correct `__init__.py` file in
the plugin directories. See the directory `wiki/data/plugin/` in the
distribution archive and just copy it over to your wiki's plugin directory.