This has come up over and over with my users; it's a tough problem but maybe there's some kind of solution.

I would like a way, somehow, to have the wiki generate email notifications based on wiki content.  For instance, let's say I hack up a todo list (wait, that's already been done) or an action item list (ditto) or some kind of calendar app (ditto again!).  I need a way to generate reminders or something, so that the usefulness of these mechanisms is not entirely dependent on the diligence of affected users to check the wiki pages often.

There are any number of factors which contribute to making this a messy problem, #1 of which is that the wiki doesn't look at the contents of the pages in any sort of regular fashion.  So a solution to this problem will require either (a) a very new mechanism in the wiki, or (b) a reasonable way to hook this up with an external tool.

All I've been able to think of thus far that I could actually do is to schedule a cron job which fetches relevant wiki pages (daily, perhaps) and generates emails as necessary.  This is not elegant, especially since the script must do its own XML parsing, must be kept consistent with the wiki page, and because the script scheduler is completely separate from the wiki there are likely to be authentication issues on restricted pages, etc.

I'm not sure what an elegant solution to this would look like.  I could imagine an option to attach a script to a page (heck, this could actually be embedded in Dekiscript on the page itself; the wiki would register the script whenever the page is saved) that would run at a defined interval, maybe no more than once a day to limit performance impact.  Then, the script would have to be capable of doing useful things, which would primarily be: (a) generate notifications, or (b) alter wiki page content; at present, Dekiscript can do neither.

Much like unsafecontent, this would require special permissions, and in real use would probably be most effective when embedded in templates.

In any case, this implementation is just a thought; others could no doubt come up with something better.  There are a hundred other details to be worked out as well.  I'm interested in folks' reaction to the idea in general.

To view responses click here: http://forums.developer.mindtouch.com/showthread.php?t=6235