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.
Contents:
Contents
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
- 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.
- 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)
- 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>)
- 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.
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)
- 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
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
BUGS
See MoinMoinBugs
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
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 zopemain.py companion to cgimain.py. Volunteers?
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?
Preference settings:
Use text links instead of images on RecentChanges
- Checkbox: Send daily "changes" mail?
- Other things like color, icons, menu?