June 4

7 hrs - Began designing new layout for site with new chart with zoom control and data table. Read extensively on google chart control documentation.

June 5

7 hrs - Continued new designing new layout. Explored possibility of including Javascript as form validation/processing.

June 6

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.

June 7

7 hrs - Organized containing elements for best content to screen area ratio. Tested new layout with sample data.

June 8

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.

June 11

7 hrs - Began refactoring scripts for generation of data values.

June 12

7 hrs - Continued code refactoring. Removed need for use of hard coded building named arrays for storing energy values from database.

June 13

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.

June 14

7 hrs - Continued code refactoring. Removed several unneccessary iterations of building hash.

June 15

7 hrs - Continued code refactoring. Implemented pretty print for data in CSV format.

June 18

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.

June 19

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.

June 20

7 hrs - Generated new SQL calls that match necessary data values for pie chart.

June 21

7 hrs - Reformatted code for output in correct format for pie chart.

June 22

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.


June 25

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.

June 26

7 hrs - Began writing script to take data from Perl output and rewrite in necessary syntax for use by Google's Chart API.

June 27

7 hrs - Continued working on Python script.

June 28

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".

June 29

7 hrs - Identified multiple points in technology tool chain where improvements could be made. Attempted to reduce total number of different technologies used.

July 2 - July 6

Out of town

July 9

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.

July 10

7 hrs - Continued reworking solution in PHP. Struggled through connecting PHP to database. Eventually figured it out.

July 11

7 hrs - Continued reworking solution in PHP. PHP data structures complicate output procedure.

July 12

7 hrs - Continued reworking solution in PHP. Unable to configure exact syntax necessary for output to file. Eventually able to implement for simple solution.

July 13

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.

July 16

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.

July 17

7 hrs - Implemented simple script with data being output by Python in Javascript literal notation with aid of the Python helper library mentioned previously.

July 18

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.

July 19

7 hrs - Continued working on Python solution.

July 20

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.

July 23

7 hrs - Continued working on Python script.

July 24

7 hrs - Continued working on Python script. Experienced expected type issues that ultimately resulted from lack of ordering with dictionaries and the helper library.

July 25

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.

July 26

7 hrs - Continued working on Python script. Issues arise with converting Python types to Javascript types.

July 27

7 hrs - FIXED ALL THE THINGS!!!