Phil 4.28.14

8:00 – 5:00 SR

  • DB backups
  • Lenny’s making progress in as our new security guy
  • Need to fix the appropriation year calculations in the fake data generator. Done
  • Need to build a YUI template and store it off as a complete project. Done, but I spent a while running in circles trying to get resize to work on the YUI panel. It turns out that you have to enable resize on the node the panel points at. So the code kind of looks like this:
 // If we want to make the panel resize, we have to manipulate the srcNode.
 // This must be done before the Panel is created
 var n = Y.one("#topNode");
 n.plug(Y.Plugin.Resize);

 var panel = new Y.Panel({
     srcNode : n,
     x :200,
     y :100,
     headerContent : 'A Panel containing a widget',
     plugins : [Y.Plugin.Drag]
 });
 panel.render();
  • This also requires that the style for the div have the position: relative property set. Here’s how it’s done in this example:
.topNode{
     position: relative;
     width:800px;
     height:640px;
     background: #bcbcbc;
     overflow: hidden;
}
  • I then spent a while seeing if typescript could be integrated, but it and YUI are really two very different patterns.
  • Working on the WebGL container
    • Set for 2D/3D
    • use defaults (ambient/directional light, perspectives, etc)
    • Show/hide stage
    • Add models. Looking at the code, the cube is currently added as a mesh to a scene. Need to look into how to break that apart. Going to start with the “interaction-simple.html” code from the webgl book and try adding the cube in as a model first.

Phil 4.25.14

8:00 – 5:00 SR

  • DB Backups
  • Helping Dong out with some questions he has. Some queries are running on the production servers that don’t run on his dev box?
  • Finish financial reporting
  • JavaScript
    • Reworking WebGLCanvas. I think it’s better. The structure is now:
      • YUI.add(‘ModuleName”, function(Y) {} wrapper
        • List of all the private variables, using _myVariable notation
        • List of all the private variables that will point at functions (e.g. var _myFunction)
        • The function declarations (e.g. _myFunction = function (args) {};)
        • The publication section – Y.WebGLCanvas = Y.Base.create({/* vars*/}, {/*attrs */});
          • in the {/*vars*/} object, the prototype function vars are matched to a local var (defined above). It looks like this
            • myProtoVariable: null,
            • myProtoFunction:  _myLocalFunction,
            • etc.
          • There are no bodies to anything, just pointers to functions that have already been declared. Closure takes care of the wrapping of appropriate module data. This way, exactly what is in the prototype can be quickly seen.
          • The {/*attrs*/} object is handled in the ‘traditional’ YUI way, since each attribute is actually a cluster of small sub-objects, no clarity is gained by breaking things up.
      • Still have to see if this mechanism extends correctly, but that’s next week.
    • Spent a good deal of time getting panel components to assemble correctly. I had to go digging for the height of the header and allow a modified height value to be passed into the WebGLCanvas. Sheesh.

yuiWebGl

Still, good progress for the week.

Dong Shin 04.24.2014

  • added authorized users control in Reqonciler – setupModel.xml
  • continue working on Post-Processing
    • added saving new Obligations and Outlays as the first step
    • added queries to update obligations and outlays separately
      • need to update  __view_monthly_obligations_by_req_id,  __view_monthly_obligations_by_contract,  __view_monthly_outlays_by_req_id,  __view_monthly_outlays_by_contract
      • update obligations outlays for second year hanging….. ugh.!

Phil 4.24.14

7:30 – 4:30 SR

  • DB backups
  • Financial reporting
  • JavaScript
    • Working on the WebGL container
      • Add a clock – done
      • Set for 2D/3D
      • background color/image
      • Overlay – done
      • Dprint – done
      • use defaults (ambient/directional light, perspectives, etc)
      • Show/hide stage
      • Add models

Phil 4.23.14

8:00 – 5:00 SR

  • I was informed that passed my comprehensive exams yesterday!
  • DB backups
  • Dumped the _reqonciler_processing table for dong.
  • Started to build up the threejs/YUI charting package. Step one, make all the pieces work together.
  • Behold! yuiWebGl
  • That being said, there are some issues in the loading? Need to look into that some more. Still, not a bad day’s work.

Dong Shin 04.23.2014

  • got the dump from the _reqonciler_processing table
  • talked Lenny about the columns that could have missing data – ACR for Obligations and ACR, PO Reference for Outlays
  • added obligations/outlays blacklist and whitelist to FinancialAssistant.properties
    • added \FinancialAssistant\src\main\webapp\WEB-INF\ to ClassPath in Run Configurations in Eclipse to read the prop file!!
  • updating pre-processing queries – done
  • updating post-processing queries
  • added appropriation column and removed unnecessary columns from budget_center_contracts
    • ALTER TABLE `budget_center_contracts` ADD `appropriation` VARCHAR(20) NULL AFTER `appropriation_year`;
    • ALTER TABLE `budget_center_contracts`
      DROP `budget_center_name`,
      DROP `sub_budget_center_name`,
      DROP `ebc_name`,
      DROP `committed_date`,
      DROP `committed_amount`,
      DROP `po_start_date`,
      DROP `po_end_date`,
      DROP `contract_type`,
      DROP `po_type_code`,
      DROP `contract_no`,
      DROP `vendor_id`;

Dong Shin 04.22.2014

  • ContractsParser.java – testing completed
    • need to add Voucher ID and Appropriation to the spreadsheets
    • skipping rows based on NULL values? need to find what columns could be null
    • need to get all the pre and post processing queries from the site
  • Modified Reqonciler to use the new interface.

Phil 4.18.14

8:00 – 5:00 SR

  • DB Backups
  • Dong discussed Reqonciler with Lenny
  • Spent some time chasing down what to do about heartbleed. Since I admin only the VMs, and it appears that the landlord is doing regular updates, I’m trying to determine if I have to do anything in addition to what I’m already doing. Once more, it would really help if we had a real sysadm on the team.
  • Today’s big JavaScript breakthrough.The following have the same results, though the Internet says that bind() has more overhead and takes longer.

    // Typical way to handle callbacks
    var self = this;
    setTimeout(function() {self.callbackFn()}, this.delay);

    // More clear?
    setTimeout(this.callbackFn.bind(this), this.delay);

    Interestingly, you can move the inner function out of the callback and into the “Constrictor” (e.g. combination inheritance) so that the function only gets created once:

    function MyClass(){
    var self = this;
    this.boundFunc = function(){self.callbackFn()};
    }

    This allows for a nicer looking call:
    setTimeout(this.boundFunc, this.delay);

    On the whole, I think I like the last pattern the best.

Dong Shin 04.18.2014

  • had discussion with Lenny on Reqonciler – needs to process Obligations and Outlays separate
    • Obligations
      • Budget Center, Sub Budget Center, Executing Budget Center, Appropriation Year, Appropriation, Requisition ID, PO Reference, ACR, Obligated Date, Obligated Amount (Bolds are the uniquely identifying fields)
      1. If all fields above match, ignore
      2. If only the obligation date changes, ignore
    • Outlays
      • Budget Center, Sub Budget Center, Executing Budget Center, Appropriation Year, Appropriation, Requisition ID, PO Reference, ACR, Expensed Date, Expensed Amount, Voucher ID (Bolds are the uniquely identifying fields)
      • If all fields match, ignore
    • Pre-Processing Steps
      • If line is ignored in previous steps, it should cascade down to follow on steps and not be shown
    • Appropriations – O&M, PROC, RDT&E
  • working on Reqonciler
    • created new tables – cognos_obligations and cognos_outlays
    • working on ContractsParser.java….

Phil 4.17.14

8:00 – 4:00 SR

  • DB Backups
  • Added notes to the VizTool main page about the current state of the bugs and fixes
  • Linked Lenny’s help document to ReqAssistant.
  • JavaScript
  • Spent some time digging around in WebGL and found out how to set up the Structure view. Much better.
  • Also figured out the code inspector. Also very nice. I’m beginning to see why this editor gets high reviews.
  • And don’d forget this: http://learningthreejs.com/

Phil 4.16.14

8:00 – 5:00 SR

  • Somewhere out there are a bunch of accountants taking a breather.
  • DB Backups
  • Deployed a new RA. Lenny wasn’t there to check it out, though it seems to be working correctly.
  • JavaScript – Back to WebGL. And yes, the code makes much more sense now.
  • Worked through the interaction chapter. The first example is actually pretty close to the chart concept,
  • Starting on the Combining HTML/WebGL. First example gives tooltip and data options.

Phil 4.15.14

8:00 – 5:00 SR

  • DB Backups
  • Sent Lenny a bunch of links for security workshops and such.
  • Put together the querylog script and added in the excerpt. Works fine now. Also took out all the lines with “lock” in them and scheduled it for a once-per-day run.
  • Documented what I learned in yesterday’s episode of “Eclipse Hates being a Webserver”.
  • JavaScript
    • Started my JS cheat sheet.
    • Ok, now that I think I know more of what’s going on in the example code, back to WebGL