Author Archives: pgfeldman

Mike 2.2.2011

Working on creating a paged data collection system where, essentially, the data collection only loads the parts of the data currently being viewed.  It is basically a paged data sources where unused pages are thrown away to prevent a continual build up of data on the server.

Started by going out and looking at the latest and greatest examples of database to Flex UI using BlazeDS.  The most promising and generic seems to be accessing a database through Hibernate and the JPA API.  It maintains an in memory cache of the data and takes care of syncing it with the database (which can by any relational database, HSQLDB, mySql, Oracle, etc.).

I made a simple, non-paged data service that returns a list of fake customers (name, email, phone) and after one day can display a datagrid of 15,000 customers in flex in under 1 second.  I’m going to up the number of entries in my database for 100,000 and see what happens on the flex side. I may also trying to add more columns with much more data per row to see how that affects timing and memory.

Once I have an idea of timings and the most efficient way to do things without paging, I’ll try paging the data and see how much of an improvement that is.

Useful Stuff:

Dong Shin 02.02.2011

  • PPM Changes
    • fixed a bug Funding Request not updating project_id
    • Remaining to Distribute calculation – keep subtracting Amount from FY BUDGET
    • add outlay to Reimbursable and Direct Cites
      • ALTER TABLE `funding_requests` ADD `outlay_amount` DOUBLE NULL AFTER `reimbursable_amount`
      • ALTER TABLE `direct_cites` ADD `outlay_amount` DOUBLE NULL AFTER `obligation_amount`
    • add contract info for Reimbursable in funding_request
      • ALTER TABLE `funding_requests` ADD `contract_id` INT NULL ,
        ADD INDEX ( `contract_id` )
      • ALTER TABLE `funding_requests` ADD FOREIGN KEY ( `contract_id` ) REFERENCES `project_portfolio`.`contracts` (
        `uid`) ON DELETE SET NULL ON UPDATE CASCADE ;

  • backing up FGMDEV
    • created a shell script and added to crontab – /exchange/backups/backup.sh
      • runs at 1AM everyday, keep last 3 days of data
      • ftp information (vizncon@philfeldman.com to backups directory)
      • ~4GB of data, 90 minutes package and transfer……
    • SVN – svnadmin dump /path/to/reponame > /tmp/reponame.dump ;
    • Nexus Maven Repo
      • zip up /opt/sonatype-work
    • Blog
      • zip up /opt/lampp/htdocs/blogs and /opt/lampp/SCT-Blog
      • back up MySQL Database; fgmdev_blog and sct_blog
        • /opt/lampp/bin/mysqldump -u root –password=edge fgmdev_blog > /exchange/backups/fgmdev_blog.dump

Phil 2.2.11

8:00 – 4:00 VISIBILITY

  • Hey! No ice!
  • Described the new FGM development incentive structure do Dong. Also, he’s going to start regular backups of fgmdev just in case VA forgets to pay the bill.
  • Statistics class
  • Working on tying the server side code back to the flex side for generic table retrieval. First pass is done! Login is now handled in the new system.
  • Burned a disk of new PPM swf

Mike 2.1.2011

Continued working on the report window and cleaned a few things up.

Investigated why I could shrink a panel down below the minWidth of its children.  Apparently spark containers do not set their min sizes to be the sum of their elements’ min sizes so for now I’m going to leave it instead of changing the default behavior away from the norm.

Ran in to an extremely annoying error:

TypeError: Error #2007: Parameter justificationStyle must be non-null.
at flash.text.engine::EastAsianJustifier/set justificationStyle()
at spark.components::Label/createTextLines()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsLabel.as:802]
at spark.components::Label/http://www.adobe.com/2006/flex/mx/internal::composeTextLines()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentsLabel.as:474]
at spark.components.supportClasses::TextBase/measure()[E:dev4.0.0frameworksprojectssparksrcsparkcomponentssupportClassesTextBase.as:533]
at mx.core::UIComponent/measureSizes()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:8042]
at mx.core::UIComponent/validateSize()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:7966]
at mx.managers::LayoutManager/validateSize()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:617]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:709]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:1072]

When I create an application containing 1 panel containing 1 group.  Searched online and the general consensus is on adobe forums is ‘it happens, not sure why’.

Started looking to making a help system that would navigate all compiled content as well as allowing dynamically loaded to inject stuff.  The best solution would be to visualize html pages inside of Flex.  That way we could link to auto generated Docs as well.  Unfortunately this isn’t actually supported in any good way in Flex (only AIR).  Text Flow Layout is another option but won’t be of any use until links are working in Flex 4.5.  I’ll talk with Phil about it tomorrow.

Dong Shin 02.01.2011

  • PPM Changes
    • fixed User Management TextInputs and set User object not updating Save button
    • adding Financial Status information to budget_centers table
      • back up – budget_amounts_org
      • ALTER TABLE `budget_amounts` ADD `MIPR_requested_date` DATE NULL DEFAULT NULL ,
        ADD `MIPR_request_received_date` DATE NULL DEFAULT NULL ,
        ADD `submitted_to_BABF` DATE NULL DEFAULT NULL ,
        ADD `document_number` VARCHAR( 255 ) NULL DEFAULT NULL ,
        ADD `certified_date` DATE NULL DEFAULT NULL ,
        ADD `received_contract_date` DATE NULL DEFAULT NULL ,
        ADD `initiate_commit` DOUBLE NULL DEFAULT NULL ,
        ADD `obligation` DOUBLE NULL DEFAULT NULL ,
        ADD `outlay` DOUBLE NULL DEFAULT NULL ,
        ADD `pm_actual_outlay` DOUBLE NULL DEFAULT NULL ,
        ADD `monthly_tech_report_date` DATE NULL DEFAULT NULL ,
        ADD `comments` TEXT NULL DEFAULT NULL
      • grabbing data from all related tables…
      • SELECT r.funding_type, r.description, r.funding_amount, r.document_number, c.contract_number, c.name as contractor_name, c.location as contractor_location, b.center_number, a.amount
        FROM funding_requests r
        LEFT JOIN direct_cites d ON r.uid = d.funding_request_id
        LEFT JOIN contracts c ON d.contract_id = c.uid
        LEFT JOIN budget_centers b on r.project_id = b.project_id
        LEFT JOIN budget_amounts a on b.uid = a.budget_center_id
        WHERE b.project_id = 96
    • working on saving Financial Status Data from the Form Entry

Phil 2.1.11

7:30 – 3:30 VISIBILITY

  • Working from home today. When the roads melt, I’ll see if I can go install the PPM update from yesterday
  • Installing xampp – done. Worked the first time. Sooooooooooooooooooooo nice.
  • Working on a version of DbTable that tries to match a java data type to the sql data type. Done, at least for the types that Flex likes.
  • Walked through the concept of views into infinite data with Mike.
  • Installed the new PPM. When I updated the DB, I got some errors:
    • On the 10th item (UPDATE direct_cites SET contract_id = [SELECT uid FROM contracts WHERE direct_cites.contract_number = contracts.contract_number )], and the 13th item (UPDATE funding_requests SET project_id = [SELECT uid FROM projects WHERE funding_requests.project_number = projects.project_number )] I got the following error:
    • ERROR 1242 (21000): Subquery returns more than 1 row
    • I left it as is since things appeared to be working. Worst case I can roll it back to just before I made the change.

Tom.DeVito 1.31.2011

Repairing the hand:

  • The top of the thumb, bottom of index, top of the pinky and bottom forward back rotation need repairs.
  • Attached new strain gauges to all but the bottom index.  This one will have to wait for the glue to dry on top.
  • left/right rotation, middle, and ring finger all work with good sensitivity.

Had to leave to get a check book from my house.  Will continue working on the articulated hand at home and call about the voice coil actuators.

Mike 1.31.2011

Continuing work on the data grid report item:

  • Moved the other 6 sample tables from the word doc in to the report prototype
  • Added the remainder of the text in aswell
  • Added word wrap to headers and cells
  • added column colors to cells only
  • Column header colors are possible but will require some work
  • cell specific colors are possible but will require much more work
  • HTML text in columns is possible but will require a fair amount of work
  • Added vertical and horizontal grid lines to the data grid

Phil 1.31.2010

8:00 – 5:30 VISIBILITY

  • Finally found out what was causing the “save problem” with PPM financial data. If a cell that has information has that info deleted, then when the window is closed, the save dialog appears.
  • Wrote up server requirements for Brian
  • Got most of the object transfer done. Need to get the typing on DbTable working better.

Dong Shin 01.31.2011

  • found a way to use the M2_REPO environment variable for Flex Projects so that the Build Path no longer requires the absolute path. Maven Assist should have this…. Updated MavenAssist, now V1.9.2.10
    • <configuration>
      <enableM2e>true</enableM2e>
      <useM2Repo>true</useM2Repo>
      </configuration>
    • cannot get to SourceForge FTP server – connection refused?
  • PPM Changes
    • fixed Financial Data saving problem
    • creating database upgrade scripts for Financial Status
      • DBUpdateSQLs01312011.sql

Tom.DeVito 1.28.2011

Noticed I never published my blog for yesterday

3D articulated hand with force feedback:

  • Noticed that the solar system is technically a joint so this is a good place to start from
  • Mapped out the measurements and angles of my hand in order to get an idea of scaling ratios and required degrees of motion
  • Going to start with the finger tips and work my way down the hand.
  • The palm and thumb are going to be tricky because its made up of oddly shaped polygons
  • Read up on 3d vector physics a bit

Repairing the hand

  • Wired up the hand.  Only broke one connection others seem good.  Flux helps a lot.  It seemed to protect the gold leads and lower the specific heat of the solder.
  • All connections are giving proper resistances but I have not tested them on the SG amps yet.

Mike 1.28.2011

Working on AdvDataGridReportItem:

  • Have it loading in right beside text and the roll up report item.
  • It reads a column configuration in and sets up the columns accordingly, even works with grouped columns
  • Copied some of the fake data over from the new report from Alan, seems to be working
  • It needs wordwrap in both the cells and headers since a lot of the headers are excessively long

Put eclipse, subclipse, and the programming test on the extra laptop.

Dong Shin 01.28.2011

  • PPM Changes
    • continue working on Funding Request work with new tables….
      • Direct Cites/Contracts working
    • Multiple Direct Cites results in many same entries in Financial Status….
    • funding_request table missing project ID!!!
      • ALTER TABLE `funding_requests` ADD `project_id` INT NULL AFTER `statement_of_work` , ADD INDEX ( `project_id` )
      • ALTER TABLE `funding_requests` CHANGE `project_number` `project_number` VARCHAR( 256 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
      • UPDATE funding_requests SET project_id = ( SELECT uid
        FROM projects
        WHERE funding_requests.project_number = projects.project_number )
      • ALTER TABLE `direct_cites` DROP `contract_number`
    • modified Funding Request to store Project ID
    • mapping Funding Request data fields to Financial Status

Phil 1.28.2011

7:30 – 5:30 VISIBILITY

  • Meeting with Matt and Anne from 3:00 – 4:00. Went very well. We’re going to try to get some more and better data into VISIBILITY
  • Class today – out between 9:30 and 11:30
  • working on  generic data handlers
    • Get insert working – Done, but I want to add precompiled queries as well
    • Get SELECT Query working
    • change User Info over to use new system
  • Spent some time improving the precompiled query code in DbHelper

Mike 1.27.2011

More work on the report widget

  • Connected the tree navigator to the report, so clicking an item in the tree now expands the appropriate node in the report
  • Created a SelfLabelingTextInput which when it is empty and not focused, it displays a label in itself such as ‘Search’.  I had to remember how to create and set custom styles in flex components.  Checked to make sure it is still the same method in Flex 4 as it was in Flex 3.  There’s decent sample code of how to do it in SelfLabelingTextInput.
  • Created a skin to the text input which has a space for an icon, added a standard magnifying glass icon, and called it SearchTextInputSkin, both the skin and the component are now in FGMUtils.
  • Added the ability to disable the transition animations in rollupcontaienrs so I can correctly calculate the verticalScrollPosition after expanding nodes