7 hrs - Began designing new layout for site with new chart with zoom control and data table. Read extensively on google chart control documentation.
7 hrs - Continued new designing new layout. Explored possibility of including Javascript as form validation/processing.
7 hrs - Considered including Ajax as new method for formatting data retreived by Perl script from the database. Ran into problems with updating existing Javascript files to produce charts with new data.
7 hrs - Organized containing elements for best content to screen area ratio. Tested new layout with sample data.
7 hrs - Revisited problem of not displaying total energy consumption on graph. Maintained that drastic differences in values would distort visualization. Instead, considered possibility of including pie chart with individual building breakdowns.
7 hrs - Began refactoring scripts for generation of data values.
7 hrs - Continued code refactoring. Removed need for use of hard coded building named arrays for storing energy values from database.
7 hrs - Continued code refactoring. Implemented function that reads the list of buildings from a text file thereby allowing future programmers to simply add name to text file and be able to read values from the database.
7 hrs - Continued code refactoring. Removed several unneccessary iterations of building hash.
7 hrs - Continued code refactoring. Implemented pretty print for data in CSV format.
7 hrs - Built script for pie chart implementation. Realized data from previous script not in proper format. Must alter method for gathering data from database for pie chart.
7 hrs - Data for pie chart must include averages for individual buildings on a specified time scale. In other words, we can no longer associate a buildings energy consumption value with a timestamp. At least for the purposes of the pie chart where each building represents a slice of the total with its associated energy value. Because not all of the buildings are online, many will have to go in the uncategorized section. Bundy, Warren, Wilson, and Barrett are displayable.
7 hrs - Generated new SQL calls that match necessary data values for pie chart.
7 hrs - Reformatted code for output in correct format for pie chart.
7 hrs - Began configuring EGX100 located in OA through web interface in order to collect energy values. Ran into problems upon realizing EGX100 was improperly physically configured. Reconfigured, restarted, and realized values needed to be adjusted with the proper Amperage Correction Factor.
7 hrs - Discovered Google's "to JSON" Python helper library located here. This library allows developers to convert any data processed by a Python script into a data table for use by its Chart API.
7 hrs - Began writing script to take data from Perl output and rewrite in necessary syntax for use by Google's Chart API.
7 hrs - Continued working on Python script.
7 hrs - Realized too many technologies were being used in path from data gathering to displaying the data in a chart. As Charlie puts it, it feels "brittle".
7 hrs - Identified multiple points in technology tool chain where improvements could be made. Attempted to reduce total number of different technologies used.
Out of town
7 hrs - Began reworking scripts in PHP. The reason being that the current tool chain required the Javascript to interact with a PHP script. Figured might as well convert everything to PHP for simplicity.
7 hrs - Continued reworking solution in PHP. Struggled through connecting PHP to database. Eventually figured it out.
7 hrs - Continued reworking solution in PHP. PHP data structures complicate output procedure.
7 hrs - Continued reworking solution in PHP. Unable to configure exact syntax necessary for output to file. Eventually able to implement for simple solution.
7 hrs - Realized users should not be able to query databse directly. PHP script reconfigured to output to file only given the option. As a separate option, PHP script can return contents of file to load into Javascript data table.
7 hrs - Revisited solution in Python given the increased complexity of hand coding the necessary Javascript literal notation required by the Google Charts API in PHP.
7 hrs - Implemented simple script with data being output by Python in Javascript literal notation with aid of the Python helper library mentioned previously.
7 hrs - Walked through the different options for output given by the helper library. Ultimately decide ToJSon is the appropriate method to use for our desired output.
7 hrs - Continued working on Python solution.
7 hrs - Simplified tool chain by rewriting data gathering script in Python. Ran into issues with Python data structures and display of data on chart. Tried to implement better solution for dealing with uneven number of data points per building. Ultimately stuck with original implementation of supplementing building values with null values.
7 hrs - Continued working on Python script.
7 hrs - Continued working on Python script. Experienced expected type issues that ultimately resulted from lack of ordering with dictionaries and the helper library.
7 hrs - Continued working on Python script. Changed use of Python dictionaries to arrays. This allowed us to keep the columns in order which is necessary to ensure the building, its data, and the associated date are always matched.
7 hrs - Continued working on Python script. Issues arise with converting Python types to Javascript types.
7 hrs - FIXED ALL THE THINGS!!!