Thursday, October 20, 2011

Online Project Hosting!

Ever run into those situations when you've been put into a group and everyone's working on different parts of the same project, and then you run into problems trying to combine it all? For example, a component that one person took hours to edit being replaced with an unedited version from another group member, or certain parts of a project just magically 'disappearing', sound familiar? Well, for all those unfortunate souls that go through these lapses in communication, the all-powerful Google has a solution to your problems.

Google Project Hosting, which can be found here, is an online space where you and other collaborators can access and make changes to the group's project. A handful of useful tools for collaboration are provided, including an 'Updates' page that automatically shows when and where an update has taken place, a list of all members involved in the project, a wiki where instructions for files and other valuable information may be added, an 'Issues' page for posting problems regarding the project, and many other utilities.

With regards to handling different versions of files and updates, Google makes use of many different types of software designed to handle file revisions and controls, however with regards to this project, the software that we are using is called Subversion, which does a really good job at making sure every member is on the same page, and is considered an industry standard for collaborative programming. Basically, there is a master copy of the project, in this case the instance hosted on Google project hosting, and all members have a copy of that master copy in a folder on their computer.  When one makes changes or additions, one uses a Subversion client and "commits" their copy to the master copy, or in other words, replaces the master copy with their own copy.  Of course, before doing this it would be wise to make sure that the version you plan to upload does not have any errors in it and plays nicely with other components of the project, lest everyone be stuck with a faulty master copy. The Subversion client I used for this project is called TortoiseSVN, a free client that can be found here.

The site I created for this project can be found here: http://code.google.com/p/robocode-ari-dontshootihavecake/

Our objectives for this project were to create a hosting space using Google Project Hosting, where we would upload the code for our competitive robot. Setup didn't take long at all, and after entering basic information the site was successfully set up. The next step was installing TortoiseSVN, which didn't take too long either.  Unlike the SVN client for Macs which was featured in our class screen-cast and had a dedicated GUI for operations, Tortoise worked directly through the file directory, and was fairly intuitive to use. Before uploading my robot to the site, I had to make sure that my robot was working properly, and using apache ANT to verify my robot, once I made sure my robot would work, I created a fresh distribution and once putting it into the special folder on my computer for this site, I used Tortoise to commit my files to the online hosting space. This took a matter of seconds and was relatively hassle-free.

Upon uploading my files, I looked around the site and noticed that my actions were promptly noted within the 'Updates' and 'Changes' sections, easily visible to other collaborators. Looking in the 'Source' section of the website, I saw a directory containing all of the files from my distribution, which can also be seen by other members.

After getting acquainted with Google Project Hosting and Subversion software, I must say that this makes it a lot easier to collaborate with others on group projects, and is less of a hassle then having to email individual files or drag-and-drop out of flash drives. My experiences with these tools went pretty smooth, and I would definitely use them when working in groups on codes (Which I have a feeling we might have to in the future).

No comments:

Post a Comment