## recentchanges
-* Should support RSS for notification of new and changed pages.
-
- This can be a static rss file that is generated when the moo
-is built. (As long as all changes to all pages is ok.)
-
* Should support mail notification of new and changed pages.
Hmm, should be easy to implement this.. it runs as a svn post-coommit hook
page that lets them tune it, and probably choose literal or glob by
default.
+ I think that the new globlist() function should do everything you need.
+ Adding a field to the prefs page will be trivial --[[Joey]]
+
The first cut, I suppose, could use one sendmail process to batch-mail all
subscribers for a given page. However, in the long run, I can see users
demanding a bit of feature creep:
also needs to tie into the main logic, to determine what pages need to be
renered, so maybe that won't be a plugin.
+## blogging and rss
+
+The wiki should emit rss feeds for pages. The simple case is a regular
+page. The complex case is a blog composed of multiple pages.
+
+### single page
+
+Just create an rss feed with one element, that contains the last diff to
+the page, or the contents of the page, or something like that. Whenever the
+page is changed, rss readers should see the single post in the feed as a
+new post, so they'll dump out the page again. Simple, allows subscribing to
+any page as an RSS feed if you want to see just changes to that page.
+
+### multi-page blog
+
+This also takes care of the feature of wanting to make a wiki page
+comprised of several sub-pages that can be independantly edited. Add a
+token that can be embedded into a page and that specifies a [[GlobList]] of
+pages. Now when any page matching the globs changes, this page must be
+updated too.
+
+For the html rendering, just embed the most recently created N pages in the
+[[GlobList]], with the title of each being a link to the individual page,
+plus a link to an additional page that lists all the titles of every
+matching page in creation order (archives). Plus at the bottom a small web
+form that prompts for a title and allows creating a new page for a new blog
+post.
+
+For the rss rendering, generate a proper weblog of the same pages.
+Of course for permalinks use the links to the subpages.
+
+Note that this allows for weblogs with different sections, etc.
+
+Requirements:
+
+* Need to keep track of creation dates of pages in the index file.
+* Need to keep track of the globlists in the index file.
+ - Probably need to redesign the index file format to allow for this sort
+ of future expansion.
+* Need to pick a good token and note that the token will need to be passed
+ multiple parameters. Possibly something like this:
+
+ [[embed pages="myblog/*" show="30"]]
+
## revisit case
Being case insensative is handy, but it does make the [[BackLinks]] a bit
## html
-Make the html valid. Add css.
+Make the html valid. Add css and prettify. Make RecentChanges use table for formatting, and images to indicate web vs svn commits and to link to diffs.
+
+All of this should be doable w/o touching a single line of code, just editing the [[templates]] BTW.
## sigs
wiki and not adding nonstandard markup. And it's not significantly hard to
type "--\[[Joey]]", and as to the date, we do have page history.
-## recentchanges links to commit diffs
-
-Would take a bit more viewcvs integration, let the be a "[diff]" link in
-recentchanges that goes to the diff for any listed change.
-
## recentchanges more than 100
Possibly add "next 100" link to it, but OTOH, you can just use svn log if
## search
+* page name substring search
* full text (use third-party tools?)
+
+## lists
+
* list of all missing pages
-* list of all pages or some kind of page map
+* list of all pages or some kind of page map (probably covered by the rss
+ feeds stuff above)
-## page indexes
+These could be their own static pages updated when other pages are updated.
+Perhaps this ties in with the pluggable renderers stuff.
-Might be nice to support automatically generating an index based on headers in a page, for long pages. The question is, how to turn on such an index?
+## page indexes
-## page locking
+Might be nice to support automatically generating an index based on headers
+in a page, for long pages. The question is, how to turn on such an index?
-Some wikis will need the abiity to lock a page, or the whole wiki, so that only admins can edit them. Probably using the same globbing as for recentchanges mails to determine what to lock.
+## basewiki underlay
-Probably it's ok if locking is only supported for web commits.
+Rather than copy the basewiki around everywhere, it should be configured to
+underlay the main srcdir, and pages be rendered from there if not in the
+srcdir. This would allow upgrades to add/edit pages in the basewiki.
-## User settings page
+Impementaion will be slightly tricky since currently ikiwiki is hardcoded
+in many places to look in srcdir for pages. Also, there are possible
+security attacks in the vein of providing a file ikiwiki would normally
+skip in the srcdir, and tricking it to processing this file instead of the
+one from the underlaydir.
-A cgi page to allow a user to log out and to edit their prefs, including password, email, and anything we add later (subscriptions, etc).
+There are also difficulties related to removing files from the srcdir, and
+exposing ones from the underlaydir. Will need to make sure that the mtime
+for the source file is zeroed when the page is removed, and that it then
+finds the underlay file and treats it as newer.
## Logo
-ikiwiki needs a logo. I'm thinking something simple like the word "ikiwiki" with the first "k" backwards; drawn to show that it's "wiki" reflected.
+ikiwiki needs a logo. I'm thinking something simple like the word "ikiwiki"
+with the first "k" backwards; drawn to show that it's "wiki" reflected.
## [[Bugs]]