Friday, April 10, 2009

ICS 499: Data in the Scoreboard

Introduction
This week's milestone requires us to implement real data into Devcathlon.

Digging for Match Data
I initially took on the task of implementing the Initialization class which is used to create data to test Devcathlon. However, I encountered a set of issues that prevented from finishing the application.
  • Could not connect with the host (Sensorbase).
  • Did not have data to work with (User data).
Not being able to connect to the sensorbase was not too bad there were ways to workaround that issue. Not having the data was the bigger problem because the system needs information for it to work. Once the group figured out a direction which included sharing data: names, emails, and passwords. It should be noted the passwords are retrieved locally and not accessible to the public.

Retrieving data for display.
A lot of the implementation in Devcathlon is the digging for data. Every aspect of the system has data: matches, teams, users, and events its our job to pull out the info for display. Retrieval is fairly simple, Hackystat and Devcathlon APIs have the needed methods for extraction. The interesting part of the development has been the display of information using Wicket. Throughout Devcathlon the info needs to be presented as a link using the snippet.
 
        item.add(new Link("MatchLink") {
          private static final long serialVersionUID = 1L;

          /** Upon clicking this link, go to Match page */
          @Override
          public void onClick() {
            try {
              setResponsePage(new MatchDetailPage(mItem));
            }
            catch (Exception e) {
              // if there is an exception error
              e.printStackTrace();
            }
          }
        });
The code sets a Match name as a link and directs to the match detail page.

Page Layout with CSS
One of the challenges I have been encountering with the development is the layout design of the scoreboard. To the dismay of some of my teammates I have been using Devcathlon as an opportunity to learn html and css. The process has been painful at time however, I am learning about inheritance and how changing one value in one page can affect the layout in a different page.

Conclusion
The group got hit pretty hard with Milestone 3 due to a lack of sufficient progress. I think Milestone 4 will be an improvement and I think we built pretty neat system thus far.