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: [[TableOfContents]] === 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 [http://www.usemod.com/cgi-bin/mb.pl?action=editprefs 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) * 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///(current|meta|...|) * Add backlink patch by Thomas Thurman * Page info: links to / from page. * Add a link to Wiki: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 MeatBall: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 * 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 Wiki: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 &''''''uuml; 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. * Wiki: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?''' === 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?