Project delivery

This document describes a suggested standard for delivering Beowulf-related projects, so that they can be retrieved, examined, extended, etc., by others.

Names
The following name will vary depending on a particular project.
 * projdir
 * a subdirectory of  designated for containing materials for your project.  Consult with Prof. Brown to receive one of these "designated names."

Source code
Source code should also include Makefiles and other auxiliary files for building your software. To create a tarball of code: Here,  is the directory that contains your main code directory, and   is the name of your main code directory.
 * 1) Make sure there's a comment at the beginning of each source file (or Makefile, etc.) that describes the author(s), purpose(s), and approximate date(s) of that file.
 * 2) Create a file   in your main code directory that lists each source file and briefly describes it's purpose in the project.
 * 3) * If your main code directory has subdirectories,'' you may describe source files in those subdirectories in the main directory's, or you may make a separate   for that subdirectory (in which case, include a line describing that subdirectory in the main directory's  ).
 * 4) * If your project has more than one disjoint main code directory,'' create a  for each.
 * 5) Create a tarball or   of the code for each main code directory, as described below.
 * 6) Copy your tarball (or   file) to projdir
 * Java users may create a  file instead---but be sure to include the source files in your.

Documentation

 * 1) Copy documentation items to projdir.  If there are many items of documentation (e.g., Javadoc output), create a subdirectory projdir/   to hold that documentation, instead.
 * 2) Create a "master"   file for your projdir that describes each item (file and subdirectory) in that projdir.  For each item, briefly describe its purpose and indicate its author(s).

Data
In the "master" :
 * 1) Indicate what your source data was, and where you obtained it, identifying its current location on a cluster file system, a Hadoop DFS or another St. Olaf file system.  Include URL from which you downloaded it if possible/appropriate.  Example DFS location:  .  Be sure to indicate which cluster your data is on.
 * 2) Write the locations of your result data, indicating its path on a cluster file system, on a Hadoop DFS, on a database management system, or another St. Olaf file system. Be sure to indicate which cluster your data is on.

Presentations

 * 1) Put a copy of your slides in your projdir in PDF and/or PPT format. Put a copy of your original format if possible (if that's different than PDF or PPT).

File protections

 * 1) Carry the following steps out on a CS link computer, whenever you add something to your projdir:

Note: The command with  changes protection for any subdirectories, so it won't make any changes if you have no subdirectories. Be sure to use "backtick" characters ` around that  command, not ordinary single quotes.

This will not affect files that you don't own (e.g., files that others copied to projdir). Each file owner needs to carry out these protection commands.

This will give read access to everyone, and web access on campus at St. Olaf. If you don't want this level of accessibility, use 660 instead of 664, and 770 instead of 775; however, this will prevent people other than the creator of those files and people in the project directory's group.