wiki:BluePrint/SaveSearch_Sub

Version 14 (modified by Pratyush Nigam, 10 years ago) ( diff )

--

Save Search & Subscription


Save Search and Subscription Functional Specifications


This is wiki page for the project - http://eden.sahanafoundation.org/wiki/Projects/Advanced/SaveSearch

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 NamePurposeDatatype/tableRequired
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
subscribedThe subscribed status of the user to a particular saved search.booleanYes
filter_nameThe query entered by the user.stringYes
filter_varsThe advanced filters selected by the user.string (Assumption for the time being)No

Subscription

Holds information about the subscription details.

Field NamePurposeDatatype/tableRequired
timestamp Keeps the track of last updated time. table
search_idRefers to the saved search it is subscribed to.FK referenced from filter.id (integer)
email_subStatus of email subscription.boolean
sms_subStatus of sms subscription.boolean
twitter_subStatus 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.
  • 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.
  • 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.
  • 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.

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- save_search widget

Page containing Saved Searches and widget for subscribing -

Page for viewing Updates -

Timeline

First trimester (25 April - 23 May) -

SMART GoalMeasureDue Date
Exploring the S3Search module and adpc codePreparing a save search model to integrate with the S3Search module and have the basic model in place23rd May, 2011

Second trimester (24 May - 11 July) -

SMART GoalMeasureDue Date
Implementing the save search data modelCompletion of /models/ part for saving searches5th June, 2011
Start UI and save search widget developmentElementary UI is in place15th June, 2011
TestingPlug the gaps and make it fully compatible with the existing code19th June, 2011
Implementing the subscription data modelCompletion of /models/ part for subscription27th June, 2011
Start UI development for subscription/updationElementary UI is in place4th July, 2011
Email sending, styling and custom frequency of notificationFeature of notifications through email is in place11th July, 2011

Third trimester (12 July - 15 August) -

SMART GoalMeasureDue Date
Testing that Everything WorksPlug the gaps and make it fully compatible with the existing code17th July, 2011
Documentation and MergingCode should adhere to standard and it's merging20th July, 2011
Contingencies and PolishingReserve time for contingencies1st August, 2011

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.