wiki:BluePrint/SaveSearch_Sub

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

--

Save Search & Subscription

Save Search and Subscription Functional Specifications


Developer Guidelines -
http://eden.sahanafoundation.org/wiki/DeveloperGuidelines/SaveSearchAndSubscription
This is wiki page for the project -
http://eden.sahanafoundation.org/wiki/Projects/Advanced/SaveSearch
http://eden.sahanafoundation.org/wiki/Projects/Advanced/Subscription

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
search_varsThe advanced filters selected by the user.string (Assumption for the time being)No

P.S. - Read filter_vars in the mockups ahead as search_vars

Subscription

Holds information about the subscription details.

Field NamePurposeDatatype/tableRequired
timestamp Keeps the track of last updated time. table
user_idThe user_id of the user who selects the subscription mode FK referenced from auth_user.id (integer)
subscribe_modeDescribes the mode(s) of subscription selected

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 - A link to open the search page for a particular saved search will be present in the page containing saved searches.

Files to be modified/created

Modifications

  • S3Search Module for the retrieval of filters employed by the user.
  • Addition of a save search widget in the search form.
  • Addition of functions for saving searches and providing subscriptions in messaging module.

Created Files

  • New files need to be created in views/ for UI.

Flowcharts

Screens

Save Search Widget- save_search widget

Page containing Saved Searches and widget for subscribing -
The Advanced Search options are generic.

Timeline

First trimester (25 April - 23 May) -

SMART GoalMeasureDue DateStatus
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 DateStatus
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 DateStatus
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.