<?xml version="1.0"?>
<opml version="2.0">
  <head>
    <title>DQO TODO</title>
    <dateModified>Tue, 04 Jan 2011 22:54:34 +0000</dateModified>
    <ownerName>Tri Noensie</ownerName>
  </head>
  <body>
    <outline text="IDL">
      <outline text="Check out newly changed code in the dq repository"/>
    </outline>
    <outline text="Transfer everything from here to Teambox"/>
    <outline text="Web Dev - DQHANDS">
      <outline text="TeamBox">
        <outline text="Documentation Software"/>
        <outline text="Project Management Software"/>
        <outline text="Bug Tracking Software"/>
      </outline>
      <outline text="Directory Structure was created because of the server setting of the &quot;cgi-bin&quot; folder access. If it can be changed to anything, then the the web framework can be restructured to have semantic meaning"/>
      <outline text="URL Path redirection after request submission"/>
      <outline text="UX">
        <outline text="set up ui testing with gorilla testing"/>
        <outline text="Ask how do they use the web app"/>
      </outline>
      <outline text="change views to use method calls"/>
      <outline text="utilize rgba for css shadowing"/>
      <outline text="move the newest versions on jquery into app js directory"/>
      <outline text="LAYOUT">
        <outline text="Add Contact page (discuss)"/>
      </outline>
      <outline text="REQUEST Page">
        <outline text="help dialog"/>
        <outline text="Big request might take a long time to load">
          <outline text="use a loading sequence before refresh"/>
        </outline>
      </outline>
      <outline text="DATA DISPLAY Page">
        <outline text="IE8 not working"/>
        <outline text="get more request AJAX using post method"/>
        <outline text="created json data needs to use arrays instead of key/value pairing to get correct ordering display"/>
        <outline text="hour/field label highlight on hour cell hover"/>
        <outline text="Testing with svn"/>
        <outline text="check svn"/>
        <outline text="Diagnostic Plots">
          <outline text="Add loader gif"/>
          <outline text="link click calls a cgi-script to generate the page"/>
          <outline text="(KEN) Diagnostic plot directory doesn't match the json metric files"/>
          <outline text="same window: use global variable in js to store the window object and reuse by utilizing URL change to retrieve new plots"/>
          <outline text="environment variable to diagnostic plots: $DQPLOT_DATA">
            <outline text="window.open(url)"/>
            <outline text="stop at the date directory"/>
            <outline text="test: /home/kehoe/data/www/tool/dq">
              <outline text="uri: http://dev.arm.gov/~kehoe/data/tool/dq/"/>
            </outline>
          </outline>
          <outline text="start at pulling all plots from the directory"/>
          <outline text="then pick one case to build the configuration to generalize for the other cases"/>
          <outline text="conf for comparison plots"/>
        </outline>
        <outline text="ncvweb Plot">
          <outline text="href=&quot;http://plot.dmf.arm.gov/ncvweb/ncvweb.cgi?dd=1&amp;amp;page=plot&amp;amp;site=sgp&amp;amp;datastream=sgpmetE4.b1&amp;amp;file=sgpmetE4.b1.20101001.000000.cdf&quot; target=&quot;new&quot;"/>
        </outline>
        <outline text="Sample block coloring (discuss)">
          <outline text="concept 1">
            <outline text="Original coloring implementation">
              <outline text="Orders of importance: Bad(Red) &gt; Indeterminate(Yellow) &gt; Missing(Gray) &gt; N/A(Black)."/>
              <outline text="Green- only for 100% Good assessment."/>
              <outline text="If Good is &lt; 100%, sample color will be based on the order of importance. Assessment of the highest order with percentage &gt; 0% will color the sample block."/>
              <outline text="Mouseover will show percentage of colored assessment on the sample block (plus the table of assessment statistics; I will show the mock-up for it when I come in the next time)."/>
              <outline text="Ex. Bad = 2%; Missing = 50% =&gt; block color: Red"/>
              <outline text="Ex. Indeterminate = 40%; N/A = 40% =&gt; block color: Yellow"/>
            </outline>
            <outline text="Implement Assessment Rankings, but follow original coloring implementation">
              <outline text="Default: the order listed in the json file"/>
            </outline>
          </outline>
          <outline text="concept 2">
            <outline text="GOOD assessment: green, regularly"/>
            <outline text="SINGLE non-good assessment: color block will take that color"/>
            <outline text="MULTIPLE non-good assessment: color block will have a unified, standardized color for multiple non-good assessments"/>
            <outline text="toggling:">
              <outline text="options listed will be the different types of assessments"/>
              <outline text="clicking on an option will display only the color of the picked assessment in the block-data where it exists"/>
            </outline>
          </outline>
          <outline text="back-end code to be able to add more assessments than &quot;add&quot;, &quot;indeterminate&quot;, etc."/>
          <outline text="Change the colors in the legend"/>
          <outline text="sgpmplpolfsC1:20101112">
            <outline text="99% on good but 0 on the others"/>
          </outline>
        </outline>
        <outline text="DQA Reports">
          <outline text="What we need to do for the DQA button is create a new URL that contains information from the DQ HandS website and add one more thing, the ARM ID number.  Everyone in ARM has one.  You can determine yours by logging into the ARM People database.  Go to the ARM home page and look for a &quot;People&quot; link at the top of the page. After searching for your name in the database (last name), click update.  Then look in the URL.  That number is your ARM ID.   &#10;&#10;So, somehow we need to add that to the URL that loads the DQAs.  We currently have a local SQL database.  I think the database is overkill.  I think a JSON file with key=value pairs will work well.  (ie kehoe=5880)&#10;&#10;For example the GRW MET URL could look like this:&#10;http://www.db.arm.gov/DQA/dqaenter.php?person_id=5880&amp;site=grw&amp;inst=met&amp;sd=201007280000&amp;ed=201010122359&amp;fac=all&#10;&#10;The things we will need to pull from your Python script are:&#10;site=grw&#10;inst=met  (instrument)&#10;sd=201007280000 (startdate including time date=20100728  time = 0000)  The time can be made up and always this number.&#10;ed=201010122359 (enddate including time date=2010101  time=22359)  The time can be made up and always this number.&#10;&#10;The only thing we will need to ask for is the user name and a password.  We can use one password for all users, or set up another key in the JSON file.  The user name would then be used to get the ARM ID.&#10;&#10;Then we just build the URL string and open a new window."/>
        </outline>
        <outline text="plots for individual fields"/>
        <outline text="assessment toggling">
          <outline text="table functionality"/>
          <outline text="single field functionality"/>
          <outline text="UI"/>
        </outline>
        <outline text="dynamic add request"/>
        <outline text="Logs for different sites">
          <outline text="TWP and AMF use a system called contact sheets.  (AMF is a general term meaning ARM Mobile Facility.  We add one each year.  Currently there have been FKB, GRW, HFE, NIM) All we would need to do is provide a link to one website.  Inside that website the user can select the facility and instrument.">
            <outline text="http://www.twppo.lanl.gov/ops/cs/review.a4d"/>
          </outline>
          <outline text="NSA has one web site (Currently.  There is talk of updating this system.)">
            <outline text="Instrument Logs, PM and CM logs-&gt;http://agvik.gi.alaska.edu/fmi/iwp/res/iwp_home.html"/>
          </outline>
          <outline text="SGP has three different sites.  Unfortunately the sites are restricted by IP address.  I had them add the NWC to the list, but we are no longer able to access the sites.  I'm not sure why.">
            <outline text="CM logs = https://www.ops.sgp.arm.gov/menus/cmreports.html"/>
            <outline text="Instrument Logs = https://www.ops.sgp.arm.gov/Instrument_logs/Bsrnilog/ILogBSRNC1.html"/>
            <outline text="PM logs = https://www.ops.sgp.arm.gov/menus/pmreports.htm"/>
          </outline>
          <outline text="All of the sites currently have a configuration file in the $DQCONF_DATA directory.  They are under the name of nsa.conf, sgp.conf, ...  You can take a look at them. They are in Perl syntax. In the past, we could add the facility and instrument name to the Instrument Logs URL and it would take us directly to the correct web site.  Without access to the website now, I'm not exactly sure how it is working.  This is something we need to discuss with the site scientists more."/>
        </outline>
        <outline text="Legend">
          <outline text="dynamically add assessment class during processing"/>
          <outline text="Button to display and hide the legend"/>
          <outline text="Move assessment color legend into each box (HOLD)"/>
        </outline>
        <outline text="Bookmarking">
          <outline text="Figure out how to write to database"/>
          <outline text="cache the shortened link after the first time"/>
          <outline text="Have a feature (a button with a pop-up) for bookmarking. the shown string is the query to get the same current request. This will clean up the URL"/>
          <outline text="When the request is passed into the page, have that string injected into a non displayed element. Then the javascript will look for the id, then extract the string, remove the element out of the dom, and then parse it."/>
          <outline text="Write my own URL shortener using CGI"/>
          <outline text="http://stackoverflow.com/questions/136458/how-do-i-with-javascript-change-the-url-in-the-browser-without-loading-the-new"/>
          <outline text="http://api.bit.ly/v3/shorten?login=trinonsense&amp;apiKey=R_9ec570bc385916500a54394d7a2ae11c&amp;format=json&amp;longUrl=http://betaworks.com/"/>
          <outline text="http://code.google.com/p/bitly-api/wiki/ApiDocumentation#/v3/shorten"/>
          <outline text="http://bit.ly/a/account"/>
        </outline>
        <outline text="display for vap inputs"/>
        <outline text="add more request div fixed on the left side of the page with tipsy information"/>
        <outline text="Have a input request parsing check to ensure request standard"/>
        <outline text="back to top functionality"/>
        <outline text="Help Dialog Box">
          <outline text="help button to upon a modal box for help with image previews"/>
        </outline>
        <outline text="hover over previous or next day with tool-tip of the dates"/>
        <outline text="remove 0% test/summary"/>
        <outline text="take off 'time' if there is no time"/>
        <outline text="REWRITE SUMMARY POPUP DISPLAY. Too long">
          <outline text="Make a dynamic popup javascript generator">
            <outline text="http://www.w3schools.com/tags/tag_td.asp"/>
          </outline>
          <outline text="http://dev.arm.gov/~noensie/dqhands_dev/cgi-bin/explorer?request=nsa.met.C1.20101003"/>
        </outline>
        <outline text="Add field data on hover"/>
        <outline text="JSON Value error &quot;time&quot; and &quot;percent&quot;">
          <outline text="http://dev.arm.gov/~noensie/dqhands_dev/cgi-bin/explorer?request=sgp.met.E4.20101101"/>
        </outline>
        <outline text="datastream info box (HOLD)"/>
        <outline text="ONLY &quot;new request&quot; will be in the dock (HOLD)"/>
        <outline text="Hover over displays percentage of assessment + row and column highlight"/>
        <outline text="Design not found data block (discuss)"/>
        <outline text="C_DATA_DISPLAY python script"/>
        <outline text="USE SCROLL LOAD INSTEAD OF AUTOMATIC LOAD"/>
        <outline text="Assessment Statistics Display"/>
        <outline text="REWRITE THE DISPLAY PAGE"/>
        <outline text="REALLY SLOW EVEN W/O PROCESSING">
          <outline text="Slow at string conversion to json python object @m_data_display"/>
          <outline text="initially load first ~15 requests. Ajax call for the rest of the requests- 5 requests per ajax call."/>
          <outline text="at each request, inject a script tag that would make an ajax call for the next batch of request"/>
        </outline>
        <outline text="Fixed-sized table columns">
          <outline text="cutoff field names: faded at the end for fields"/>
          <outline text="cut-off fields will have a tooltip of the full name"/>
        </outline>
        <outline text="&quot;add new request&quot; add to the nav bar"/>
      </outline>
      <outline text="REQUEST MENU PARTIAL">
        <outline text="Fix sorting in getFacilities.py"/>
        <outline text="one day option"/>
        <outline text="clean up selectors"/>
        <outline text="JS">
          <outline text="Submit request button action will be different for the different pages"/>
          <outline text="FIX: add request 11.07.10 - anything later (check request list)"/>
          <outline text="tooltip for undo button, remove +/-"/>
          <outline text="cache at each selection"/>
          <outline text="Update earliest date and last date upon facility selection change"/>
          <outline text="Restructure the source input (ex. site-datastream-facility)"/>
          <outline text="move the empty list notification logic into add/remove request functions"/>
          <outline text="&quot;undo&quot; effects timing issue with single remove"/>
          <outline text="&quot;undo&quot; loses event handlers"/>
          <outline text="Undo Stack"/>
          <outline text="remove submission confirmation (the html, css, &amp; js is still around)"/>
        </outline>
        <outline text="CSS">
          <outline text="font sizing of date selection calendar"/>
        </outline>
        <outline text="using post method for the submit form to enable big request"/>
        <outline text="Use $DQHEALTH_DATA  environment variable for the path to the metric directory (Replace TEMP_PATH in ajax python scripts)"/>
        <outline text="fix date naming: start/end -&gt; first/last (HTML, variable names)"/>
        <outline text="fix getFirstLastDates: it doesn't get the last date correctly"/>
        <outline text="ajax call: change directory once structure is set"/>
        <outline text="Change request display. Single line"/>
        <outline text="Loading Sequence GIf during request selection"/>
        <outline text="confirm-submit and confirm-clear notification"/>
        <outline text="cache the ajax call during selection (CANCELLED)"/>
      </outline>
      <outline text="Look over dq.arm.gov to mimic its design">
        <outline text="try to get a higher resolution of the logo"/>
      </outline>
      <outline text="Research: caching">
        <outline text="browser caching"/>
        <outline text="proxy caching"/>
      </outline>
      <outline text="gZippin"/>
      <outline text="Check the whole project into svn"/>
      <outline text="Environment of development and production (not just under my directory)"/>
      <outline text="Change page title at each page"/>
      <outline text="DATA_PATH needs to be centralized"/>
      <outline text="New json metrics directory structure">
        <outline text="The data is located at&#10;&#10;/home/kehoe/data/health/dq/metric&#10;&#10;Under this directory you will find the directory tree we have talked &#10;about. Take a look and let me know what you think. After thinking &#10;about all the different datastreams that we will process, I've realized &#10;we need to have both the date and time in the JSON file name. 99% of &#10;the time the time will not matter and can be ignored, but when we look &#10;at Radiosonde files, there will be four distinct files per day that will &#10;need to be displayed independently. I think the new radar files will &#10;also have multiple files per day. My hope was that your code would be &#10;able to recognize the datastream and call a different display program &#10;for these special cases. We can talk more about this later.&#10;&#10;If you want to start writing your web program I suggest you create a &#10;similar directory tree and copy over the directories and files into your &#10;/home/noensie/data/health/dq/metric/ area. That way you can use the &#10;$DQHEALTH_DATA environment variable, which is what we plan to do."/>
      </outline>
      <outline text="footer dqo link to site"/>
      <outline text="Create helper for HTML TAGS">
        <outline text="Use them in all controllers"/>
      </outline>
      <outline text="Day summary??"/>
    </outline>
    <outline text="Web Dev - General">
      <outline text="http://www.smashingmagazine.com/2008/11/13/15-useful-project-management-tools/"/>
      <outline text="http://drup.org/20-basecamp-alternatives-project-management"/>
      <outline text="minimal idl doc"/>
      <outline text="sqlite"/>
      <outline text="automated NEW page generator script"/>
      <outline text="cgi-framework: discard dynamic &quot;content&quot; insertion and use abstract dynamic container insertion"/>
    </outline>
    <outline text="Miscellaneous">
      <outline text="Learn Regular Expression"/>
      <outline text="Create a tutorial page for using my IDL Modules"/>
      <outline text="SWAWT"/>
      <outline text="NetCDF 4"/>
      <outline text="NetCDF organization files using bits"/>
    </outline>
    <outline text="IDL">
      <outline text="Move IDL Documentation"/>
    </outline>
  </body>
</opml>

