Blog

Work Completed

  • KISTI Project
    1. Created a storyboard using Wireframe Sketcher for the KISTI project. The storyboard included screenshots and text detailing some potential User Interfaces and text describing their functionality.
    2. Received preliminary feedback from Al Rossi regarding storyboard
    3. Jong and I will try to meet with Al and possibly Luigi and/or Rob this week to discuss data management issues when running jobs on the supercomputers and how we can utilize tupelo to begin transitioning some of the PTPFlow stuff to use Tupelo, where it makes sense with the final goal of having the KISTI project use as much from Tupelo as we can provide to enhance their experience and capabilities.
  • MarketMaker - Met with Jong and Luigi using Google chat and Dimdim to discuss the MarketMaker plan to move forward.

Work Planned

  • Work on KISTI project, develop some new UI concepts based on experiences with PTPFlow, MAEviz and discussions with Jong on how we expect users to work with the new software.

Comments

This week I was focused on creating a storyboard for the KISTI project so we can solicit feedback from Al Rossi and KISTI. Next week I will continue to focus on KISTI and Marketmaker splitting my time as Jong requires it.

Work Completed

  • KISTI Project
    1. Obtained the CFD source code from Jong and successfully launched jobs using Globus on the Teragrid machines.
    2. Installed PTPFlow and started learning how to use it to launch jobs on Teragrid. I ran into an issue where an Ubuntu update broke the ability to launch the RMI service of PTPFlow. I debugged the process and sent my results to Al Rossi. I eventually had to roll back the Java update that Ubuntu did because something had changed and I could not track it down. Al knows about it and hopefully can shed some light on the issue this week.
    3. Added more text to the KISTI document of Use Cases after meeting with Jong. I also added some screens using Wireframe Sketcher to capture the text describing starting a new scenario/project and what basic steps the user should be guided through based on my experience using PTPFlow and any difficulties I ran into.

Work Planned

  • Work on KISTI project and launching jobs using Globus command line and PTPFlow

Comments

This week went as planned. Next week Jong and I will discuss with Al some of the issues we had running PTPFlow and launching the CFD job using PTPFlow.

Work Completed

  • Marketmaker
    1. Edited integration plan for our Marketmaker prototype and the current Marketmaker implementation, the plan discusses how we could integrate our technology with theirs.
    2. Tested out current marketmaker version and opened Jira issues (MM-134, MM-135, MM-136). MM-134 deals with adding GWT.log statements where there are currently only stacktrace prints in the code. This will be useful for debugging any future issues that come from marketmaker users. MM-135 deals with IE8 and one or two other browsers drawing point data black and ignoring styling information. MM-136 deals with point data floating on the map until another layer is changed or turned on/off, this issue is only see in in Chrome and Safari.
    3. Resolved MM-135, this issue is now fixed.
    4. Worked on MM-136, I narrowed this issue down to a problem with using a google map as the background layer, if yahoo maps is set as the background layer, the problem does not occur, a map option for Google Maps as the background layer must not be getting properly initialized, some more work will need to be done to eliminate this mapping problem.
  • KISTI
    1. Obtained and activated Teragrid account, logged into the system and obtained a grid certificate.
    2. Teleconference with Shawn and Jong on April 21 to discuss our ideas for going forward with the KISTI project and what Shawn had in mind before he left.

Work Planned

  • Work on Marketmaker go forward plan and test current marketmaker to open issues that will need to be addressed as part of the deployment of the software
  • Work on KISTI project if I get a teragrid account before the end of the week. Also, we plan to talk with Shawn to get his thoughts on what he had planned for KISTI and to see how it meshes with Jong and my thoughts for possible ways to move forward.

Comments

This week went as planned. Next week I will continue working with Marketmaker and addressing issues, I'd like to get the logging implemented. I also intend to run the CFD code on teragrid to get familiar with running jobs there and how to run jobs through PTPFlow.

Work Completed

  • MarketMaker
    1. MM-127 showing the summary table created extra white space at the bottom of the web browser. This issue is fixed
    2. Closed remaining Marketmaker issues that had been fixed previously MM-99 and MM-124
  • KISTI issues
    1. Released version 0.4 of MarketMaker
    2. KNSG-2 - setup SVN repository and establish trunk/branch/tags directories.
    3. Created google document to gather ideas for KISTI project, including features/views from current/past projects that might be interesting to use for the KISTI science gateway. Projects that were looked at include MAEviz, PTPFlow and Bard/Medici. I shared this document with Jong and briefly talked with Shawn to get his thoughts on possible directions he was thinking about before he left for PNNL. I downloaded Medici source code and started to use it briefly to understand what Bard pieces were being used in the project.
    4. Created plugin edu.illinois.ncsa.kisti.sketches for storing design sketches.  I also created a simple mockup with wireframe sketcher to start thinking about what the application will look like.
    5. Attended Friday morning KISTI meeting using google voice chat

Work Planned

  • Finish remaining Marketmaker issues and release version 0.4
  • Start brainstorming ideas for KISTI science gateway project.
  • Attend Friday (April 16, 2010) KISTI meeting using google voice chat.

Comments

This week went as planned.

Work Completed

  • Worked on MarketMaker project
    1. MM-99 - change existing table model and table widget to use a google incubator widget called PagingScrollTable that includes a tablemodel. This work took a few days to convert everything to the new model. We improved the performance of the application by upgrading an OpenLayers class that allowed for bulk loading of selected features whose attributes are then displayed in the table. It limited the number of rendering calls for the table.
      1. MM-85 - the new table mode allowed us to limit the number of visible rows per table page to avoid long scrolling tables.
      2. MM-118 - changed the census table to use the new table model and table widget for display
      3. MM-119 - added a summary option to the table widget panel that allows users to get a summary of the table attributes. This replaces the old separate panel we had that always calculated and showed statistics in a separate tab. Users can now select a summary on demand that is displayed in a popup window.
      4. MM-124 - allow users to change the visible columns.
  • No substantial work was done on KISTI this week.

Work Planned

  • Work on MarketMaker project, deadline for completion is set for April 15, 2010.
  • Work on learning tools for KISTI project if time permits.

Comments

This week went as planned.

Work Completed

  • Met with Al Rossi and Jong Lee for a Siege/Elf/Ogrescript workshop in Champaign on Wednesday, March 31, 2010.

Work Planned

  • Meet with Al and Jong for Siege workshop

Comments

This week went as planned. I took personal days on Monday, Tuesday, Thursday and Friday.

Work Completed

  • Worked on MarketMaker
    1. MM-105 - enhanced the SelectFeature class of GWT-OL to allow adding multiple vector layers since the OpenLayers class has the capability of selecting from multiple vector layers.
    2. MM-34 - added capability to display and select/deselect census tracts with a single click. A GWT-OL bug prevented this feature from working even though it worked in pure Javascript. MM-110 addressed the issue with a workaround.
    3. MM-110 - Create UI widgets to turn on/off single click and box selection of features.
    4. MM-111 - bug, users could select census tracts even if the layer was turned off.
  • Tested Marketmaker before release to find bugs.
  • Read through Al and Shawn's documentation on Siege, ELF, Ogrescript, etc, tools that will be involved in the KISTI project. Downloaded the Siege and Elf plugins and launched Siege 3.0 to familiarize myself with the tool and it's capabilities.
  • Released Marketmaker version 0.3 on Wednesday as planned.

Work Planned

  • Work on Marketmaker project for Wednesday release of version 0.3
  • Read through documentation of Siege/ELF/Ogrescript for KISTI project.

Comments

This week went as planned. I intend to take 3 days off next week (March 29, 30 and April 1st).

Work Completed

  • MarketMaker (resolved/closed issues)
    1. MM-26 and MM-37 - The first issue involved the display of common map services such as Google/Yahoo/Bing for the MarketMaker mapping tool; however, Bing maps had no wrapper classes in gwt-openlayers and I could not determine what the issue was in wrapping the classes required. I found some new information and wrapped the Bing map classes (MM-37) and resolved both issues. Users can now choose which map service they want to display in the background.
    2. MM-77 - I decoupled the control functionality for the background layer and the actual changing of the map layer to a separate class that listens for change events.
    3. MM-78 - Similarly for the census layer, I decoupled the control of the layer from the manipulation of the layer.
    4. MM-79 - Added an option to the tablemodel to not display column names for data being displayed in table format that does not require the headers.
    5. MM-81 - The business layer visibility was inconsistent with the UI control. I changed the layer to start out as not visible since no businesses display by default and when a user performs a query that adds businesses, a UI event fires to change the visibility and synchronize this change with the control widget.
    6. MM-83 - Changed the default background map from the Yahoo map to the Google Hybrid map.
    7. MM-93 - Fixed a bug where opacities were being set outside the range of 0 - 1 and IE 8 would not load the application.
  • I also worked on testing the software this week to determine areas of possible UI improvements. I made Jira entries for bugs, improvements and new features that would improve the software usability.
  • Attended part of the MarketMaker meeting on March 16 at 1:30pm, google-chat went down partway through the meeting so I missed the demo and discussion that Jong had with the MarketMaker folks.
  • Attended Friday, 1pm CET Meeting via google chat

Work Planned

  • Work on MarketMaker project. Jong and I have meetings on most mornings either through IRC or Google Chat to discuss upcoming tasks.
  • Attend CET Staff Meeting
  • Attend MarketMaker meeting

Comments

This week went as planned.

Work Completed

  • MarketMaker (resolved issues)
    1. MM-60 - display business query results in a flex table displaying business name, address, web address, etc
    2. MM-61 - related to previous issue
    3. MM-64 - bug with selection and highlighting between tables and the map, the user could end up with two selections overlapping
    4. MM-65 - related to MM-60 and MM-61, when the table is rebuilt there are blank rows added to the table.
    5. MM-70 - box selection in the map sometimes draws in the wrong part of the map (map update issue)
    6. MM-71 - the layer containing the highlighted census tracts is not removed when the census tracts are removed
    7. MM-72 - disconnect between the business display layer and the control widget, the visibility of the businesses was not being controlled by the control widget as new business types were queried.
    8. MM-73 - highlighting businesses stopped working after the initial query
    9. MM-76 - when a business is selected, it is highlighted and a popup shows information, this did not always clear when a new selection was made. A state could be obtained where the business was unselected and the popup remained in the map, or the marker remained in the map.
  • Meeting with Jong almost daily to determine our daily tasks
  • Released and Tagged version 0.2 of MarketMaker

Work Planned

  • Release and Tag MarketMaker v0.2
  • Meet with Jong to discuss daily tasks

Comments

This week went as planned. I took half a day off for a Doctor's appointment on March 9th.

Work Completed

  • Finished MM-35, displaying multiple census tract information in an attribute table and a summary table (e.g. attribute min, max, avg, etc). This also involved MM-46, displaying information using a table and tablemodel to handler table operations and MM-43, getting feature information from the vector data on the geoserver instead of the wms layer.
  • Fixed MM-49, a bug where the popup window no longer displayed when clicking on a business. This also involved fixing MM-50 where a new layer was created when a new business query was used to generate display results. The SelectFeature class which handles selection in OpenLayers no longer had an reference to the current business feature layer.
  • Fixed MM-51, a bug where the selection point was larger than the point being selected (mismatched radius of the circles).
  • Fixed MM-53, the business layer control in the layer control panel did not control the visibility of the correct layer. This was caused by the index of the layer being incorrectly specified when creating the control.
  • Finished MM-54, selecting a row in the attribute table should highlight the corresponding census tract in the map. This also involved MM-42, Event Bus design. We can simplify event handling by using GWT event bus. I discussed briefly with Jong and Luigi using google chat about Luigi's implementation versus what I had done to make sure that our usage of the event bus was correct and he agree with our implementation. I also requested from Rob to have read access to MMDB so I could get an idea of how they were using the Event Bus in the MMDB project.
  • I started looking briefly at dynamically resizing the map to fill the browser window space MM-56. I'm not certain if we should try to dynamically adjust the map to the window since a view that is too small is not very useful so perhaps we should consider determining the client viewing area and grab some percentage of that space and make that the size of the map widget. I will discuss this issue with Jong.
  • Received access to KISTI supercomputing account for the KISTI project

Work Planned

Comments

This week went as planned.

Work Completed

  • Morning meetings with Jong with google chat to discuss each day's tasks.
  • Looked into MAEviz issue for Sheng-Lin and discovered a small bug in MAEviz. I still need to file this bug and issue a patch. The problem arises from the scenario earthquake not recording the site-class specified by the user as default. This is only discovered if you go back and re-run the earthquake analysis with the saved scenario eq and if you changed the default site class. The initial run is fine because the EQ settings are in main memory.
  • Completed MM-38, wrapping the OpenLayers JavaScript mergeNewParams method of the WMS layer.
  • Wrapped the ClickHandler from the OpenLayers so that feature information would display on a single click of a feature and double click would recenter and zoom, MM-34.
  • Worked on MM-43, replacing our GetFeatureInfo (WMS) requests with GetFeature (WFS) requests using box selection to replace the single-click only selection. This issue is tied to MM-34 since the single click of the feature initially used WMS calls to obtain feature information. One issue I have been unable to track down thus far is my GetFeature control should allow users to use box selection and single-click; however, I have only been able to get this to work in pure JavaScript. Single click events don't seem to be getting propogated back to the wrapped objects to handle. We have tabled the single click for now, but will return to this issue shortly to resolve it.
  • Worked on MM-35, displaying a summary table of census tract information when box selection is used to select multiple tracts. A first cut is available that displays min, max, avg and sum for each variable. Some work remains on this feature and I will work on them next week.

Work Planned

Comments

This week went as planned. Next week we'll continue working to finish some of the above features for the MarketMaker project and possibly starting the KISTI project.

Work Completed

  • Discussed MAEviz Hazard implementation with Sheng-Lin, a graduate student of Amr's, by email. I sent several documents explaining how the Next Generation Attenuation functions are implemented, the assumptions made and how uncertainty is calculated.
  • After discussions with the MarketMaker team, Jong says they are interested in taking our work further than a prototype so I helped to craft an email to them suggesting a new timeline that allows for alpha and beta testing before taking the web-mapping component live.
  • Finished MM-30; however I have commented it with a bug for one of the popup options (FramedCloud), it does not execute the callback function so when a popup window closes the associated feature is unhighlighted. The normal Popup class works fine so we are using that (FramedCloud is simply a prettier version with rounded vs. square edges). I emailed the GWT-OpenLayers mailing list and am awaiting a response. I will not dig in further at this point since we have what we need with Popup.
  • Finished MM-29, I wrapped 2 of the OpenLayer strategies (BBox and Cluster), there are more strategies so we can open additional Jira tickets if they are needed in the future.
  • Started MM-36, I am almost finished, but have run into an issue with their Style implementation, as noted in their comments it's not quite correctly wrapped and I have been unsuccessful getting it to accept and use my style rules. I will continue looking into it this week and might have to wrap the Style class of OpenLayers myself so I can expose it's functions through a Java API.

Work Planned

  • Meeting with Shawn to understand where Bard's development stands before his departure.
  • Work on MM-30 - adding Popup capabilities to MarketMaker to provide feature details (e.g. business information, cluster information).
  • Work on MM-29 - wrap the OpenLayer strategies like Bounding Box and Cluster.
  • Work on MM-36 - wrap the OpenLayer Filters for using comparison rules to style features. This is a sub-task of MM-25 where we want to switch from WMS to WFS for census tracts (wfs contains attributes, wms is simply an image). To style the census tracts we need to filters.

Comments

This week went as planned. I took a personal day on Monday February 15, 2010.

Work Completed

  • Attended DimDim web meeting with Shawn and Jong to discuss the MarketMaker and KISTI projects and what I should work on for the week.
  • Added KISTI SOW to KISTI project wiki as separate pages
  • Ran MAEviz to create overlay image of building inventory, transportation network and small 3.8 magnitude earthquake that hit outside of Chicago on February 10, 2010. I also discovered a minor issue with the CEUS attenuation that I discussed briefly by email with Glenn Rix and Josh Steelman. Frankel et al 1996 uses coefficients for set magnitudes and interpolates between magnitudes; however, the lowest earthquake magnitude it has is 4.4. It was throwing off the values from the CEUS attenuation since it carries 25% of the weight. Glenn suggested a simple methodology to interpolate down that I will add to MAEviz to fix the issue. I used the Rix attenuation for the overlay I created.
  • I investigated the possibility of using GWT-OpenLayers, a library that wraps OpenLayers, a JavaScript library, that we intend to use with the MarketMaker project. The GWT-OpenLayers library has only wrapped the functionality they require and it is a small community supported project that continues to wrap the OpenLayers library for use with GWT, but it has a ways to go. I was able to wrap the parts of OpenLayers we needed to recreate most of our current HTML/JavaScript mockup that we have thus for for MarketMaker so I believe we will be able to use the library and wrap any additional parts we require.
  • Attended DimDim web meeting on Friday afternoon with MarketMaker folks to get their feedback on current prototype mockup. They seemed very please with what we have accomplished thus far and are excited about where we can take the web mapping tools.
  • Setup the project layout in Subversion so I could check in the GWT-OpenLayers wrapping code and the Marketmaker mockup code that I wrote.

Work Planned

  • Meeting with MarketMaker folks to discuss prototype mockup
  • Work on MarketMaker project, investigate GWT-OpenLayers for possible use with MarketMaker.

Comments

This week went as planned. I did a small amount of MAEviz work/usage with the earthquake that occurred on February 10, 2010.

Work Completed

  • Created new image of MAEviz field mapping. The old image used fields that already matched which could be confusing to a user. This new image replaced the old one on the MAEviz wiki.
  • Meeting with Jong to discuss Market Maker and how we should proceed.
  • Worked on Market Maker issue with loading WFS feature layer in OpenLayer canvas MM-23. The problem was that we were making XMLHttpRequests which are not allowed if the domains do not match. The fix required us running a proxy that MarketMaker provided so the request could be motified to match domains. After doing this, we successfully loaded features from our geoserver onto an openlayers canvas.
  • Worked on MarketMaker issue MM-25. When loading WFS data from our Geoserver, we need to be careful with the amount of XML transmitted because a large number of features could cause the browser to crash. OpenLayers has a feature for displaying layers by zoom level so using this, we display census tracts as an image (from WMS) until the user zooms in to a small enough area and then we switch over to displaying the census using features (from WFS). I will look into this issue further to see if we can determine display based on the number of features that would be visible in the bounding box.

Work Planned

  • Work on market maker project (this will be the majority of my time for a while)
  • Work on data catalog, time permitting.

Comments

This week went as planned.

Work Completed

  • I received an email from Sheng-Lin, one of Amr's graduate students, asking about importing building and hazard data into MAEviz. I answered their question and will assist them further if needed. They are doing a single building analysis using MAEviz.
  • Updated wiki pages for Market Maker project.
  • Tested connection to Jong's PostgreSql using Quantum GIS to connect and retrieve data.
  • Finished basic framework for exporting data catalog models. I successfully used the process to export a ShapefileBean logical model's DBF table and checked the code in to SVN. Next week I will update the few model types we have in the DC to support export as well (e.g. file bean, file collection bean, etc).
  • Reviewed some text for KISTI statement of work.

Work Planned

  • Work on ERC Thrust text if needed
  • Work on Market Maker Project
  • Work on Data Catalog export functionality

Comments

This week went as planned. I took a personal day on Monday, January 25th.