This is a list of things that are to be implemented. If you miss a feature, have a neat idea or any other suggestion, please put it on MoinMoinIdeas. 
To discuss the merit of the planned extensions, or new features from MoinMoinIdeas, please use MoinMoinDiscussion.
A list of things that are added to the current source in CVS are on MoinMoinDone.
MoinMoinRelease describes how to build a release from the SourceForge repository.
To discuss the merit of the planned extensions, or new features from MoinMoinIdeas, please use MoinMoinDiscussion.
A list of things that are added to the current source in CVS are on MoinMoinDone.
MoinMoinRelease describes how to build a release from the SourceForge repository.
Contents: 
 
1. CURRENT ¶
Things to do in the near future:
- Spellchecker: 
- add a nice progress page, while the dictionary cache is built
 - add a means to build the dict.cache file from the command line
 
 - add a nice progress page, while the dictionary cache is built
 - Macro that lists all users that have an email address; a click on the user name sends the re-login URL to that email (and not more than once a day).
 - Send a timestamp with the EditPage link, and then compare to the current timestamp; warn the user if page was edited since displaying.
 - Now that we can identify certain authors (those who have set a user profile), we can avoid to create a backup copy if one author makes several changes; we have to remember who made the last save of a page, though.
 - Implement the update script (copying new images etc.) described elsewhere on this page or MoinMoinIdeas.
- By default, enable an as-if mode that shows what needs to be fixed.
 - Replace SystemPages by using the normal "save page" code, thus creating a backup copy of the page that was in the system. Only replace when diff shows the page needs updating.
 
 - By default, enable an as-if mode that shows what needs to be fixed.
 - UserPreferences
- Send a regular "changes" mail? (checkbox, plus frequency setting hourly/daily/weekly/etc.)
 - Other things like color, icons, menu?
 - On request, send email containing an URL to send the cookie
 - Steal ideas from MeatBall:Preferences
 - a CSS switch (needs more work on the formatter issue to really work)
 - configurable fonts, font sizes etc. (copy master CSS file to a user one, and send that)
 
 - Send a regular "changes" mail? (checkbox, plus frequency setting hourly/daily/weekly/etc.)
 - MoinMoinRefactoring
- create a dir per page in the "backup" dir; provide an upgrade.py script to adapt existing wikis
- or go all the way, and store pages as data/pages/<firstletter>/<pagename>/(current|meta|...|<timestamp>)
 
 - or go all the way, and store pages as data/pages/<firstletter>/<pagename>/(current|meta|...|<timestamp>)
 
 - create a dir per page in the "backup" dir; provide an upgrade.py script to adapt existing wikis
 - Add backlink patch by Thomas Thurman
- Page info: links to / from page.
 
 - Page info: links to / from page.
 - Add a link to 
EditThePageSimultaneously (or a link to a local copy) to the edit conflict message.
 - [[SiteMap]]: find the hotspots and create a hierarchical list of all pages (again, faster with caching)
 - ProcessingInstructions
 - Remember when someone starts to edit a page, and warn when someone else opens the same page for editing
 - macro for the server time/date (pass the strftime string as an optional argument)
 - Using the new zipfile module, add a download of all pages
 - Some of 
IndexingScheme as macros
 - Diffs:
- Lynx-friendliness (keep >>> === <<< ?)
 - look at cvsweb code (color-coded, side-by-side comparisons)
 - or look at viewcvs www.lyra.org/viewcvs (a nicer python version of cvsweb with bonsai like features)
 - diff -y gives side by side comparisons
 
 - Lynx-friendliness (keep >>> === <<< ?)
 - Create MoinMoinI18n master sets (english help pages are done, see HelpIndex, translations are welcome)
 - Document the config options (possibly after the refactoring)
 - Check generated HTML code for conformity
 
3. FEATURES ¶
- Script or macro to allow the creation of new wikis ==> WikiFarm
 - Setup tool (cmd line or cgi): fetch/update from master set of system pages, create a new wiki from the master tarball, delete pages, ...
 - Support URNs, see http://www.ietf.org/internet-drafts/draft-daigle-uri-std-00.txt and http://www.ietf.org/internet-drafts/draft-hakala-isbn-00.txt
 - Add ISBN links
 - Support for -- (‐ ?), << and >> (french quotes) and possibly any (Latin-1) SGML entity.
 - A RegisterInterest macro
 - Add display of config params (lower/uppercase letterns) to the SystemInfo macro.
 - Add a "news item" macro (edit page shows a special form)
 - Implement http://sunir.org/apps/visits.pl
 - Make a sitemap using 
GraphViz
 - System Info: number edits, views, whatever.
 - Add hidden field to editor, for two purposes:
- recognize saves from the same author
 - prevent direct saves from outside (i.e. simple attacks), that did not load and parse the edittext page before saving
 - needs a way to save meta-info for a page
 
 - recognize saves from the same author
 - Add change counter to RecentChanges
 - Add PyUnit tests
 - WikiName|s instead of the obsessive WikiName' ' ' ' ' 's (or use " " for escaping)
 - Backslash escapes?
 - Support ü SgmlEntities
 - Configuration outside the script proper (config file instead of moin_config.py)
 - When a save is in conflict with another update, use the rcs/cvs merge process to create the new page, so the conflicts can be refactored. Warn the user of this!
 - Write timings to a log file (cgi_log) when configured accordingly, so we can check for necessary optimizations.
 
WikiWordStatistics (or just add counters to the WordIndex?)
- Document all MoinMoinUrlSchemes (i.e. action=whatever)
 - Make a ZopeMoinMoin product, to compete with ZWiki product.
- I'll certainly not have the time to climb the Zope learning curve in the near future. The new source structure would allow to simply add a 
~cpp zopemain.pycompanion to~cpp cgimain.py. Volunteers?
 
 - I'll certainly not have the time to climb the Zope learning curve in the near future. The new source structure would allow to simply add a 
 
4. UserPreferences ¶
The following actions are needed:
- On request, send email containing an URL to send the cookie (i.e. login from a click into the email)
 - Add password handling?
 
- Use text links instead of images on RecentChanges
 - Checkbox: Send daily "changes" mail?   
 - Other things like color, icons, menu?  
 









