Introduction
In MindTouch 9.02 (MindTouch 2009), the feature of email notifications was introduced. This spec describes how we can further hone the user interaction with this feature to improve its usefulness. This can entail updating the delivery mechanisms (allowing for digests) and simply cleaning up the message format (email contents and such).
Purpose
To notify users of changes made to MindTouch pages and file attachments.
Intended Audience
Who will this be useful for? Also, is this a commercial feature? Into which bucket does it fall?
Additional information
- Options: Immediate, daily or weekly digest emails
- User prefs page needed
- Width of email: no larger than 600px
References
Any bugs, forums, other pages
Being supposed to be sent by the external SMTP authentication if is set, the Exim-sending notification emails are blocked by the spam filter.
Use Cases
An admin/user wants to monitor changes made to MindTouch to avoid having inappropriate content published.
A user wants to be notified of changes/updates to a section on MindTouch for a project they're collaborating on.
An admin/user wants to keep track of frequency of changes and which users are contributing to MindTouch.
Functional Specification
Users will subscribe to a page or page tree by clicking on the email notification menu located in the upper right-hand corner of each page (across from the title). They can then refine the notifications through their user preferences.
My Prefs
- Subscribe to:
- immediate changes
- daily digest
- weekly digest
- Notify me when:
- content is added
- content is removed
- a new page is added
- a page is deleted or moved
- minor edits (need to define)
- talk page is changed
- a comment is added
- a page becomes restricted or access changes
- files, tags are added/updated
- opt out of notifications for formatting changes
Immediate notification
- List of edited/new pages at top (if more than one); link to summary of changes below
- Light green highlighted text = added content; light red highlighted text + strikethrough = removed content
- Time, date, edited by [username] with link to their profile/user page
- Unsubscribe and Edit Notification Settings links at bottom
- Link to homepage of their MindTouch
Daily Digest
- Date at top
- List of newly added users
- Stats?
- Divide into sections:
- New Pages
- Recent changes
- Deleted pages
Weekly Digest
- Show time span (ie. Week of May 10, 2009 to May 16, 2009)
- List of newly added users
- Stats?
- Divide into sections:
- New Pages
- Recent changes
- Deleted pages
Non-goals
Answer the question: "What does this feature not do?"
Technical Specification
Here the engineering specs are gathered.
UI requirements

API requirements
- Make Page Alerts an extension?
- Pro:
- Easier to create different commercial & OSS versions
- Easier custom configuration as well as enable/disable
- Con:
- In multi-tenant, this will result in a service per instance
- Backend
- user preferences
- Switch storage to sqlite
- Add fine grained user preference storage
- modify accumulation queue to accumulate & persist per user by preferences
- Email generation
- Need templating engine
- XSLT
- Where to store template and how to expose it
- Will XSLT be enough or do we need scripting?
- XHTML+Dekiscript
- Storage is just a page in Template namespace
- What's needed to execute dekiscript from an extension without page context?
- What dekiscript function specific to page alerts would we need?
- Features
- User preferences
- Dekiscript for generating form with Javascript for post back to API?
- Should Page alerts should also generate the subscription drop down options
- This would make customization easier and could be used to disable the Page Alerts UI (needed for moving to extension)
- Open Questions
- Where do we get site stats from? Do they exist in deki yet, or is building a stats service a pre-req to adding stats to the emails
- Will page deletion be changed so i can still query the deleted pages permissions (requirement for reporting them)