Diff for "MoinMoinTodo" | UserPreferences |
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/<firstletter>/<pagename>/(current|meta|...|<timestamp>)
* 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 {{{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?