forked from jessykate/OpenGovTracker
-
Notifications
You must be signed in to change notification settings - Fork 1
robbie/IdeaScale-Dashboard
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
As part of the Open Government Directive, each of the major federal agencies is required to seek input from the public for an Open Government Plan. This consultation process is taking place February 6 - March 19, 2010, using a platform called IdeaScale. Each agency has it's own, isolated IdeaScale site. Basic stats are available for each agency separately, but there is nowhere to easily compare participation across the agencies, nor for those interested in participating to get a broad overview of the activities. This is a stateless (for now) dashboard showing stats and comparisons regarding activity on each agency's brainstorming site, using the basic API made available by IdeaScale (thanks!). Dependencies: * tornado (http://www.tornadoweb.org/) * mongodb * pymongo (python module to interact with mongodb) * json or simplejson To Run: * add a line like so in /etc/crontab 00,30 * * * * username /path/to/govtracker_cron.py which updates the data in the database every 30 minutes. * run dashboard.py govtracker_cron.py populates the mongo database. Each time the data is updated, a new mongo collection (which is like a table) is created. The name of each collection is a timestamp representing the time of the update. Each collection/update stores 1 document for each idea, plus a document representing aggregate stats per agency, and a document representing top ideas per agency, at the time of that update. Thus if there are n total ideas across all agencies, the collection will have n+2 documents. Initial population can take a few minutes. each idea object looks roughly like this: { '_id': ideascale idea ID, 'category': nominal category name, 'agency' : agency, 'idea': ideascale idea object } mongodb does not allow keys to have periods or dollar signs in them. consequently, the cronjob encodes all periods as four percent signs, and decodes them before display in the application. dashboard.py, the main application, pulls its data from the database.
About
Dashboard to show activity and participation across all agencies' IdeaScale brainstorm sites, as part of the Open Government Directive
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- JavaScript 74.5%
- Python 25.5%