## online page editing To support editing pages in a web browser, a CGI script is needed that pulls the page out of [[Subversion]], presents it to the user for editing, and then commits the changed page back to [[Subversion]]. Due to [[WikiSpam]], this will probably also need to incorporate a user registration system. So there will need to be a script that handles logins and registrations, sets a cookie, and the page editor can refuse to edit pages for users who arn't logged in, and include a not of who made the change in the svn log. If possible I'd prefer to use someone else's generic web user registration and login system, if one exists. ## [[RecentChanges]] This will need to be another cgi script, that grubs through the [[Subversion]] logs. This should support RSS for notification of new and changed pages. ## page history To see past versions of a page, we can either implement a browser for that, or just provide a way to link to the page in viewcvs. ## pluggable renderers I'm considering a configurable rendering pipeline for each supported filename extension. So for ".mdwn" files, it would send the content through linkify, markdown, and finalize, while for ".wiki" files it might send it through just a wiki formatter and finalize. This would allow not only supporting more types of markup, but changing what style of [[WikiLink]]s are supported, maybe some people want to add [[CamelCase]] for example, or don't like the [[SubPage/LinkingRules]]. The finalize step is where the page gets all the pretty junk around the edges, so that clearly needs to be pluggable too. There also needs to be a step before finalize, where stuff like lists of pages that linked back to it could be added to the page. However, doing linkbacks also needs to tie into the main logic, to determine what pages need to be renered, so maybe that won't be a plugin. ## revist case Being case insensative is handy, but it does make the [[BackLinks]] a bit ugly compared to other links. It should be possible to support pagenames that have uppercase, while still allowing them to be linked to using any case.