|76|| ||1. Subscription notifications are sent by a cron task sending a request to `/msg/search_subscription_notifications/`
|77|| || * The first query string argument specifies what period this applies to, e.g., daily, monthly, etc.
|78|| ||1. The controller fetches the saved searches with that frequency.
|79|| ||1. The resource is created, and the filters are applied.
|80|| ||1. The resource, with filters, and saved search record is passed to a notification function for the specific notification_method of each saved search.
| ||82||1. Scheduled tasks are used to fetch the saved searches for a particular frequency, e.g., daily, monthly, etc.
| ||83||1. The notification function fetches the saved searches with that frequency.
| ||84||1. An HTTP request is made for each search so that the search results are filtered properly.
|=== Tasks ===
|* Implement model
|* Implement representation functions for query string
|* Implement or update controllers
| * `/msg/search_notifications/` to be called via cron, first argument is the frequency.
| * Records with a `modified_on` value greater than `last_executed` are returned.
|* Expand `/msg/search_notifications/` to notify all people within a pr_group by fetching the relevant contact details from all members.
|* Add formatters/codecs to format the response for Twitter, SMS, etc.
|* Extend OAuth implementation for Twitter and Facebook to allow posting to users account.
|=== Tests ===
|* Save a search without any filters.
|* Save a search after performing a search with filters.
|* Attempt to save a search with empty name; must fail.
|* Delete a saved search.
|* Edit and save a saved search.
|* Executing a search from the saved search list page.
|* Send notification email.