== '''Save Search & Subscription''' == ---- == Save Search and Subscription Functional Specifications == [[BR]] This is wiki page for the project - http://eden.sahanafoundation.org/wiki/Projects/Advanced/SaveSearch [[BR]][[BR]] === Overview === In an event of disaster, this functionality would help a lot in terms of providing information (take the example of dissemination of information related to availability of food, shelter, hospitals etc.). The project's essential capability is to disseminate information about various aspects through various means such as email/twitter/sms. Integrating this service into Sahana system will add to the platform's capability of tackling various issues faced in emergency/disaster management. === Data Model === ==== Saved Filters ==== Holds information about the search query and the parameters that are saved by the user. ||'''Field Name'''||'''Purpose'''||'''Datatype/table'''||'''Required'''|| || timestamp ||Keeps the track of time of creation and subsequent modifications. ||table || || || user_id ||The user id of the user who saved the search. ||FK referenced from auth_user.id (integer) ||Yes || ||subscribed||The subscribed status of the user to a particular saved search.||boolean||Yes|| ||filter_name||The query entered by the user.||string||Yes|| ||filter_vars||The advanced filters selected by the user.||string (Assumption for the time being)||No || ==== Subscription ==== Holds information about the subscription details. ||'''Field Name'''||'''Purpose'''||'''Datatype/table'''||'''Required'''|| || timestamp ||Keeps the track of last updated time. ||table || || ||search_id||Refers to the saved search it is subscribed to.||FK referenced from filter.id (integer)|| || ||email_sub||Status of email subscription.||boolean|| || ||sms_sub||Status of sms subscription.||boolean|| || ||twitter_sub||Status of twitterl subscription.||boolean|| || === UI Design === * Save Search Widget - The widget for saving the search will appear on the search results page, basically it will be a button which asks the user the particular search must be saved.[[BR]] * Review of Saved Searches - A UI will be provided to view the searches that were made in the past. The user will have the option of reviewing the updated search results and delete the saved queries.[[BR]] * Widget for Subscribing - The widget for subscription will appear on the page which contains all the saved searches, basically it will be a button which asks the user the particular saved search must be subscribed/unsubscrined.[[BR]] * UI for Updating the User - There will be a separate UI for the user to view the updation for his subscribed searches. This model can be based on something like google reader where the user will click on the subscribed saved searches and then would be able to see the updates on the UI.[[BR]] === Files to be Modified === S3Search Module for the retrieval of filters employed and addition of a save search widget in the search form. === Flowcharts === ==== Screens ==== Save Search Widget- http://eden.sahanafoundation.org/attachment/wiki/BluePrint/SaveSearch_Sub/myImage.png Page containing Saved Searches and widget for subscribing - http://eden.sahanafoundation.org/attachment/wiki/BluePrint/SaveSearch_Sub/myImage%20(2).png Page for viewing Updates - http://eden.sahanafoundation.org/attachment/wiki/BluePrint/SaveSearch_Sub/myImage%20(3).png === Timeline === '''First trimester (25 April - 23 May) - ''' ||'''SMART Goal'''||'''Measure'''||'''Due Date'''|| ||Exploring the S3Search module and adpc code||Preparing a save search model to integrate with the S3Search module and have the basic model in place||23rd May, 2011|| '''Second trimester (24 May - 11 July) -''' ||'''SMART Goal'''||'''Measure'''||'''Due Date'''|| ||Implementing the save search data model||Completion of /models/ part for saving searches||5th June, 2011|| ||Start UI and save search widget development||Elementary UI is in place||15th June, 2011|| ||Testing||Plug the gaps and make it fully compatible with the existing code||19th June, 2011|| ||Implementing the subscription data model||Completion of /models/ part for subscription||27th June, 2011|| ||Start UI development for subscription/updation||Elementary UI is in place||4th July, 2011|| ||Email sending, styling and custom frequency of notification||Feature of notifications through email is in place||11th July, 2011|| '''Third trimester (12 July - 15 August) - ''' ||'''SMART Goal'''||'''Measure'''||Due Date|| ||Testing that Everything Works||Plug the gaps and make it fully compatible with the existing code||17th July, 2011|| ||Documentation and Merging||Code should adhere to standard and it's merging||20th July, 2011|| ||Contingencies and Polishing||Reserve time for contingencies||1st August, 2011||