Monday, October 6, 2008

Configuration Management lab

Introduction
On Wednesday October 6, 2008, the class got more practice working with configuration management and Google Projects. The assignment also involved more pair programming as we performed updates and commits to the respective sites.

The lab
The assignment involved more pair programming, because I had wrapped up the first configuration management tasks over the weekend I was partnered with Arthur Shum, who also finished the exercise. The lab had Arthur and I doing similar tasks as the previous configuration mangement assignment. Since our project sites were already set up it was just a matter of adding each other as a member, downloading and modifying the code. After doing a brief scan through Arthur's code the best thing to do was modify the JavaDocs. The point of the exercise was to get acquainted with Google Projects Hosting and Subversion, not hack our partner's stack implementation. Arthur added the .classpath and .project he also modified the verify.build.xml in stack-arakaki project.
Made an interesting discovery with Eclipse while working on the lab. When importing a project into Eclipse, the sub-directory being worked on does not transfer to the application's workspace. So there is no need to change directories when verifying and committing a project.See the screen shots below to get an example of Google Project Hosting in action.


A screen shot of SmartSVN with an update of stack-arakaki.


A snippet of changes to Arthur's TestClearStack.java, notice the JavaDocs.


Arthur's stack project update page after a commit.


A posted update from Arthur's stack discussion group, notice the changes made to the JavaDocs.


A snippet of a posted update from Daniel's stack discussion group, Arthur added .classpath, .project, and modified the verify.build.xml to the project.

My thoughts
Before taking ICS 413 and working with a configuration manager any alteration of source code was either overwritten or saved along with ten other copies of the same file that took up space on the hard drive. If I was programming a project with a partner the code would be exchanged via email and I assume their method of file management was about as good as mine. So having a tool like Google Project Hosting and Subversion is a real treat because I would hate having to deal with a project that has fifty different classes and over ten thousand lines of code. Keeping track of all of those files without configuration managment is dangerous and complicated. Files could get lost, overwritten, or not updated.
The programs I have worked thus far have been small and easy to manage so the need for configuration management was unnecessary. However, as projects become more complicated I appreciate that we have access to Google Project Hosting and Subversion so we can focus on the programming.

Conclusion
No frustrations with this assignment, things went smoothly and without complications. It was a good exercise in the sense we got more practice with updating, modifying, and committing source files using Subversion.