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.
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
- 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.
- 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(http://www.usemod.com/cgi-bin/mb.pl?action=editprefs)
- 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)
- 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>)
- 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)
- 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
- 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
- IsbnInfo page and ISBN macro
- pattern d{3}-d{8}-d{8}-0-9xX
- calculate checksum
- Link icon to IsbnInfo page, and the ISBN number itself to the main URL
- 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
~cpp zopemain.py
companion to ~cpp cgimain.py
. Volunteers?
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?