Difference between revisions of "CDOT Dashboard"

From CDOT Wiki
Jump to: navigation, search
(Put the link to the github wiki)
Line 1: Line 1:
 
= Software =
 
= Software =
 
+
See https://github.com/jbuck/CDOT-Dashboard/wiki
== Widget ideas ==
 
 
 
* Check-ins on Git
 
 
 
* new bugs filed
 
 
 
* bugs closed
 
 
 
* days until ship
 
 
 
* packages built/failed (fedora-ARM)
 
 
 
* processing/js faster or slower?
 
 
 
* twiiter feeds for CDOT employees
 
 
 
* People Currently working at CDOT (standard timetables of all employees sine we have no punch in or logging)
 
 
 
* Widget that just displays text
 
 
 
* Who is not in CDOT (more feasible than showing who is in CDOT since it can be updated only when people are away)
 
 
 
* Machine up/down status
 
 
 
* Assign a score to a project
 
 
 
* Planet blogs
 
 
 
* Holidays? Who's on vacation/sick, next statuatory holiday
 
 
 
* Time of day (clock)
 
 
 
* Date/Month
 
 
 
* Calendar
 
 
 
* Timer until a certain day
 
 
 
* Daily comic (xkcd?)
 
 
 
* Project timeline showing tickets completed over the time period until release along with a line going from 0 tickets at 0 days to all tickets at end day which can be used as an indicator of project health (above the line is good, below the line is bad) (might need different weights for different tickets unless they are all at a very granular level)
 
 
 
* some kind of pop-up or other attention getter when various things happen (e.g., new bug filed, new blog post, ...)
 
 
 
* ticker tape for twitter?
 
 
 
* volume of traffice on irc (how many lines of text)
 
 
 
* ticket thrashing (Number of tickets for code review, super review)
 
 
 
* IRC channel activity (online users, messages, ??)
 
 
 
* churn on zenit wiki (changes to pages per day)
 
 
 
* Birthday notifications (Voluntary for people who love embarassment)
 
 
 
* Etherpad tracking (possibly from links sent from IRC)
 
 
 
== Data visualizations needed for the above ideas ==
 
 
 
* Graphs (multiple line, multiple bars, pie) Get stuff from google charts https://code.google.com/apis/chart/
 
 
 
* Timers, clocks
 
 
 
* tickers
 
 
 
*
 
 
 
== How we display those visualizations ==
 
 
 
* Use JQuery resizable, draggable divs
 
 
 
== JSON Examples ==
 
 
 
var j = {};
 
var myJSONObject ={"bindings": [
 
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
 
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
 
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
 
    ]
 
};
 
"key": "value","key": "value","key": "value"
 
 
 
the above object contains an array of objects
 
 
 
To access something in that object myJSONObject.bindings[0].ircEvent
 
 
 
OR myJSONObject.bindings["
 
 
 
if you want help: http://json.org/
 
 
 
== Layout Framework ==
 
 
 
* Toggle editing mode - lets you resize, remove, add, move, and configure widgets
 
 
 
* Investigate https://github.com/anchepiece/statuspanic to see if it's suitable
 
 
 
* Minimize/Maximize widgets
 
 
 
* Widgets have a configuration interface
 
 
 
* When configuring your widgets(putting in refresh timers, whatever) MAKE SURE YOU PARAMETERIZE THE DATA TO PREVENT SQL INJECTION
 
 
 
* Widgets are in containers that are movable
 
 
 
* Containers can have multiple widgets
 
 
 
* Each widget has its own update timer
 
 
 
* Have some widgets rotate through different people's feeds. Each widget has it's own cycling interval and you can set them up to cycle in sync if you want to show different projects
 
 
 
== Server Structure ==
 
 
 
* Server accesses APIs and gets data and stores it as often as is needed/possible for each server
 
 
 
* Client side accesses the server to get the data
 
 
 
* Data stored in SQL lite
 
 
 
== Division of Work ==
 
 
 
Daniel
 
* Project management, faculty updates
 
 
 
Dave
 
* lighthouse integration
 
* google charts
 
 
 
David
 
* Twitter widget, title widget, github stats displaying
 
 
 
Chris
 
* Widgets (pop-up notifications), generic textual displays for time, days till ship (or hours, minutes, seconds)
 
 
 
Jon, Mohammed
 
* Create github project
 
* Look at github commit integration
 
* Investigate statuspanic on github
 
* Setup server
 
 
 
Scott
 
* Layout Engine
 
* widget and container grouping, draggig, resizing, closing, minimizing, etc
 
 
 
== Version 0.1 overview (Due Friday May 6th)==
 
 
 
* Get simple widgets working in a simple layout engine using data from flat files
 
** Needs github integration and widget code and layout engine
 
** Widgets have hardcoded configuration
 
 
 
== Version 0.2 overview ==
 
  
 
= Hardware =
 
= Hardware =

Revision as of 15:30, 3 May 2011

Software

See https://github.com/jbuck/CDOT-Dashboard/wiki

Hardware

Implement a 'green' hardware display of the current dashboard. Ideas:

  • Base the hardware on a PandaBoard
  • Purchase a large (32"?) display for the wall you face as you enter CDOT and/or the window facing the TEL southeast entrance
  • Use a passive infrared detector to detect when people are present, and make the display sleep until someone approaches

Version 0.1 Overview (Due Tuesday May 10th)

  • PandaBoard configured with F13 + kernel + video drivers
  • FF3.6 compiled and optimized for the PandaBoard