Community Dashboard
From Open Knowledge Foundation
Dashboard for communities: what's up, who's here and what are they working on. Designed for use here at the Open Knowledge Foundation.
- Code Repository: https://github.com/okfn/dashboard (includes issues)
- Etherpad: http://coord.okfnpad.org/dashboard
- Demo: http://okfnlabs.org/dashboard/app/
The OKFN Community Dashboard provides an overview of community activity. For example:
- Location of community members
- Recent activity by members
- Activity around specific projects or topic areas
What's the problem: the OKF has a flourishing and diverse set of activities and it can be hard, even for people 'inside' to see what is going on. The Dashboard should help us see quickly what is going on.
Contents |
Useful Links
- Code Repository: https://github.com/okfn/dashboard
- Issue tracker: https://github.com/okfn/dashboard/issues
- Etherpad: http://coord.okfnpad.org/dashboard
- Online Workingspaces - http://wiki.okfn.org/Online_Workspaces
- HackDay: http://wiki.okfn.org/Community_Dashboard_Hackday_Nov_2011
Views
- User "dashboard" - overview including user map
- User mini-view
- User full view (that user and their activity)
- Topic "dashboard" - overview (all topics)
- Topic = project or a working group or just some area of activity
- Per topic view
- Overall dashboard (?)
User Dashboard
- User map
- User infobox (when you select a user)
- Activity stream for that user (or for whole org if no user selected)
- Second stage: filtering the activity stream (query)
Mockup
Topic Dashboard
Like google analytics
Domain Model
- Person
- Activity
- Topic (aka Project/Working group e.g. CKAN, Science Working Group
Primary concept is Activity. Activity associated to a Person and a Topic.
Some extra items for convenience:
- Sources - list of sources to poll for activity information (may run off google docs)
- Stored in Google doc source list
- IdentityMap - map identities in different services to single Person (reconciliation service)
- Again runs off google docs: OKFN People Reconciliation List
- Stats - cached stats
- StateInfo - very basic key / value table for storing stuff like scrape state (did this fail last time or not ...)
Person
{
__id__
username: (from member page if possible)
fullname: ...
is_member: 0,1,
description:
geolocation: {
unparsed: ...
geojson: ...
},
member_since:
}
Topic
Pulled from project google doc?
A little bit different from pure projects as we would count working groups as 'projects.
See google doc for authoratative field listing
{
id: ...
title: ...
icon: # image / icon for the project
project_type: app | working_group | core # core in OKFN core ...
...
}
Activity
{
"person_id": FK ... # could be null
"author": "", # author name from e.g. RSS feed
"title": "",
"description": "",
"datetime": ""
"channel": mail | wiki | website | code | ticket | ...
"source_id": # source id
"source_url" # specific url from which this activity came (if any)
"project_id": # project or working group or ...
"tags": # space separated list (?)
}
Source
Stored in Source google doc.
See gdoc for authoratative field listing
{
id: ...
url:
feed_url:
channel: # like on activity
type: github | bitbucket | mailman | wordpress | ...
status: # ok / error
description: ...
project_id: ...
}
Source / Service Config
Need passwords / logins / api keys for services (e.g github, bitbucket ...)
Tools
Storage
We are using the webstore - http://wiki.ckan.net/Webstore
http://webstore.thedatahub.org/okfn/dashboard
Frontend
- Core: jquery + backbone + jquery.tmpl as basic javascript stack ...
- Visualization:
- Geo: openlayers or mapquery (jquery + openlayers)
- flot: for graphs
- feeds - ideas, commits etc.
Planning Meetings
2011-08-04
Present: RP + MN
Actions
- MN: mockup the topic dashboard
- MN: start work on the user dashboard with RP
- RP: will upload person info for members ...
- RP: will put up backbone material
- MN: how to get geojson from a location e.g. using geopy (mail on okfn-help)