Software Engineering Alternate Assignment
Summary:
This exercize will be in lieu of our regular thursday class on
4/19/2007. In it you will learn to use the lab environment here in the
lab. It is intended to take somewhat less than the time we normally
spend in class.
Details:
This project is best done as a group, but can be done as individuals.
First go to the lab and sign up for one of the four divisions of labor
for the project. The team whose project was selected should wait till
each group has made a selection or Friday at 5pm, which ever comes
first.
We will be implementing The list manager design since there were some
concerns about the learning curve in learning new languages in the
Niche Networker design.
Next go to one of the client machines (one of the old ugly white
computers) and login using your group's username and password. (hit
return if the machine and monitor are on and it doesn't seem to be
responding)
Congratulations, you've logged on and are probobly staring at an ugly
command line. first make sure there was no error message about not
being able to mount /NFS. If there was, send me the computer's name
(its on the top of the computer near the front) and move to another
computer.
Now if there was no errors, you don't want to be working solely from
the command line terminal. Thats no fun. Type startx at the prompt and
hit return. The windowing system will now start up. These are old
machines, this is a good time to get to know your groupmates better,
catch up on sports scorse or otherwise entertain yourselves for a
minute or two.
Now you should be staring at a screen with a standard menu in the lower
left and some icons on the desktop. Click the firefox icon. You won't
be able to get out of the local network (this is a quarantined network
since we have an experimental webserver) So you can either hit stop or
wait for it to time out. Now go to the website that we will
actually be working with. The server's ip address is 192.168.1.20
so go to
http://192.168.1.20/softwareEng/
This will bring up a default page that doesn't do anything that I've
put there are a place holder. Now you just need to fix this and you'll
be all set ;-)
In this class we will be using a version control system called svn.
There are both command line and graphical clients for this version
control system. The graphical clients that I've tried for the older
version of linux in the lab now have been a bit lacking. So we'll have
to use the command line client unless someone wants to find another
graphical client that I can install that will work nicely.
So open a command terminal. You can do this by clicking on the little
computer monitor icon on the bar at the bottom of your screen. I
strongly encourage you to change the default editor invoked. By
default, it is set to vim, which is obtuse to use unless you are a
system administrator or have been using unix since the '80s.
use:
export EDITOR=xemacs
to use xemacs, a graphical text and code editor.
For a full set of svn documentation see the svn manual. I'll walk you through some of the most important commands below though.
Central to these sorts of version control systems is the notion of a
repository: a place where all the files for a project will be stored.
I've already created a repository in the directory structure mounted
from the server /NFS. The repository is in /NSF/svn
If you want to begin working on a project, you will need to first check
the project out. To do that, you need to move to the directory that
will be the parent of your project directory. (perhaps your home
directory) Use the cd command to change your working directory. (if you
are ever not sure what a command does, you can type 'man
<command>' to get a man page. Omit the quotes and replace
<command> with the name of your actual command.)
Once you are in the place you want to work in, checkout the existing
project using the checkout command in svn telling svn where the server
repository is. In this case
svn checkout file:///NFS/svn
this will add a new subdirectory to your current directory called svn
(perhaps a poor project name, but it will do for now.) You won't need
to do this again.
Now move into your svn folder/directory. You will see a file called
index.html (and perhaps more files if you are not one of the first
groups).
One of the things that you'll need to do is add files into the
repository as you create them. So create a file. An easy way to do this
is to open xemacs and try to open a file that doesn't exist. So open
xemacs (type it at the command line) and then do a
<file><open> and type in GroupX.txt replacing the X with
your group number. Type in each of the members of your team who are in
the room and save the file. Now go back to the command line and add
this file to the repository.
svn add GroupX.txt
(replacing the X with your group number once again of course)
This tells the repository that this file is file is one you want it to
pay attention to, but doesn't actually upload the file to the server
repository. To upload the file you'll need to use the commit command.
svn commit
This will bring up xemacs for you to add a comment on the file you are
adding. Save the file and quite xemacs. svn will then check the file
in. Whenever you want to commit your files to the repository, just use
svn commit and add a comment describing the changes you've made since
the last commit.
Whenever you come in for the day, there is a good chance that other
groups have done some work while you were not there. To get all of the
file that have changed, use the update command in svn
svn update
This will give you the most up to date copy of all of the files in the repository.
After you have done this tutorial, you are ready to do the project so get started.