* Requirements changed to require Python >= 2.3. We recommend that
you use the latest Python release you can get. The reason we
dropped 2.2.2 support is because no developer or tester uses this
old version any more, so incompatibilities crept in the code
without anybody noticing. Using some recent Python usually is no
real problem, see there for some hints in case you still run an
old python: http://moinmoin.wikiwikiweb.de/NewPythonOnOldLinux
The hint also does apply to other POSIX style operating systems,
not only Linux.
* We recommend you use MoinMoin/scripts/cachecleaner.py to clean the
wiki's cache (see comments at top of the script).
The cache will automatically be rebuilt (some operations may take
some time when first being used, e.g. linkto: search, so be patient!).
Config Changes:
* there is a file CHANGES.config with just the recently changed stuff
from multiconfig.py
* new defaults:
* page_front_page old: u"FrontPage" new: u"HelpOnLanguages"
please just read the help page in case you see it :)
* bang_meta old: 0 new: 1
* show_section_numbers old: 1 new: 0
* some regexes that used to be [a-z]Uxxxx$ are now [a-z0-9]Uxxxx$
* navi_bar has no page_front_page as first element any more
* removed settings and code [new behaviour]:
* acl_enabled [1]
* allow_extended_names [1]
* allow_numeric_entities [1]
* backtick_meta [1]
* allow_subpages [1]
* new settings:
* cfg.mail_sendmail = "/usr/sbin/sendmail -t -i" can be used if sending
via SMTP doesn't work on your server. Default is None and that means
using SMTP.
* language_default replaces the old default_lang setting (just renamed).
* language_ignore_browser = True can be used to let moin ignore the
user's browser settings (e.g. if you run a local-language only wiki
and your users use misconfigured or buggy browsers often). Default is
False. Don't forget to set language_default when using this.
* Wiki Editor changes / new WYSIWYG editor
* fully imported the javascript based LGPLed FCKeditor (many thanks
to Fred CK for his great work). See http://fckeditor.net/ for details.
* config for FCKeditor is at wiki/htdocs/applets/moinfckeditor.js
* added cfg.interwiki_preferred (default = []) to set a list of wikis to
show at the top of the wiki selection list when inserting an
interwiki link (just use the same wiki name as in interwiki
map). If the last list item is None, then the preferred wikis
will not be followed by the entries of the interwiki map.
* moved save/preview/... buttons to the top so that they can be
easily reached
* reduced edit_rows default to 20 lines
* Added support for edit by doubleclick in the diff view
* Improved wiki farm support
* make user files sharable between several wikis in a farm
* allow/use interwiki subscriptions
* use interwiki links in page trail
* save bookmark per wiki name
* cfg.cookie_domain can be used to set a cookie valid for a complete
domain (default: None == only for this host). If you use '.domain.tld',
the cookie will be valid for all hosts *.domain.tld - good for host
based wiki farms.
* cfg.cookie_path can be used to set a cookie valid for a wiki farm under
some base path (default: None == only for this wiki's path). If you use
'/wikifarm', the cookie will be valid for all wikis
server.tld/wikifarm/* - good for path based wiki farms.
* Interwiki user homepage (if you have MANY users)
Generated links for usernames are interwiki now, use cfg.user_homewiki
(default: 'Self') to specify in which wiki the user home pages are
located. Note: when pointing this to another wiki, the /MoinEditorBackup
functionality will be disabled.
SIG also uses interwiki when needed.
* Authentication, ACLs and related
* Modular authentication: cfg.auth is a list of functions that return a
valid user or None, use it like this:
from MoinMoin.auth import http, moin_cookie
auth = [http, moin_cookie]
* cfg.auth_http_enabled was removed, please use cfg.auth instead.
* http auth now supports "Negotiate" scheme, too
* Added sslclientcert auth method (Apache: untested, Twisted: not
implemented, IIS: no idea). See MoinMoin/auth.py for details.
Submit a patch if you have improvements.
* cfg.superuser is a list of unicode usernames. It is used by some
critical operations like despam action or PackageInstaller.
* removed allowed_actions, we now use actions_excluded only and it
defaults to [], that means, no action is excluded, everything is
allowed (limited by ACLs). In case of RenamePage and DeletePage,
this shouldn't be a problem as both can be reverted. In case you
did not allow attachments, you now have to use:
actions_excluded = ['AttachFile']
* special users (All, Known, Trusted) in Groups are now supported
* MoinMoin.security.autoadmin SecurityPolicy added
When using this security policy, a user will get admin rights on his
homepage (where pagename == username) and its sub pages. This is needed
for the MyPages action, but can also get used for manual ACL changes.
It can also be used for Project page auto admin functionality, see the
comments in the script for details.
Further it can automatically create the user's group pages when the
user saves his homepage.
* there is a UpdateGroup xmlrpc call, see MoinMoin/xmlrpc/UpdateGroup.py -
you can use this to update your *Group pages e.g. when generating them
from an external group database.
* UserPreferences changes
* Alias name: is used for display purposes, when "name" is cryptic. It is
shown e.g. in the title attribute of userid links (displayed when
moving the mouse over it).
* "Publish my email (not my wiki homepage) in author info" - use this
if you don't have a wiki homepage, but if you want to be contactable
by email. When you edit a page, your email address will be published
as mailto: link on RecentChanges, at bottom of page (last editor) and
in page info. If the wiki runs publically on the internet, be careful
using this or your email address might be collected by spammers.
* Preferred Editor: whether you want to use the text editor (as in
previous moin versions), the gui editor (new!) or both (you will get
2 edit links in that case).
* a user can add/remove the current page to/from his quicklinks with an
appropriate action now
* if cfg.user_email_unique = False, we don't require user's email
addresses to be unique
* removed show_fancy_links user preferences setting to simplify code and
caching. Displaying those icons is now done by CSS styles (see
common.css). Maybe needs fixing for non-standard themes and RTL langs.
* Markup
* added strikethrough markup: --(striked through text here)--
* ME expands to just the plain username (no markup added) on save
* User homepages
* when a user accesses his own non-existing homepage (pagename ==
username), the wiki will present the MissingHomePage system page
content, explaining what a user homepage is good for and offer
one-click editing it with content loaded from HomepageTemplate
* creation of homepage subpages is assisted by the MyPages action, which
offers rw, ro page creation (and a related group) or creation of private
pages. If you are not in the user_homewiki, you will get redirected
there first.
Other changes/new features:
* Added PackageInstaller and unzipping support (see wiki page
HelpOnActions/AttachFile for further details). PackageInstaller requires
the user to be in cfg.superuser list.
* Added an PackagePages action to simplify the package creation.
* Added location breadcrumbs - when you are on some subpage, the page
title parts link to the corresponding parent pages, the last part does
the usual reverse linking.
* added WSGI server support, thanks to Anakim Border, see:
wiki/server/moinwsgi.py (moin as WSGI app, uses the flup WSGI server,
see http://www.saddi.com/software/flup/)
MoinMoin/server/wsgi.py (adaptor code)
* added a "Despam" action to make de-spamming a wiki easy (mass revert
bad changes done by a single author or bot). You need to be in
cfg.superuser to use it.
* Better diffs with links to anchors to the changed places
* Enhanced table support in the DocBook formatter.
* Added 'moin' daemon script, that let you run moin standalone
server as daemon and control the server with simple command line
intreface: moin start | stop | restart | kill
* Add 'restart' option to mointwisted script
* Add properties option to standalone server config. Allow
overriding any request property like in other server types.
* Add support for running behind proxy out of the box with out
manual url mapping.
See HelpOnConfiguration/IntegratingWithApache
* added a WikiBackup action, configure it similar to this:
data_dir = "/path/to/data"
backup_include = [data_dir, ] you can add other dirs here
backup_users = ["BackupUserName", ] only TRUSTED users!
You usually don't need to change the default backup_exclude setting.
The default backup_include list is EMPTY and so will be your
backup in case you don't configure it correctly.
If you put your data_dir there, the backup will contain private
user data like email addresses and encrypted passwords.
* Added a SubscribeUser action which allows the administrator to subscribe users to the
current page.
* Added thread count to SystemInfo macro.
* Added Petr's newest patch against the DocBook code. It allows you to use macros (esp. the include macro) in DocBook pages in order to build larger documents.
* Added a RenderAsDocbook action which redirects to the DocBook formatter.
* Added searching for wiki-local words lists under <data_dir>/dict/.
They are used additionally to the global lists in MoinMoin/dict/.
* moin_dump now also dumps attachments referenced from the page.
It doesn't dump stuff that is just attached, but not referenced!
* On RecentChanges we now force the comment to be breakable, this improves
rendering of over-long words or on narrow browser windows - especially
for themes with limited content width like rightsidebar.
* We now have the "new" icon on RecentChanges clickable, just links to the
page.
* Print view now shows "interwikiname: pagename" (for show_interwiki = 1).
International support:
* mail_from can be now a unicode name-address
e.g u'Jürgen wiki <noreplyjhwiki.org>'
Theme changes:
* logo_string is now should be really only the logo (img).
If you included your wiki's name in logo_string you maybe want to remove
it now as it is shown as part of the location display now anyway (if
you set show_interwiki = 1).
* You maybe want to remove page_front_page from your navi_bar - we link to
that page now from the logo and (new, if you set show_interwiki = 1) from
the interwiki name displayed in location display, so you maybe don't need
it in navi_bar, too.
* If you have a custom theme, you should / may:
* sync modern/css/screen.css pagelocation pagetrail stuff to your
screen.css or pagelocation display (title()) will look strange (like a
list).
* remove "title h1 ..." CSS (or any other CSS assuming h1 is a page
title and not just a first level heading), it is not used any more.
* we now render = heading = as <h1> (was <h2> before 1.5),
== heading == as <h2> (was <h3>), etc.
* maybe move both title() and trail() to header area, like the builtin
themes do it.
* there is a new interwiki() base theme method that optionally (if
show_interwiki = 1) shows the interwiki name of this wiki and links to
page_front_page. The css for it is interwiki.
Developer notes:
* Plugin API was improved. When plugin module is missing,
wikiutil.PluginMissingError is raised. When trying to import a
missing name from a plugin module, wikiutil.PluginMissingError is
raised. You must update any code that use wikiutil.importPlugin.
Errors in your plugin should raise now correct tracebacks. See
http://moinmoin.wikiwikiweb.de/ErrorHandlingInPlugins
* pysupport.importName was changed, it does not check for any
errors when trying to import a name from a module. The calling
code should check for ImportError or AttributeError. Previous
code used to hide all errors behind None.
* Its easier now to customize the editbar by overriding
editbarItems() in your theme, and returning a list of items to
display in the editbar. To change a single editbar link, override
one of the xxxLink methods in your theme.
Internal Changes:
* request.formatter (html) is available for actions now
* theme API's d['page_home_page'] is gone (sorry) and replaced by
d['home_page'] which is either None or tuple (wikiname,pagename).
It is better to use the base classes function for username/prefs anyway.
* introduced cfg.hacks for internal use by development, see comment in
multiconfig.py and file HACKS.
* added IE7 (v0.9) from Dean Edwards (see http://dean.edwards.name/IE7/) -
that should fix quite some IE bugs and annoyances (on Win32).
* for enabling IE7, use cfg.hacks = { 'ie7': True }
* reducewiki now also copies all attachments (we use that to make underlay
directory from moinmaster wiki's data_dir)
Fixes:
* Fixed a typo in xslt.py which led to a traceback instead of an
error message in case of disabled XSLT support.
* Fixed crash in twisted server if twisted.internet.ssl is not
available.
* Fixed wrong decoding of query string, enable wiki/?page_name urls
with non ascii page names.
* Fixed wrong display of non ascii attachments names in
RecentChanges and page revision history.
* Fixed a crash when trying to run standalone server on non posix os.
* Fixed highlight of misspelled words in Check Spelling action.
* Fixed case insensitivity problems on darwin (Mac OS X). See
MoinMoinBugs/MacHfsPlusCaseInsensitive
* Added RecentChanges (only the english one) to the pages getting
html_head_index headers
* text_html cache files written with this code will invalidate themselves
if they detect to be older than the wikiconfig. Note: you should remove
all old text_html cache files once after upgrading, they will then be
rebuilt automatically with the new code.
* Fixed MoinMoinBugs/12_to_13_mig10_Walk
* Fixed the word_rule: a word like AAAbbAbb isn't teared into two parts
any more (was: AA<link>AbbAbb</link>)
* Fixed false positive InterWiki markup for languages like Finnish.
InterWiki links are only rendered if the left side has an appropriate
entry in the interwiki map, otherwise it is rendered as simple text.
* Fixed unicode error when uploding non-ascii file name using mod
python.
* Fixed error handling of wikirpc requests, should give more
correct errors and prevent no error output and blocking the
client in some cases.
* Fixed the "lost password" mail processing. If a user entered some email
address unknown to the system, he was not notified of this, but just got
a useless mail with no account data in it. Now the system directly tells
the user that he entered an unknown email address.
* Fixed SystemInfo, it now also lists parsers in data/plugin/parser dir.
* Fix error handling on failure, improved error display
* Fix error handling when importing plugins or importing modules
dynamically. The fix is not backward compatible with older plugins.
* Fix chart action, returns a page with error message when chart
can not be created.
* Fixed formatter usage in the ShowSmileys macro.
* Fixed updating pagelinks cache for [:page:text] or [wiki:Self:page text],
fixes display of LocalSiteMap and rendering of such links.
* Hopefully fixed urllib problems (esp. with py 2.4.2, but also before) by
using our own urllib wrapper that handles encoding/decoding to/from
unicode, see wikiutil.py. Also made a similar fix for making and parsing
query strings.
* Fixed MonthCalendar tooltips when containing special chars like quotes.
* Added html escaping for diff text for RSS feed with diff=1.
* The distance between page content beginning and the first = heading =
was much too much. Fixed.