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. 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 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 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?) 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?  
 












