Fwd: Tech Aid Request [#13]

0 views
Skip to first unread message

Justin Hayes

unread,
Feb 12, 2010, 12:19:41 PM2/12/10
to techaid-cr...@googlegroups.com
Can someone take care of thus request? I am out of town all weekend with no computer access. There is enough info in the request to go ahead and create the wiki page. You can look in the "sent mail" folder in the gmail account to see examples of the response emails I have sent out.

Also, I don't know if there are any other projects that are related or overlapping so you should check the list of existing projects to see. 

Thanks,
Justin 



Begin forwarded message:

From: Wufoo<no-r...@wufoo.com>
Date: February 12, 2010 11:48:59 EST
To: tech...@crisiscommons.org
Subject: Tech Aid Request [#13]
Reply-To: twils...@gmail.com

Name (Point of Contact) * Tom Wilson
Email Address * twils...@gmail.com
Website http://www.nerdpod.org
Propose a Project Name for Your Request *
Incident Visualization
Project Website/Wiki http://code.google.com/p/hermosa/
Project Description *

RSS Feed Aggregator


Requirements

Availability - in the cloud: GAE and cloud visualization tools
Flexible Input - RSS feeds with arbitrary structures
Flexible Output - feed out to another application or visualization display
Purpose Driven - persistent beans designed to fit purpose, not inputs


Components

The Incident Bean
The principal data structure depends specifically on the purpose of the system. This example is centered around the incident. An incident has a time, location, title, description.

The primary key of incidents is the incident URI. This is a URL that a browser can use to open the incident in the source feed.

Input Adaptor
There can be one or more feed adaptors to serve the purpose of data input. A feed adaptor description includes a name, URL, and a set of mappings between the RSS feed elements and the incident bean. It is the feed adaptor’s responsibility to pull in feed elements and create incident beans. Each adaptor has a method which takes a feed element and returns a populated incident bean.

Example: UshahidiInputAdaptor, SoComInputAdaptor, RedCrossInputAdaptor

Output Adaptor
The output adaptor takes a list of incidents and updates an external system, for example Google Spreadsheets or Fusion Tables. The output adaptor has a method to persist an incident bean, and also methods to determine if it is a new entry, an update, or a duplicate, and add, update, or skip accordingly.

Example: FusionTableOutputAdaptor, SpreadsheetOutputAdaptor,

Storage Adaptor
The storage adaptor takes a list of incident beans and updates the internal (BigTable) data store. The storage adaptor also provides a query capability so that various sets of incidents can be retrieved (for example by date or category).

Automation
Each input adaptor and output adaptor has a servlet invoker. The servlet can be invoked by the GAE timer function at regular intervals.



Example: Ushahidi to Fusion Table

This example reads from the Ushahidi Haiti RSS feed and outputs to a Fusion Table.

The UshahidiReadFeedServlet is invoked on a timed basis, which calls the getFeed method of the UshahidiInputAdaptor. This creates a collection of IncidentBean. The servlet then calls BigTableStorageAdaptor to persist the incidents (adding or updating as necessary). Independently, the FusionTableUpdateServlet is invoked on a timer, getting a list of the latest incidents and adding it to the appropriate table(s).







Tools:

Eclipse 3.5
Java JDK 1.6u18
App Engine SDK 1.3.0
GWT SDK 2.0.0
JDOM
ROME
GData

Project Home:
http://code.google.com/p/hermosa/

Code Repository:
http://code.google.com/p/hermosa/source/browse/#svn/trunk/DisasterFeed

Accessed Via (e.g., desktop, web, SMS, mobile application)
Web, others can be developed
Preferred Technologies
Google App Engine
Integration Requirements (existing hardware/software infrastructure)
Currently RSS feed inputs, others can be programmed
Volunteer 1
Java Google App Engine Developer
Volunteer 2
Semantic Search Designer
Volunteer 3
Visualization Programmer
Additional Volunteers
If you need any more volunteers, list them here.
Project scope and plan is still in development. This is an early stage with a prototype, application design, and proof of concept.
Reply all
Reply to author
Forward
0 new messages