The next steps are necessary in creating a directory structure optimal for the use of the Ambient Eclipse Plugin. CVS also needs to be set up, with the CVSROOT in the same directory as the destination folder that will be given to the scripts as a parameter. The students can then set this CVSROOT in the Ambient Preferences menu.
  
1. First script to be run is: SETUP FOLDERS (setup_folders.sh)
•	3 parameters: class name, class parent folder (destination folder), student file
•	Creates a directory in the destination folder with the name of the class
•	Creates a permission group with all the students from the student file
•	Can be run from any directory as the user specifies the destination file

2. The next script to be run is SETUP PROJECT (setup_project.sh)
•	3 parameters: project name, class name, class parent folder (destination folder)
•	It creates a subdirectory in the class folder with the specified project name, and it also creates a “.skeleton” subdirectory in the project folder
•	It sets the permissions for the project and the skeleton folders
•	Can be run from any directory as the user specifies the destination file

3. The next script to be run depends on the type of project you would like to set up. It can be an individual project or a group project:  
SETUP STUDENTS (setup_students.sh)
!!!WARNING!!! This script is for setting up an individual project. It populates the project folder with individual student folders. NOT for group projects
•	3 parameters: class name, class parent directory, project name 
•	Creates individual directories for the students in the student file (from the students directory under the course folder) for the project specified
•	It also sets the permissions for the individual student directories
•	Can be run from any directory as the user specifies the destination folder
SETUP GROUPS (setup_groups.sh)
!!!WARNING!!! This script is for setting up a group project. It populates the project folder with group folders. NOT for individual projects
•	5 parameters: class name, project name, class parent directory, student file, group size. 
•	!!IMPORTANT!! A professor can have several student files (e.g. groupsof4.conf, groupsof2.conf, etc) and run the scripts several times creating different size groups.
•	Creates small groups of the students specified in the student file and sets up a group directory for the specified project. Example of group created: profID:group.of.4.no.2.cps100.huff is the afs groupID for the 2nd group of 4 students working on huff in cps100. 
•	The group folder name is set up using their studentIDs separated by “.” 
•	The groups are formed in the order the students are in the student file. 
•	Can be run from any directory as the user specifies the destination folder

Other scripts to be run:
ADD STUDENT/ADD STUDENTS (add_student.sh/add_students.sh)
3 parameters:  student name/student file, class name, class parent directory
•	For use when the class folder and project(s) have already been set up
•	Adds the student to the class permission group and creates individual folders for all the projects directories present in the class folder 
•	The user specifies the destination course name and directory
•	The user specifies the name of student to be added or use a file containing several student names
•	Adds the student to the class permission group and creates individual folders for all the projects in the project file (projects.conf)

REMOVE STUDENT/REMOVE STUDENTS (remove_student.sh/remove_students.sh)
3 parameters: student name/student file, class name, class parent directory
•	Removes the student from the permission groups and deletes all the student’s directories from all the projects present in the class directory
•	The user specifies the destination course name and directory
•	The user specifies the name of student to be removed or use a file containing several student names

DISABLE PROJECT (disable_project.sh)
1 parameter: project directory path
•	It disables their writing permissions for the project directory
•	Can be run from any directory as the user specifies the destination folder

TO PUBLISAH A PROJECT:
There are two options:
1. The PUBLISH_PROJECT script (publish_project.sh) 
!!WARNING!! Assumes the existence of a CVSROOT and that the course directory is on the same level as the CVSROOT directory. The CVSROOT variable MUST BE set to the parent of the course folder, the same CVSROOT that the students are using in the Ambient Preferences menu. 
•	3 parameters: course name, project name, files source folder
•	source folder contains the files you would like to provide to the students when they check-out this project
2. You can also use the PROF Eclipse Plugin that will allow you to publish a project from your Eclipse Workspace.  

OTHER INFO:
A student user id file is provided (students.conf) as an example. 