Difference between revisions of "Tinderbox front page improvements"

From CDOT Wiki
Jump to: navigation, search
m (September 17 2007)
(Release)
 
(56 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Project Name ==
+
__NOTOC__
 +
 
 +
== Project Information ==
 +
=== Project Name ===
  
 
Tinderbox front page improvements
 
Tinderbox front page improvements
  
== Project Description ==
+
=== Project Description ===
  
 
[http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox Tinderbox] is a web app showing the results of multiple machines building Firefox, running unit tests on it, and running performance tests on it, all on three different platforms (Windows, Linux, Mac).  The display is very crowded right now, and can be difficult to read.  In addition, some of the interesting information (changes in performance, for example) are hard to notice.  The tinderbox server software recently was updated to include [http://www.json.org/ JSON] output, which means that webpages can now easily access the data to build their own displays.  Using this data, create a new display for the Tinderbox data that helps developers monitor the status of the builds and performance data.
 
[http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox Tinderbox] is a web app showing the results of multiple machines building Firefox, running unit tests on it, and running performance tests on it, all on three different platforms (Windows, Linux, Mac).  The display is very crowded right now, and can be difficult to read.  In addition, some of the interesting information (changes in performance, for example) are hard to notice.  The tinderbox server software recently was updated to include [http://www.json.org/ JSON] output, which means that webpages can now easily access the data to build their own displays.  Using this data, create a new display for the Tinderbox data that helps developers monitor the status of the builds and performance data.
Line 11: Line 14:
 
* [http://mavra.perilith.com/~luser/tboxtest.html Another example page using the data].  (Requires a [http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/ recent Firefox 3 build])
 
* [http://mavra.perilith.com/~luser/tboxtest.html Another example page using the data].  (Requires a [http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/ recent Firefox 3 build])
  
== Project Leader(s) ==
+
=== Project Leader(s) ===
  
 
* [[User:dominic|Dominic Baranski (dominic) ]]
 
* [[User:dominic|Dominic Baranski (dominic) ]]
  
== Project Contributor(s) ==
+
=== Project Contributor(s) ===
  
 
+
[http://zenit.senecac.on.ca/wiki/index.php/User:Awdelyea Adam Delyea] - Assisted by helping me troubleshoot a local Tinderbox setup.
[http://zenit.senecac.on.ca/wiki/index.php/User:Dice Michael Szutu]
 
  
 
== Project Details ==
 
== Project Details ==
Line 26: Line 28:
 
Either Leave your feedback below or contact me ([[User:dominic|Dominic]]) directly.
 
Either Leave your feedback below or contact me ([[User:dominic|Dominic]]) directly.
  
===Tinderbox Improvement Ideas===
+
==1.0==
 +
===Goals - Bugfixes and Final Push===
 +
* Log link acted up with certain build machines
 +
* Comment link did not show under certain circumstances
 +
* Not feasible to implement commenting without touching physical notes.txt file.
 +
** Re-implemented reading files directly with a slightly different approach
 +
 
 +
===Release===
 +
[http://zenit.senecac.on.ca/wiki/imgs/V1.diff.zip V1.0] of my code
 +
 
 +
==0.9==
 +
===Goals - Update Commenting Polling===
 +
* Rewrite how I deal with comments
 +
** Direct file access was undesirable
 +
 
 +
===Release===
 +
[http://zenit.senecac.on.ca/wiki/imgs/V9.1.diff.zip v0.9] of my code
 +
 
 +
==0.8==
 +
===Goals - Destroy Perl===
 +
* Get in contact with ''justdave'' to push the release along to a commit
 +
** Can't get a hold of him on IRC - I might have to email him despite it being "unkosher" practice (waiting for commit forever now)
 +
* moved the "log" link to a better location
 +
* moved the "admin" link to a better location
 +
* added "Comment" link beside the log link now per build machine
 +
** all links correspond to the NEWEST build. For older logs and comments you must view the full tree
 +
===Release===
 +
* [http://zenit.senecac.on.ca/wiki/imgs/V9.diff.zip V4 of CLS's code] (v9 of my code)
 +
 
 +
==0.7.1==
 +
* Fix up the log links only showing per tree. Not per build machine.
 +
===Release===
 +
* [http://zenit.senecac.on.ca/wiki/imgs/V8.1.diff.zip V3.1 of CLS's code] (v8.1 of my code)
 +
 
 +
==0.7==
 +
===Goals - Add Logging linkage and perform other aesthetic fixes===
 +
* Add Log link beside build machines
 +
* Add comment link if there are comments on a build machine
 +
* make the new front end not overwrite the current front end.
 +
* Destroy the Perl programming language
 +
 
 +
===Release===
 +
* [http://zenit.senecac.on.ca/wiki/imgs/V8.diff.zip V3 of CLS's code] (v8 of my code)
 +
 
 +
==0.6==
 +
===Goals - Release the front end as directed by tinderbox maintainers===
 +
This release was primarily attempting to please the tinderbox maintainers since my work was got gaining any ground in terms of acceptance.  I've used a patch that was given to me by maintainer cls as the groundwork for the current release.
 +
 
 +
The release uses the look of my very first version of the front end I ever produced.  However, the back end looks completly different now since it has all been done in Perl and JSON has been scrapped. I'm hoping that this version will have a more successful approach and get moving on adoption.
 +
 
 +
Here's a shot of my work:
 +
 
 +
[[Image:Tinderbox_v6.png]]
 +
 
 +
===Release===
 +
* Diff of code
 +
** https://bugzilla.mozilla.org/attachment.cgi?id=306651
 +
 
 +
* changes
 +
** No JSON
 +
** Perl backend used to generate the front end now
 +
** Some CSS used during production. (A good thing)
 +
 
 +
==0.5==
 +
===Goals - Work out the remainder of the user interface===
 +
As the perl code gets reviewed and fixed up I'd like to work out the remainder of the user interface.  This includes making it usable and would put the final touches on the tinderbox main page improvement
 +
===Release===
 +
Here's a screen-shot of the colorized version of the Tinderbox front end. As soon as the tinderbox perl code gets committed to the project I'll be able to use real life data to test the page instead.  Until then I'm forced to use a local instance which is very flaky.
 +
 
 +
[[Image:Tinderbox_colored.png]]
 +
 
 +
* updated Perl code for release
 +
** https://bugzilla.mozilla.org/attachment.cgi?id=300959&action=diff
 +
 
 +
* the front end files
 +
** http://zenit.senecac.on.ca/wiki/imgs/Tinderbox_html.zip
 +
 
 +
==0.4==
 +
===Goals - Send out Perl code for review===
 +
As production moves forward on the tinderbox project I've compiled only my perl code into a single .diff file to send for review to the tinderbox maintainers.
 +
===Release===
 +
* First release of the perl code for review..
 +
** https://bugzilla.mozilla.org/attachment.cgi?id=297395
 +
 
 +
 
 +
==0.3==
 +
===Goals - Make my existing Tinderbox code use the new json output ===
 +
Now that I've got a patch that gives me a list of Tinderbox trees with basic build information I can update my code.  I'll be updating the AJAX on the .html file that I created for the 0.1 to use this new information.
 +
===Release===
 +
 
 +
Okay, with much hard work and re-learning of javascript I've finally come out with my 0.3a release of tinderbox.. Here's what it does.
 +
 
 +
* Modified some of the perl files to dynamically generate a generic list of tinderbox trees with their builders, it states success, build time, and URL.
 +
* fixed up my own index file and JavaScript to parse the JSON file and display the results on the page.
 +
 
 +
====  Files ====
 +
 
 +
* All files individually in here, plop this into a local tinderbox instance and all should work.
 +
** https://bugzilla.mozilla.org/attachment.cgi?id=293189
 +
 
 +
* And the diff file to use with cvs
 +
** https://bugzilla.mozilla.org/attachment.cgi?id=293188
 +
 
 +
==0.2==
 +
===Goals - Implement JSON output to showbuilds.pl===
 +
In the 0.2 release the major goal will be to implement the use of JSON output into the showbuilds.pl file found in tinderbox.  The reason for this is that there is currently no way of extracting per tree information in an easy way. (IE. only the tinderbox panel.htm files are available)  With the release of this 0.2 JSON fix I hope to now be able to remake my tinderbox interface and submit it for use using JSON. This will make my index page in the last build less server intensive which was the main reason for its rejection.
 +
 
 +
===Contributions===
 +
I'm looking for people who could help me with:
 +
* JSON - A fairly new concept to me.
 +
* Someone to look over my code who knows perl (For efficiency and bugs)
 +
* Always looking for interesting and good ideas to improve tinderbox layout
 +
 
 +
===Release===
 +
The 0.2 Release deals with creating a lean JSON output dynamically for all tinderbox trees available.
 +
 
 +
The patch can be found at [https://bugzilla.mozilla.org/attachment.cgi?id=289456&action=diff Bug# 400708]
 +
 
 +
==0.1==
 +
 
 +
===Goals - Create index.html for tinderbox.mozilla.org===
 +
 
 +
Since [http://tinderbox.mozilla.org tinderbox.mozilla.org] only redirects users to showbuilds.cgi there is no useful information presented to users immediately. The goal of the initial release will be to build a working index.html page based of [https://bugzilla.mozilla.org/show_bug.cgi?id=366784 Bug #366784] by Rob Helmer.  The idea is to use the [http://tinderbox.mozilla.org/Mozilla1.8/panel.html panels] that are automatically generated by Tinderbox and put them into iFrames or the like to display a list of available trees for checkin.  The idea is a layout that will look similar to the following figure.
 +
 
 +
[[Image:Tinderbox_example.png|Tinderbox Example index.html]]
 +
 
 +
=== 0.1 Release ===
 +
The 0.1 Release is done.  I've uploaded the files to [https://bugzilla.mozilla.org/show_bug.cgi?id=366784 Bug #366784] and received much feedback from the community! I'm currently awaiting review of my code by Chris Seawood and then hopefully incorporation into Tinderbox will follow!
 +
 
 +
[[Image:Tinderbox-index.html-0.1.jpg]]
  
* Add a legend for those not familiar with the Tinderbox layout. ([[User:dominic|dominic]])
+
==Bug list==
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=366784 Bug #366784] - Request to change Tinderbox front page layout
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=390341 Bug #390341] - Support gzip encoding for Tinderbox
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=381104 Bug #381104] - Large number of builds requires horizontal scrolling
 +
* [https://bugzilla.mozilla.org/show_bug.cgi?id=400708 Bug #400707] - Adding JSON output to showbuilds.pl
  
 
== Project News ==
 
== Project News ==

Latest revision as of 05:18, 19 April 2008


Project Information

Project Name

Tinderbox front page improvements

Project Description

Tinderbox is a web app showing the results of multiple machines building Firefox, running unit tests on it, and running performance tests on it, all on three different platforms (Windows, Linux, Mac). The display is very crowded right now, and can be difficult to read. In addition, some of the interesting information (changes in performance, for example) are hard to notice. The tinderbox server software recently was updated to include JSON output, which means that webpages can now easily access the data to build their own displays. Using this data, create a new display for the Tinderbox data that helps developers monitor the status of the builds and performance data.

Project Leader(s)

Project Contributor(s)

Adam Delyea - Assisted by helping me troubleshoot a local Tinderbox setup.

Project Details

We are currently looking for people who make use of Tinderbox to give their suggestions and comments on how it could be improved. Please include some specifics because the display has many areas which could be improved. Contribution ideas include what you believe would be the most important information presented, general annoyances, or things to make finding information easier on Tinderbox.

Either Leave your feedback below or contact me (Dominic) directly.

1.0

Goals - Bugfixes and Final Push

  • Log link acted up with certain build machines
  • Comment link did not show under certain circumstances
  • Not feasible to implement commenting without touching physical notes.txt file.
    • Re-implemented reading files directly with a slightly different approach

Release

V1.0 of my code

0.9

Goals - Update Commenting Polling

  • Rewrite how I deal with comments
    • Direct file access was undesirable

Release

v0.9 of my code

0.8

Goals - Destroy Perl

  • Get in contact with justdave to push the release along to a commit
    • Can't get a hold of him on IRC - I might have to email him despite it being "unkosher" practice (waiting for commit forever now)
  • moved the "log" link to a better location
  • moved the "admin" link to a better location
  • added "Comment" link beside the log link now per build machine
    • all links correspond to the NEWEST build. For older logs and comments you must view the full tree

Release

0.7.1

  • Fix up the log links only showing per tree. Not per build machine.

Release

0.7

Goals - Add Logging linkage and perform other aesthetic fixes

  • Add Log link beside build machines
  • Add comment link if there are comments on a build machine
  • make the new front end not overwrite the current front end.
  • Destroy the Perl programming language

Release

0.6

Goals - Release the front end as directed by tinderbox maintainers

This release was primarily attempting to please the tinderbox maintainers since my work was got gaining any ground in terms of acceptance. I've used a patch that was given to me by maintainer cls as the groundwork for the current release.

The release uses the look of my very first version of the front end I ever produced. However, the back end looks completly different now since it has all been done in Perl and JSON has been scrapped. I'm hoping that this version will have a more successful approach and get moving on adoption.

Here's a shot of my work:

Tinderbox v6.png

Release

  • changes
    • No JSON
    • Perl backend used to generate the front end now
    • Some CSS used during production. (A good thing)

0.5

Goals - Work out the remainder of the user interface

As the perl code gets reviewed and fixed up I'd like to work out the remainder of the user interface. This includes making it usable and would put the final touches on the tinderbox main page improvement

Release

Here's a screen-shot of the colorized version of the Tinderbox front end. As soon as the tinderbox perl code gets committed to the project I'll be able to use real life data to test the page instead. Until then I'm forced to use a local instance which is very flaky.

Tinderbox colored.png

0.4

Goals - Send out Perl code for review

As production moves forward on the tinderbox project I've compiled only my perl code into a single .diff file to send for review to the tinderbox maintainers.

Release


0.3

Goals - Make my existing Tinderbox code use the new json output

Now that I've got a patch that gives me a list of Tinderbox trees with basic build information I can update my code. I'll be updating the AJAX on the .html file that I created for the 0.1 to use this new information.

Release

Okay, with much hard work and re-learning of javascript I've finally come out with my 0.3a release of tinderbox.. Here's what it does.

  • Modified some of the perl files to dynamically generate a generic list of tinderbox trees with their builders, it states success, build time, and URL.
  • fixed up my own index file and JavaScript to parse the JSON file and display the results on the page.

Files

0.2

Goals - Implement JSON output to showbuilds.pl

In the 0.2 release the major goal will be to implement the use of JSON output into the showbuilds.pl file found in tinderbox. The reason for this is that there is currently no way of extracting per tree information in an easy way. (IE. only the tinderbox panel.htm files are available) With the release of this 0.2 JSON fix I hope to now be able to remake my tinderbox interface and submit it for use using JSON. This will make my index page in the last build less server intensive which was the main reason for its rejection.

Contributions

I'm looking for people who could help me with:

  • JSON - A fairly new concept to me.
  • Someone to look over my code who knows perl (For efficiency and bugs)
  • Always looking for interesting and good ideas to improve tinderbox layout

Release

The 0.2 Release deals with creating a lean JSON output dynamically for all tinderbox trees available.

The patch can be found at Bug# 400708

0.1

Goals - Create index.html for tinderbox.mozilla.org

Since tinderbox.mozilla.org only redirects users to showbuilds.cgi there is no useful information presented to users immediately. The goal of the initial release will be to build a working index.html page based of Bug #366784 by Rob Helmer. The idea is to use the panels that are automatically generated by Tinderbox and put them into iFrames or the like to display a list of available trees for checkin. The idea is a layout that will look similar to the following figure.

Tinderbox Example index.html

0.1 Release

The 0.1 Release is done. I've uploaded the files to Bug #366784 and received much feedback from the community! I'm currently awaiting review of my code by Chris Seawood and then hopefully incorporation into Tinderbox will follow!

Tinderbox-index.html-0.1.jpg

Bug list

  • Bug #366784 - Request to change Tinderbox front page layout
  • Bug #390341 - Support gzip encoding for Tinderbox
  • Bug #381104 - Large number of builds requires horizontal scrolling
  • Bug #400707 - Adding JSON output to showbuilds.pl

Project News

September 17 2007