Tuesday, April 15, 2008

5th Sprint Summary

Last week we finished our 5th sprint.

In the last sprint Ikram was trying to build the GUI for the control panel. So it would be possible to add/remove projects without getting into the XML configuration file. It's also possible to modify the project information (project ID, name, etc) as well as the query to get data from the database.
The plan is also to enable add/remove existing components. It should be possible for the admin to choose which components to be displayed.



And last week I was struggling to adjust the design. The initial plan was to make ActionScript (Actionscipt) classses that mapped CFC objects (remote objects). The properties of the remote objects therefore can be easily accessed from the AS classes. I have read lots of information from Forta Blog, Jeffry Houser Blog, and this simple checklist.
But it didn't work... -_-!

I don't know why the mapping didn't work. It seems Flex recognize the AS object as a common object, and not a mapped object from CFC. The temporary solution is to use ActionScript class as a static object that can be shared within the MXML classes.
But later on, we need to tidy up and do some refactoring, because I believe this is not the best solution that we can do.

Another design issue is about the Project Overview page. This page should calculate and display the score of each project. We were trying to use a global actionscript class that hold all the data from various remote objects. But since the mapping doesn't work yet, and using the static object will make it worse, our Scrum master suggested KISS (Keep It Simple, St**id!) ^.^ by getting the data directly from remote objects. We were a little bit reluctant at the first time, since we need to call at least 3 remote calls to the database. But actually, we do the same thing for every page, so there would be no different! The data wouldn't show up immediately, there would be about 2-3 seconds loading time, which is quite reasonable for 30-40 seconds interval time per page.

Project Scoring
Yesterday, Ikram finished with the logic for the project scoring. He already passed the most challenging part -- getting the component data per project and convert it.
Last time, we were struggling to get the project info using remote calls. The remote call was successful and we place the value into a local variable. But strangely, if we call the variable in the init() method, it returns 0 or null. We have checked that the remote call is called before we use the variable, but it still returned 0.

Ikram came with the solution by moving the RemoteObject tags before the Script tags. We don't really know why it works, since the remote call is still called within the script tags. Probably, the RemoteObject tags have something to do with establishing remote connection. We are not quite sure .... but IT WORKS !! :p

1 comment:

Eric D. Schabell said...

Aaah, goed ol' KISS to the rescuse again! ;-)