Author Archives: pgfeldman

Dong Shin 11.07.2012

  • working on guest/demo account of PPM and PA
    • created demo role with permissions enabled – DBUpdateSQLs11072012.sql
      • INSERT INTO `roles` (`type`, `create_project`, `copy_project`, `modify_project`, `duplicate_project`, `enter_monthly_status_data`, `financial_status_data`, `create_funding_request`, `modify_funding_request`, `manage_contracts`, `manage_appropriations`, `monthly_status_report`, `create_new_user`, `user_management`, `activate_new_users`, `local_logs`, `server_logs`, `query_logs`, `database_management`, `role_management`, `view_only_associated_data`) VALUES
        (‘demo’, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
    • PA modifications – done!
      • return full list of projects and alerts for demo
      • disabled editing of Alerts and comments
      • disabled editing of financial data
      • added alert for demo account login
    • PPM modifications – done!
      • added alert for demo account login in PPM
      • buttons disabled in CreateProjectPanel
      • disabled save in FinancialStatusPanel
      • disabled editing and auto entry on FinancialDataDataGrid
      • disabled save, update, remove in Contracts
      • disabled save on FinancialMitigationPlanWindow
      • disabled save, remove on InvoiceFormWindow
      • disabled save, delete Funding Requests
      • disabled add, changed, remove Direct Cites
      • disabled unlock project, delete project in ProjectMgmtPanel
      • disabled save in UserManagement, Activate New Users
      • disabled save in UserRolesManagementPanel
      • disabled save in DBMgmtPanel
  • due for PR, need to start on SF-86

Phil 11.5.12 – 11.6.12

11.5.12: 7:30 – 9:30, 1:00 – 4:00 ESSO

  • Backups
  • Deployed release versions of everything.
  • Meeting with Morpheus folks. Demoed everything, and they are interested. Had an odd experience, where the chart view in the data visualizer froze. Upon reloading, everything was fine.

11.5.12 10:00 – 1:00 FP

  • 810, then video production presentation

11.6.12: 730 – 2:00 ESSO

  • Backups
  • Wrote up meeting notes for Dave W.
  • Jim G. wants status for October
  • Set up a bunch of users for Data Visualization. When showing one how things work, I ran into the freezing problem again. I reset the deployed code to be the debug build, and can’t get it to happen on my box, but it happens on his. I need to test further. Not even sure how to debug this one yet.
  • Experimenting with using Google Drive to hold my Eclipse development directory. If it works, then there is always a snapshot of the current codebase. THis doesn’t replace SVN, which hold the ‘working’ codebase. Instead, this is the version that each user is working on, before it’s shared.

2:00 – 4:00 FP

  • 805, and a bit of coding to determine Levenshtein distance for strings.

Dong Shin 11.06.2012

  • working on guest account/roles for PA and PPM
  • saved alerts 4, 5, 6 to table_queries – this saves the data to alerts table as well as xml data generation
  • created scripts for alerts – Alert_4_notObligatedWithin30days.py, Alert_5_notAcceptedWithin30days.py, Alert_6_noOutlaysWithin60days.py
  • query find all users on projects (full outer join?)
    • SELECT
      projects.uid,
      GROUP_CONCAT(distinct(ppa.login)) as porfolio_admins,
      GROUP_CONCAT(distinct(ppm.login)) as portfolio_mgrs,
      GROUP_CONCAT(distinct(m.login)) as service_project_managers,
      GROUP_CONCAT(distinct(psf.login)) as service_finance_pocs,
      projects.project_number AS program,
      c.center_number as MIPR
      FROM projects
      LEFT JOIN _projects_portfolio_admins AS ppa ON projects.uid = ppa.project_id
      LEFT JOIN _projects_portfolio_mgrs AS ppm ON projects.uid = ppm.project_id
      LEFT JOIN _projects_service_project_mgrs AS m ON projects.uid = m.project_id
      LEFT JOIN _projects_service_finance_pocs AS psf  ON projects.uid = psf.project_id
      LEFT JOIN budget_centers AS c on projects.uid = c.project_id
      GROUP BY projects.uid
  • working on Alerts
    • query to find #4 MIPRs, EAs, Reqs, etc. are not obligated within 30 days after the acceptance date
      • SELECT
        projects.uid,
        GROUP_CONCAT(distinct(ppa.login)) as porfolio_admins,
        GROUP_CONCAT(distinct(ppm.login)) as portfolio_mgrs,
        GROUP_CONCAT(distinct(m.login)) as service_project_managers,
        GROUP_CONCAT(distinct(psf.login)) as service_finance_pocs,
        projects.project_number AS program,
        c.center_number as MIPR,
        ‘Not obligated within 30 days after the acceptance date’,
        ‘OPEN’ AS status
        FROM projects
        LEFT JOIN _projects_portfolio_admins AS ppa ON projects.uid = ppa.project_id
        LEFT JOIN _projects_portfolio_mgrs AS ppm ON projects.uid = ppm.project_id
        LEFT JOIN _projects_service_project_mgrs AS m ON projects.uid = m.project_id
        LEFT JOIN _projects_service_finance_pocs AS psf  ON projects.uid = psf.project_id
        LEFT JOIN budget_centers AS c on projects.uid = c.project_id
        WHERE projects.uid IN (
        SELECT project_id FROM funding_requests f, projects p
        WHERE ((ISNULL(obligation_date) AND DATEDIFF(CURDATE(), acceptance_date) > 30)
        OR ISNULL(DATEDIFF(obligation_date, acceptance_date))
        OR DATEDIFF(obligation_date, acceptance_date) > 30)
        AND p.uid = f.project_id
        )
        GROUP BY projects.uid
    • query to find#5 MIPRs, EAs, Reqs, etc. are not accepted within 30 days of the certification date
      • SELECT
        GROUP_CONCAT(distinct(ppa.login)) as porfolio_admins,
        GROUP_CONCAT(distinct(ppm.login)) as portfolio_mgrs,
        GROUP_CONCAT(distinct(m.login)) as service_project_managers,
        GROUP_CONCAT(distinct(psf.login)) as service_finance_pocs,
        projects.project_number AS program,
        c.center_number as MIPR,
        ‘Not obligated within 30 days after the acceptance date’,
        ‘OPEN’ AS status
        FROM projects
        LEFT JOIN _projects_portfolio_admins AS ppa ON projects.uid = ppa.project_id
        LEFT JOIN _projects_portfolio_mgrs AS ppm ON projects.uid = ppm.project_id
        LEFT JOIN _projects_service_project_mgrs AS m ON projects.uid = m.project_id
        LEFT JOIN _projects_service_finance_pocs AS psf  ON projects.uid = psf.project_id
        LEFT JOIN budget_centers AS c on projects.uid = c.project_id
        WHERE projects.uid IN
        (SELECT project_id
        FROM funding_requests f, projects p
        WHERE ((ISNULL(acceptance_date) AND DATEDIFF(CURDATE(), certified_date) > 30)
        OR ISNULL(DATEDIFF(acceptance_date, certified_date))
        OR DATEDIFF(acceptance_date, certified_date) > 30)
        AND p.uid = f.project_id)
        GROUP BY projects.uid
    • query to find # 6 – MIPRs are accepted as Reimbursable, but no outlays occur within 60 days
      • SELECT
        GROUP_CONCAT(distinct(ppa.login)) as porfolio_admins,
        GROUP_CONCAT(distinct(ppm.login)) as portfolio_mgrs,
        GROUP_CONCAT(distinct(m.login)) as service_project_managers,
        GROUP_CONCAT(distinct(psf.login)) as service_finance_pocs,
        projects.project_number AS program,
        c.center_number as MIPR,
        ‘Not obligated within 30 days after the acceptance date’,
        ‘OPEN’ AS status
        FROM projects
        LEFT JOIN _projects_portfolio_admins AS ppa ON projects.uid = ppa.project_id
        LEFT JOIN _projects_portfolio_mgrs AS ppm ON projects.uid = ppm.project_id
        LEFT JOIN _projects_service_project_mgrs AS m ON projects.uid = m.project_id
        LEFT JOIN _projects_service_finance_pocs AS psf  ON projects.uid = psf.project_id
        LEFT JOIN budget_centers AS c on projects.uid = c.project_id
        WHERE projects.uid IN
        (SELECT project_id
        FROM funding_requests f, projects p
        WHERE (NOT ISNULL(reimbursable_amount)
        AND ISNULL(outlay_amount)
        AND DATEDIFF(CURDATE(), acceptance_date) > 60)
        AND p.uid = f.project_id)
        GROUP BY projects.uid

Phil 11.2.12

8:00 – 11:00,  12:00 – 4:00 ESSO

  • Deployed yet another version of vis2. I think it’s free of any ‘stupid’ errors, at any rate.
  • Monday 2:00 Morpheus meeting
  • Wednesday 9:30 VisTool walkthrough
  • Announded the URN victory
  • Compiled and burned release builds of other VISIBILITY apps.

11:00 – 12:00 FP

  • Meeting with Bill Shewbridge. Looks like studio time on Nov 20 or Dec 4. Preference for Nov 30.

Dong Shin 11.02.2012

  • added visibility_scripting to the list of databases for VSS
  • working on SQL queries
    • get_date_variables example
      • CALL `get_date_variables` (@p0 , @p1 , @p2 , @p3);SELECT @p0 AS `current_month` , @p1 AS `current_year` , @p2 AS `previous_month` , @p3 AS `current_month_str` ;
    • created a stored procedure to return date variables
      • CREATE DEFINER=`root`@`localhost` PROCEDURE `get_date_variables`(OUT `current_month` INT, OUT `current_year` INT, OUT `previous_month` INT, OUT `current_month_str` VARCHAR(25))
        BEGIN
        SET current_year = IF(MONTH(CURDATE()) > 9, YEAR(CURDATE())+1, YEAR(CURDATE()));
        SET current_month := IF(MONTH(CURDATE()) > 9, MONTH(CURDATE())-9, MONTH(CURDATE())+3);
        SET previous_month := IF(MONTH(CURDATE()) > 9,
        IF(MONTH(CURDATE())=10, 1, MONTH(CURDATE())-10), MONTH(CURDATE())+2);
        SET current_month_str := IF(current_month = 1, ‘Oct’,
        IF(current_month = 2, ‘Nov’,
        IF(current_month = 3, ‘Dec’,
        IF(current_month = 4, ‘Jan’,
        IF(current_month = 5, ‘Feb’,
        IF(current_month = 6, ‘Mar’,
        IF(current_month = 7, ‘Apr’,
        IF(current_month = 8, ‘May’,
        IF(current_month = 9, ‘Jun’,
        IF(current_month = 10, ‘Jul’,
        IF(current_month = 11, ‘Aug’,
        IF(current_month = 12, ‘Sep’, ‘ERR’))))))))))));
        END
    • queries to get current year, month, previous month, and month string
      • SET @current_year = YEAR(CURDATE()), @current_month = MONTH(CURDATE());
        SET @current_fy_month := IF(@current_month > 9, @current_month-9, @current_month+3);
        SET @previous_fy_month := IF(@current_month > 10, @current_month-9, @current_month+2);
        SET @current_month_str := IF(@current_month = 1, ‘Oct’,
        IF(@current_fy_month = 2, ‘Nov’,
        IF(@current_fy_month = 3, ‘Dec’,
        IF(@current_fy_month = 4, ‘Jan’,
        IF(@current_fy_month = 5, ‘Feb’,
        IF(@current_fy_month = 6, ‘Mar’,
        IF(@current_fy_month = 7, ‘Apr’,
        IF(@current_fy_month = 8, ‘May’,
        IF(@current_fy_month = 9, ‘Jun’,
        IF(@current_fy_month = 10, ‘Jul’,
        IF(@current_fy_month = 11, ‘Aug’,
        IF(@current_fy_month = 12, ‘Sep’, ‘ERR’))))))))))));
        SELECT @current_year, @current_month, @current_fy_month, @previous_fy_month, @current_month_str;
  • FGMDEV backup
    • ftp keeps timing out on the large file – svn dump…
    • created cron job to back up at 1AM

Phil 11.1.12

8:00 – 2:00 ESSO

  • We have our VizTool URN!
  • Looks like next week for Morpheus
  • Interview today?
  • Discovered a small bug today when deploying the new version. Although data tips for other items are able to use HTML, tips for pie charts don’t. Pulling out the offending code .
  • Talked to Dong about passing variables into SQL, and about creating some release builds to evaluate.
  • Burning a new disk

2:00 – 4:00 FP

  • More papers and HCC foundations

Dong Shin 11.01.2012

  • updated AS3Dictionary.xml to include common SQL’s
  • Use Variables CheckBox added to QueryEditor and modified table_queries to have variables have flag
  • fgmdev.com backup script is gone…. working on creating another
    • zip up all files under htdocs – zip -ru htdocs.zip /opt/lampp/htdocs/blogs
    • zipping up nexus (sonatype) take too long, may have to skip
    • backing up to fgmdev_backup directory

Phil 10.31.12

8:00 – 4:00

  • Backups and discussions with folks on site. Working on getting a meeting set up with the Morpheus folks.
  • fgmdev.com was down. Dong and I spent most of the morning trying to get it up. That you are reading this means success!
  • Working on adding color code. Incorporated and working nicely!
  • Checking code in
  • Burning a disk

Phil 10.30.12

10:00 – 12:00 ESSO

  • Still wet, but no wind to speak of. Cold – in the 30’s. We apparently got 80 mph gusts and I’d believe it.
  • Updated the WP engine for this blog.
  • Looking at some papers about User Interface/ Experience to see how the Alert Manager App should be built.

12:00 – 2:00 FP

  • Reading “Facilitators and Barriers to Adopting Robotic-Assisted Surgery:  Contextualizing the Unified Theory of Acceptance and Use of Technology”. I want to find a rule for User Interface adoption

Dong Shi 10.29.2012

  • working at home
  • continue working on SQLEditor for VSS
    • added method to run SQL string to server – SQLResult runSQLStrings(String databaseName, String sqlList)
    • added SQLResult.java to javaUtils – pom.xml is set to generate version 1.1, others are not using it?????
      • changed scriptingEngine and VisibilityScriptingServer to use 1.1
    • added methods to save and get list of SQLs

Phil 10.29.12

8:00 – 4:00 ESSO

  • So begins a very wet day.
  • Working on figuring out why coloring chart lines is so different from all the other charts. Going to try building a toy project with just one line chart in it and (maybe?) an item renderer.
  • Well that turned out to be easier than I thought.
	private function init():void{
		var hsb:HsbObject = new HsbObject(0x0000AA);
		var lsa:Array = new Array();
		lsa.push(createLineSeries("Profit", "Profit", hsb));
		hsb.rotateHue(40);
		lsa.push(createLineSeries("Expenses", "Expenses", hsb));
		hsb.rotateHue(40);
		lsa.push(createLineSeries("Amount", "Amount", hsb));

		_linechart.series = lsa;
	}

	private function createLineSeries(yf:String, dn:String, hsb:HsbObject):LineSeries{
		var scs:SolidColorStroke = new SolidColorStroke(hsb.getHexColor());
		scs.weight = 3;
		var ls:LineSeries = new LineSeries();
		ls.yField = yf;
		ls.displayName = dn;
		ls.setStyle("lineStroke", scs);
		return ls;
	}

The project files are here. There are two projects. The EdgeUtils project contains the HsbObject class.

Dong Shin 10.26.2012

  • added dbStoredQuery(String queryName) to ScriptFacades class
    • can run set of queries and return the last result in DbTable format
  • working on dbStoredProc – runs stored procedure in the database via VSS
  • working on QueryEditor in VSS

Phil 10.26.12

8:00 – 4:00 ESSO

  • Put in the paperwork for an URN
  • Pinged the Morpheus folks to see how we can integrate
  • Working on tracking down bugs and coloring lines
  • Discussed how to add SQL stored(?) procedures to VSS with Dong.
    • Need an editor to create and name scripts
    • Need some kind of macro substitution
    • Some of this is available in the dbObjects in JavaUtils and FGMUtils, using the classes that I wrote to create databases that map to Flex objects.
  • Fixed the bug that was crashing the column rendering in WidgetBase by adding a try/catch block and resetting the array of visibile columns. Not pretty, but it works.
  • Still trying to figure out how to change the color of a line. This seems to be the way: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7c52.html

Phil 10.25.12

8:00 – 2:00 ESSO

  • Got the following error:
  • RangeError: Index ‘2’ specified is out of bounds.

    [C:autobuild3.xframeworksprojectsframeworksrcmxcollectionsListCollectionView.as:529]
    at mx.collections::ListCollectionView/addAll()[C:autobuild3.xframeworksprojectsframeworksrcmxcollectionsListCollectionView.as:512]
    at com.edgeti::WidgetBase/listColumnsHandler()[C:PhilProject WorkspacesHelios_3.6 FB4.5_32_bit_Aug_2012GenericQueryWidgetsrcmainflexcomedgetiWidgetBase.as:236]

  • Backups
  • Status meeting
    • Dave wants a contingincy plan if the server goes down. Need to talk to Vernon about this.
    • Looked at integrating with Morphious.