Monday, December 8, 2008

Portfolio is in ICU now

Actually, Portfolio is not in ICU at all. On contrary, it is in its best shape ever. It is just a kidding and the thing I want to say is that I decided to name my research on Portfolio as Software ICU, which is used in the ICS 413 class that I do my research on.

I have spent most of the past week on the issue sensor. It is mostly done now, as I believe. But I did not test it yet, neither manually nor via JUnit. I will test it manually in the coming days and make an intial release. As there is no way to run a Google Project Hosting locally, the only way to make an unit test is by using the public Google Project Hosting. Though we have less control of data than running a local server, the data in a certain period of time seems consist while there is no obvious way to change history data in Google Project Hosting (Unless some one hack it within Google, which is extremely impossible).

Now the sensor collect the following data:
  • Author - The author of the issue will become the owner of the sensor data.
  • Issue Number - The issue number in Google Project Hosting.
  • Update Number - The number of update of the issue. If the issue is just created, it will be 0.
  • Status - Actually this may better to call new status because it record the new status in the change, if the status is unchanged, this Status will be empty.
  • Issue link - The link to the page of this issue on Google Project Hosting website.
  • Comment - The comment user make, if any.
One major problem is that, from the issue updates Atom feed provided by Google, there is no way to extract the current status of the issue such as status, priority, types if they are not changed in the issue change event. There are two way to extract these data. The first is to retrieve the issue's page. The link of the page is collected in the sensor, so there is no trouble to locate the page, however, the page always represent the newest state of the issue, which may not equal to the state the sensor data represents. The other way is to get data from Google posting sent by Google Project Hosting. The posting will keep track of all change along with the initial state. It is ideal for make sensor data, but it require more work to setup the google group.

In a second thought, the Google Group posting approach seems somehow better. If switch to this way, there is no need to use the issue updates Atom feed any more, and all data can be extract from the postings. I will see into it later.

Tuesday, December 2, 2008

Portfolio enahcement and thesis draft

Sortable table columns have been implemented. I implement this by making measure headers links that sort the internal data model according to the specific measure. It is accomplish somehow hacky because the internal data model store a list of MiniBarChart under each project and there is no name in the MiniBarChart instances. These MiniBarChart instances are generate from Telemetry stream data and the orders of the Telemtry analysis are identical in every project. Therefore, the sorting unit is not defined by name of the measure, though user think it is, but by the index of it in enabled measure.

After the intensive implementation of features of portfolio page, I took a small break around Thanksgiving. Then I work on the thesis. The draft of my thesis can be found here.

In the coming week, my major coding effort will be put on issue senor. The first experimental version should be available by the end of this week.