Fog Creek has used its Big Board for close to three years...and now you can have your own!
The Solari Board jQuery application will accept JSON from any source. The support team at Fog Creek feeds in tech call information from FogBugz, but the possibilities are limitless!
The application expects a JSON array wrapped in a function call (JSONP) and filled with objects that have the following properties:
sDate
: the day of the appointment. The Solari board can handle values likeyesterday
ortoday
.sTime
: the time of the appointment. Format like22:45
and remember the leading zero on the hours. If this appointment does not have a time, make it an empty string.sDeparture
: an arbitrary string; on our board, it's the email address of the support technition who has the support call.nStatus
: allows you to set the status to one of four statuses: "All Aboard" (nStatus = 1
), "On Time" (nStatus = 2
), "Delayed" (nStatus = 3
) or "Departed"(nStatus = 4
).nTrack
: an arbitrary integer between 0 and 99; we use it to indicate which extension the call should be on, but you can use it for whatever purpose you want.fLight
: should be set totrue
if you want the lightbulb by that row illuminated, andfalse
otherwise.
Here's an example:
jsonpCallback(
[
{'sDate': 'today',
'sTime': '13:30',
'sDeparture': 'foo@example.com',
'nStatus': 1,
'nTrack': 17,
'fLight': true
},
{'sDate': 'yesterday',
'sTime': '16:00',
'sDeparture': 'bar@example.com',
'nStatus': 2,
'nTrack': 19,
'fLight':false
},
{'sDate': 'July 8th, 2013',
'sTime': '16:30',
'sDeparture': 'baz@example.com',
'nStatus': 2,
'nTrack': 23,
'fLight':false
}
]
)
It's simple!
-
Include the following lines in your HTML:
<script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.transit.min.js"></script> <script type="text/javascript" src="js/date.js"></script> <script type="text/javascript" src="js/solari.js"></script> Your browser does not support the audio element. -
Add the following script to your webpage's head:
<script> $(document).ready(function() { //remove the div parameter to append directly to body addSolariBoard("#myDIv"); }); </script> -
Point the board to the script that will feed it jsonp
$.post('../example/postJson.py') // replace this with your own script
Currently, Google Chrome and Internet Explorer are the only supported browsers.
This is due to an issue in animating the CSS property backgroundPositionY
on
other browsers. We'd welcome patches that help resolve this issue.
- Toggle
status_override
insolari.js
to have the board automatically change the status column using time and date due. - The
sDate
field takes any date.js parsable string (e.g.today
,next monday
) - There are two included examples, postJsonp.py is a basic script that statically sends the sample payload given above to the solari board.
postFogbugz.py connects to a FogBugz installation through the xml api.
To use either example, Just place all files and folders onto a Python-enabled CGI server, then edit
fbsettings.py
with your FogBugz URL and FogBugz token if needed.
Copyright © 2013 Fog Creek Software, Inc. All rights reserved.
The Solari Board is licensed under the MIT license.