Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MoinMoinTodo: Difference between revisions

From ZeroWiki
imported>Unknown
No edit summary
 
(Repair MoniWiki formatting after migration)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
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.  
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.
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.
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.
[[MoinMoinRelease]] describes how to build a release from the SourceForge repository.


Contents: __TOC__  
Contents: __TOC__  
Line 17: Line 17:
* Implement the update script (copying new images etc.) described elsewhere on this page or MoinMoinIdeas.
* 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.
** 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.
** 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
* [[UserPreferences]]
** Send a regular "changes" mail? (checkbox, plus frequency setting hourly/daily/weekly/etc.)
** Send a regular "changes" mail? (checkbox, plus frequency setting hourly/daily/weekly/etc.)
** Other things like color, icons, menu?
** Other things like color, icons, menu?
Line 27: Line 27:
* MoinMoinRefactoring
* MoinMoinRefactoring
** create a dir per page in the "backup" dir; provide an upgrade.py script to adapt existing wikis
** 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>)
* Add backlink patch by Thomas Thurman
* Add backlink patch by Thomas Thurman
** Page info: links to / from page.
** Page info: links to / from page.
Line 36: Line 36:
* macro for the server time/date (pass the strftime string as an optional argument)
* 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
* Using the new zipfile module, add a download of all pages
* Some of MeatBall:IndexingScheme as macros
* Some of MeatBall:[[IndexingScheme]] as macros
* Diffs:
* Diffs:
** Lynx-friendliness (keep >>> === <<< ?)
** Lynx-friendliness (keep >>> === <<< ?)
Line 42: Line 42:
** or look at viewcvs www.lyra.org/viewcvs (a nicer python version of cvsweb with bonsai like features)
** 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
** diff -y gives side by side comparisons
* Create MoinMoinI18n master sets (english help pages are done, see HelpIndex, translations are welcome)
* Create MoinMoinI18n master sets (english help pages are done, see [[HelpIndex]], translations are welcome)
* Document the config options (possibly ''after'' the refactoring)
* Document the config options (possibly ''after'' the refactoring)
* Check generated HTML code for conformity
* Check generated HTML code for conformity
Line 48: Line 48:
=== BUGS ===
=== BUGS ===


See MoinMoinBugs
See [[MoinMoinBugs]]


=== FEATURES ===
=== FEATURES ===
Line 57: Line 57:
* Add ISBN links
* Add ISBN links
*** IsbnInfo page and ISBN macro
*** IsbnInfo page and ISBN macro
*** pattern d{3}-d{8}-d{8}-[[0-9xX]]
*** pattern d{3}-d{8}-d{8}-0-9xX
*** calculate checksum
*** calculate checksum
*** Link icon to IsbnInfo page, and the ISBN number itself to the main URL
*** Link icon to IsbnInfo page, and the ISBN number itself to the main URL
* Support for -- (&dash; ?), << and >> (french quotes) and possibly any (Latin-1) SGML entity.
* Support for -- (&dash; ?), << and >> (french quotes) and possibly any (Latin-1) SGML entity.
* A RegisterInterest macro
* A RegisterInterest macro
* Add display of config params (lower/uppercase letterns) to the SystemInfo macro.
* Add display of config params (lower/uppercase letterns) to the [[SystemInfo]] macro.
* Add a "news item" macro (edit page shows a special form)
* Add a "news item" macro (edit page shows a special form)
* Implement http://sunir.org/apps/visits.pl
* Implement http://sunir.org/apps/visits.pl
Line 71: Line 71:
*** prevent direct saves from outside (i.e. simple attacks), that did not load and parse the edittext page before saving
*** 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
*** needs a way to save meta-info for a page
* Add change counter to RecentChanges
* Add change counter to [[RecentChanges]]
* Add PyUnit tests
* Add [[PyUnit]] tests
* WikiName|s instead of the obsessive WikiName' ' ' ' ' 's (or use " " for escaping)
* [[WikiName]]|s instead of the obsessive [[WikiName]]' ' ' ' ' 's (or use " " for escaping)
* Backslash escapes?
* Backslash escapes?
* Support &''''''uuml; SgmlEntities
* Support &''''''uuml; [[SgmlEntities]]
* Configuration ''outside'' the script proper (config file instead of moin_config.py)
* 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!
* 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.
* 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?)
* Wiki:WikiWordStatistics (or just add counters to the [[WordIndex]]?)
* Document all MoinMoinUrlSchemes (i.e. action=whatever)
* Document all MoinMoinUrlSchemes (i.e. action=whatever)
* Make a ZopeMoinMoin product, to compete with ZWiki product.
* 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  
** 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
<code>zopemain.py</code>
companion to {{{~cpp cgimain.py}}}. '''Volunteers?'''
companion to <code>cgimain.py</code>. '''Volunteers?'''


=== UserPreferences ===
=== [[UserPreferences]] ===
The following actions are needed:
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)
* On request, send email containing an URL to send the cookie (i.e. login from a click into the email)
Line 92: Line 92:


Preference settings:   
Preference settings:   
* Use text links instead of images on RecentChanges
* Use text links instead of images on [[RecentChanges]]
* Checkbox: Send daily "changes" mail?   
* Checkbox: Send daily "changes" mail?   
* Other things like color, icons, menu?
* Other things like color, icons, menu?

Latest revision as of 00:34, 29 March 2026

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:

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
    • 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?