File:  [LON-CAPA] / capa / capa51 / UPGRADE.txt
Revision 1.2: download - view: text, annotated - select for diffs
Wed Aug 30 15:02:30 2000 UTC (23 years, 7 months ago) by albertel
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, version_0_99_3, version_0_99_2, version_0_99_1, version_0_99_0, version_0_6_2, version_0_6, version_0_5_1, version_0_5, version_0_4, stable_2002_spring, stable_2002_july, stable_2002_april, stable_2001_fall, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, conference_2003, bz6209-base, bz6209, STABLE, HEAD, GCI_3, GCI_2, GCI_1, CAPA_5-1-6, CAPA_5-1-5, CAPA_5-1-4_RC1, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
- documentation updates

	
	   		Upgrading to CAPA 5.1


--------------------------------------------------------------------------------

READ ALL INSTRUCTIONS BEFORE PRECEDING WITH THE INSTALLATION.

Please go to http://capa.msu.edu/mailman and subscribe to the CAPA Announce 
email list.  Anyone interested in receiving CAPA updates and announcements 
can add himself or herself to the list.  Please notify all instructors and 
technical staff that will work with CAPA about adding themselves to the list.

The following installation instructions assume that whoever is upgrading 
the CAPA system already has some knowledge of their operating system and 
is familiar with Unix commands such as the following: cd, chown, chmod and 
setting permissions, compress/uncompress, cp, ln, lpr, ls, mkdir, pwd, rm, 
su, tar, and the vi editor.  

In order to complete the installation, you will need to have Perl, 
Ghostscript, TeTex, and a webserver (e.g. Apache) installed on your machine 
(all of which can be obtained for free).  You should know where those 
applications are located and where the web server's configuration files are 
located (particularly srm.conf).  You should also be familiar with killing 
and restarting your web daemon.

You will notice lists of files in these instructions to compare your
permissions with.  Depending on your operating system, many of your file 
sizes may differ with the ones given in these instructions.  Please do
not be concerned by this.

--------------------------------------------------------------------------------

SETTING UP THE INSTRUCTOR INTERFACE AND OPTIONAL TELNET STUDENT INTERFACE

You have the option to install the telnet version of the CAPA interface.
It responds much quicker than the web, especially with a slow modem.  If 
you decide not to enable this feature then skip steps 5 and 6.

Please note that in the following instructions, it is assumed that the 
teacher directory is in /home.  This may not be the case with your machine 
(e.g. /usr/users, /home2, etc.).  You may want to make note of this as you 
read through these instructions prior to installation.

1.)  Become root and copy or move the DIST51 directory to the teacher home 
directory.  Recursively change the ownership of the DIST51 directory to 
teacher with group membership cai.

>chown -R teacher:cai DIST51  

2.)  We first need to link up the binaries to use the instructor 
interface of CAPA.  Login as root.  Change directory to /usr/local/bin 
(or /usr/bin, or whatever will be the default in your users "path").
Remove all the old links to the CAPA 5.0 binaries and then symbolically 
link the 5.1 binaries contained with the distribution by entering the 
following commands:

> cd /usr/local/bin
> ln -s /home/teacher/DIST51/LinkToBin/quizzer .
> ln -s /home/teacher/DIST51/LinkToBin/grader .
> ln -s /home/teacher/DIST51/LinkToBin/manager .
> ln -s /home/teacher/DIST51/LinkToBin/qzparse .
> ln -s /home/teacher/DIST51/LinkToBin/allcapaid .
> ln -s /home/teacher/DIST51/LinkToBin/answers .

3.)  Check that all of the binaries in /home/teacher/DIST51/LinkToBin 
have executable permissions as shown below:

>cd /home teacher/DIST51/LinkToBin
>ls -l
-rwxr-xr-x    1 teacher  cai        485095 Jul 17 14:35 allcapaid
-rwxr-xr-x    1 teacher  cai        505454 Jul 17 14:35 answers
-rwxr-xr-x    1 teacher  cai       2126685 Jul 17 14:35 grader
-rwxr-xr-x    1 teacher  cai       2267429 Jul 17 14:35 manager
-rwxr-xr-x    1 teacher  cai       2191991 Jul 17 14:35 quizzer
-rwxr-xr-x    1 teacher  cai        488366 Jul 17 14:35 qzparse

4.)  Now link up the demonstration library in the root directory.  To do this, 
login as root, change to the root directory (cd /), remove the old demolibrary
link (rm demolibrary), and enter: 

> ln -s /home/teacher/DIST51/demolibrary demolibrary

Check that the demolibrary in the DIST51 folder is owned by "teacher" and 
has group membership "cai".

5.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
Login as "teacher" and copy the file "capalogin" from the directory 
DIST51/PutInCAPA51 into the directory /home/teacher/CAPA51.  Check 
to make sure your permissions match the following: 

-rwsr-xr-x    1 teacher  cai        585097 Jul 17 15:03 capalogin

Make certain that capalogin is set UID mode (there is an "s" instead
of an "x" in the user's permissions).  If not enter the following:

> chmod u+s capalogin

6.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
For each class that telnet is enabled for, it is added as a user
to the system without a password.  The security of the system is
maintained by using capalogin as the login shell.  To set up the
demonstration class, become root then use the adduser utility to create the
user "nsc131s0".  Enter the group id the same as the instructor (cai), the
home directory to be /home/teacher/CAPA51/nsc131s0, and the login shell
to be /home/teacher/CAPA51/capalogin.  When you are prompted to
enter an initial password, hit return.  You then need to edit the
/etc/passwd file with the vipw command to remove the "Nologin" field.
(You may also need to edit the file /etc/shadow if your system uses
shadow passwords.)

For Linux systems, you will need to create the user, edit /etc/passwd 
to remove the password field, change the group id number, change the home
directory and change the login shell.  You will not be prompted for these
within the utility.  Make certain the group id number is the same as the
instructor account.  Editing the passwd file is done by becoming root
using the vipw command.  (You may also need to edit the file /etc/shadow 
if your system uses shadow passwords.)  Finally, you must delete the
directory created by the adduser utility, for example:

>rm -rf /home/nsc131s0

Depending on your system, you may not be allowed to add a user without a
password using the adduser utility.  If this is the case, you will need   
to manually add the user with the vipw command.

Repeat the steps above for qns131s0 and xpc131s0 (do not add xns131s0 as
a user).

The correct class entries in /etc/passwd are given below: (The paths to the
home directory and login shell may differ for your system.)

nsc131s0::1004:103:Demonstration Class - Homework:/home/teacher/CAPA51/nsc131s0:
/home/teacher/CAPA51/capalogin
qns131s0::1005:103:Demonstration Class - Quizzes:/home/teacher/CAPA51/qsc131s0:/
home/teacher/CAPA51/capalogin
xpc131s0::1006:103:Demonstration Class - Exam Partial Credit:/home/teacher/CAPA5
1/xpc131s0:/home/teacher/CAPA51/capalogin

7.)  Login as teacher and create the class called nsc131s0 in teacher's
CAPA51 directory by copying this directory from DIST51/PutInCAPA51

> cd CAPA51
> cp -R /home/teacher/DIST51/PutInCAPA51/nsc131s0 nsc131s0

Then, check to be certain the owner of the nsc131s0 directory is "teacher" 
with group membership "cai".

Repeat this step using the qns131s0, xns131s0, and xpc131s0 directories.

8.)  Make certain a directory named "records" exists in each of the class 
directories (e.g. /home/teacher/CAPA51/nsc131s0/records). Also, make certain the 
ownership of all sub-directories and files is "teacher" with group membership 
"cai".  It is a good idea to check your permission with the ones below.
 
> cd nsc131s0
> ls -lag
total 94
drwxr-x--x    3 teacher  cai          1024 Jul 17 15:37 .
drwxr-xr-x    9 teacher  cai          1024 Jul 17 15:37 ..
-rw-r--r--    1 teacher  cai           969 Jul 17 15:37 HWTop
-rw-r--r--    1 teacher  cai          1326 Jul 17 15:37 QuizTop
-rw-r--r--    1 teacher  cai            15 Jul 17 15:37 TeXfooter
-rw-r--r--    1 teacher  cai           777 Jul 17 15:37 TeXheader
-rw-r--r--    1 teacher  cai         11418 Jul 17 15:37 capa.config
-rw-r--r--    1 teacher  cai          1388 Jul 17 15:37 classl
-rw-r--r--    1 teacher  cai            68 Jul 17 15:37 goodbye.msg
-rw-r--r--    1 teacher  cai           720 Jul 17 15:37 help.msg
-rw-r--r--    1 teacher  cai           447 Jul 17 15:37 mail.txt
-rw-r--r--    1 teacher  cai          1529 Jul 17 15:37 managermail.txt
drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:37 records
-rw-r--r--    1 teacher  cai           356 Jul 17 15:37 second-login.msg
-rwxr--r--    1 teacher  cai          4870 Jul 17 15:37 set1.qz
-rw-r--r--    1 teacher  cai          2808 Jul 17 15:37 set10.qz
-rw-r--r--    1 teacher  cai          1933 Jul 17 15:37 set11.qz
-rw-r--r--    1 teacher  cai          1824 Jul 17 15:37 set12.qz
-rw-r--r--    1 teacher  cai         10114 Jul 17 15:37 set13.qz
-rw-r--r--    1 teacher  cai          3969 Jul 17 15:37 set14.qz
-rw-r--r--    1 teacher  cai          3684 Jul 17 15:37 set15.qz
-rw-r--r--    1 teacher  cai          1935 Jul 17 15:37 set16.qz
-rw-r--r--    1 teacher  cai          1454 Jul 17 15:37 set17.qz
-rw-r--r--    1 teacher  cai          1551 Jul 17 15:37 set2.qz
-rw-r--r--    1 teacher  cai          7138 Jul 17 15:37 set3.qz
-rw-r--r--    1 teacher  cai          2561 Jul 17 15:37 set4.qz
-rw-r--r--    1 teacher  cai          2106 Jul 17 15:37 set5.qz
-rw-r--r--    1 teacher  cai          2826 Jul 17 15:37 set6.qz
-rw-r--r--    1 teacher  cai          1617 Jul 17 15:37 set7.qz
-rw-r--r--    1 teacher  cai          6197 Jul 17 15:37 set8.qz
-rw-r--r--    1 teacher  cai          2751 Jul 17 15:37 11:05 set9.qz
-rw-r--r--    1 teacher  cai           293 Jul 17 15:37 third-login.msg
-rw-r--r--    1 teacher  cai           151 Jul 17 15:37 welcome.msg
>cd records
>ls -lag
total 36
drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:37 .
drwxr-x--x    3 teacher  cai          1024 Jul 17 15:37 ..
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date1.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date10.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date11.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date12.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date13.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date14.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date15.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date16.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date17.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date2.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date3.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date4.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date5.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date6.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date7.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date8.db
-rw-r--r--    1 teacher  cai            74 Jul 17 15:37 date9.db
-rw-r--r--    1 teacher  cai            51 Jul 17 15:37 set1.db
-rw-r--r--    1 teacher  cai            25 Jul 17 15:37 set10.db
-rw-r--r--    1 teacher  cai            14 Jul 17 15:37 set11.db
-rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set12.db
-rw-r--r--    1 teacher  cai           119 Jul 17 15:37 set13.db
-rw-r--r--    1 teacher  cai            39 Jul 17 15:37 set14.db
-rw-r--r--    1 teacher  cai            39 Jul 17 15:37 set15.db
-rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set16.db
-rw-r--r--    1 teacher  cai             6 Jul 17 15:37 set17.db
-rw-r--r--    1 teacher  cai            10 Jul 17 15:37 set2.db
-rw-r--r--    1 teacher  cai             6 Jul 17 15:37 set3.db
-rw-r--r--    1 teacher  cai            12 Jul 17 15:37 set4.db
-rw-r--r--    1 teacher  cai            16 Jul 17 15:37 set5.db
-rw-r--r--    1 teacher  cai            22 Jul 17 15:37 set6.db
-rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set7.db
-rw-r--r--    1 teacher  cai            77 Jul 17 15:37 set8.db
-rw-r--r--    1 teacher  cai             8 Jul 17 15:37 set9.db

9.)  The CAPA system needs to access the files just installed in the teacher
home directory.  Make sure this directory has both group and world r-x
privledges.

drwxr-xr-x    6 teacher  cai          1024 Jul 17 13:43 teacher



You will have similar files in the qns131s0, xns131s0, and xpc131s0 directories
with the same permissions.  Check those also.

The utilities for running CAPA with telnet sessions are now completely  
installed.  

--------------------------------------------------------------------------------
SETTING UP THE WEB VERSION OF THE CAPA INTERFACE


1.)  It is recommended that you make a backup of the teacher/PublicWeb 
directory and all of it's subdirectories and files before making the
changes below.

2.)  Login in as teacher.  Remember, it is assumed that the teacher 
directory is in /home which may not be the case for your machine.

3.)  Update your /home/teacher/PublicWeb/CAPA directory with the files from
DIST51/CopyToPublicWeb/CAPA directory.

Go to /home/teacher/PublicWeb/CAPA and copy ExmPanel.class, ExpPanel.class, 
GLabel.class, TScore.class, help.html from the distribution.  Make sure the old 
files for Glabel.class and help.html are replaced (they will have today's date 
when you check permissions).  Make sure all files in this directory are owned by 
teacher and have group membership cai.

> cd /home/teacher/PublicWeb/CAPA
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/ExmPanel.class .
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/ExpPanel.class .
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/GLabel.class . 
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/TScore.class .
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/help.html . 

4.)  Update your /home/teacher/PublicWeb/CAPA/capa-bin directory with the files 
from DIST51/CopyToPublicWeb/CAPA/capa-bin directory.  Particularly, you will need
to update web.settings, capadiscuss_html, capahtml, and webpage.

> cd capa-bin
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/web.settings .
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/capadiscuss_html .
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/capahtml .
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/webpage .

5.)  Check permissions in the capa-bin directory.  Your permissions for the files 
in PublicWeb/CAPA/capa-bin should like the following:

> cd capa-bin
> ls -l
-rw-r--r--    1 teacher  cai         33363 Jul 17 15:51 capadiscuss_html
-rws--x--x    1 teacher  cai        519680 Jul 17 15:51 capahtml
-rw-r--r--    1 teacher  cai           223 Jul 17 15:51 class.conf
lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 class.html -> webpage
lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 email.html -> webpage
lrwxrwxrwx    1 teacher  cai             7 Jul 17 15:51 getid.html -> webpage
drwxr-xr-x    2 teacher  cai          1024 Jul 17 15:51 teacher
-rw-r--r--    1 teacher  cai          4460 Jul 17 15:51 web.settings
-rws--x--x    1 teacher  cai       1141535 Jul 17 15:51 webpage

If your permissions do not match the ones above, change them so they do.

> chmod u+s capahtml
> chmod u+s webpage

You may also see files called web_access.log and ids.log in the capa-bin 
directory.  These files are automatically generated by the CAPA software.

6.) The system links to the webpage program should still be there from the
previous CAPA installation.  If they do not exist, enter the following:

> ln -s webpage class.html
> ln -s webpage emailid.html
> ln -s webpage getid.html

7.)  Edit /home/teacher/PublicWeb/CAPA/capa-bin/web.settings
Change the first line:
      set machine capa2.nscl.msu.edu
To read:
      set machine your.machine.name

8.)  Edit /home/teacher/PublicWeb/CAPA/capa-bin/class.conf by adding
the following lines (note that you may have different paths than
/home/teacher):

nsc131s0         /home/teacher/CAPA51       teacher {class emailid}
qns131s0         /home/teacher/CAPA51       teacher {class}
xpc131s0         /home/teacher/CAPA51       teacher {class}

9.)  Update your /home/teacher/PublicWeb/CAPA/capa-bin/teacher directory with the 
files from DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher directory.  Copy the files
capasbin and capadiscuss to this directory from distribution.

> cd teacher
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capasbin .
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capadiscuss .

Check that both these files are owned by teacher and have group membership cai.  
These files should also have executable permission and capasbin should be set 
UID (there is an "s" instead of an "x" in the owner's permissions).  If not, 
enter the following:

> chmod u+s capasbin

10.)  Make the changes that you made above for the teacher directory to all 
other instructor directories.  Make sure they are owned by the appropriate
instructor and have the appropriate group membership.

11.)  Go to /home/teacher/Public/demolibrary and make sure Graphics and Links 
point to /demolibrary/Graphics and /demolibrary/Links.  If they point to the old 
demolibrary, make changes by removing the links and adding the new ones.

> ln -s /demolibrary/Graphics Graphics
> ln -s /demolibrary/Links Links

12.)  Restart your webserver.


--------------------------------------------------------------------------------

FINAL INSTRUCTIONS

1.)  Modify /demolibrary/Tools/StdMacros

Replace the line
/LET machine_name="capa2.nscl.msu.edu"  // needed for labeling tools
With
/LET machine_name="your.machine.name"  // needed for labeling tools

2.)  Double check to be certain the ownership and group membership 
for each of the files and subdirectories under the teacher account 
consistently have "teacher" as owner and "cai" as group.  Also double
check that the demolibrary directory in /home/teacher/DIST51 is owned
by "teacher" and has group membership "cai".  (Note that your instructor
directories under PublicWeb/CAPA/capa-bin will be owned my the appropriate
instructory).

3.)  Make sure that the user teacher, the owner of the webserver, and
root have the commands allcapaid, perl and gs (ghostscript command) in 
their path.  You can check this by using the which command.  If it is
in the user's path, you will then be shown where the directory for the
command is located.  
For example:

> which perl
/usr/bin/perl

4.)  If teacher is somewhere other than /home, then you need to edit the 
capa.config files in the nsc131s0, qns131s0, xns131s0, and xpc131s0 directories.
Change the following lines to refer to the correct path:

quiz_path       = /home/teacher/CAPA51/qns131s0
exam_path       = /home/teacher/CAPA51/xns131s0
supp_path       = /home/teacher/CAPA51/xpc131s0
.
.
.
correction_path = /home/teacher/CAPA51/xpc131s0

5.)  In each of the capa.config files (DIST51/PutInCAPA51/nsc131s0/capa.config,
..., ...skeleton/capa.config, etc. and /home/teacher/CAPA51/nsc131s0, etc.) edit 
the print commands to match the ones that you use from your server where CAPA is 
installed.  The comments in the printing configuration section of the capa.config 
file will direct you how to make these changes.

Also, edit the line:

capa_server = your.machine.name

In the "Extrapolate Scores Applet" section to read the name of your capa server
in each of the capa.config files.

6.)  Print the Manual.  

7.)  Take a look at the sets in nsc131s0. In particular sets 3-17 (a
detailed list of the templates).

8.)  Read the READMEsecurity.txt file.


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

CONTACT INFORMATION

If you have any questions or problems with getting CAPA installed and  
running, contact the following:

Felicia Berryman
CAPA Coordinator
Michigan State University
capa@capa.msu.edu

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

ADDING ADDITIONAL USERS

1.)  Add the new user to your system with group membership cai.  If you are
unsure about doing this, follow the same instructions outlined in the 
"INITIAL SETUP" section of the README.txt file except use the new user's name 
instead of "teacher" (and the new group's name if the new instructor to be added 
to the CAPA system should be in a different group other than "cai").

2.)  Login as root and add a directory to the capa-bin directory with the same 
name as the new instructor's user name.  For example:
> mkdir /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name

3.)  Copy the files capasbin and capadiscuss from 
teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher into the new
instructor-name directory.  For example:

> cd /home/teacher/PublicWeb/CAPA/capa-bin/instructor-name
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capasbin .
> cp /home/teacher/DIST51/CopyToPublicWeb/CAPA/capa-bin/teacher/capadiscuss .

Make sure that the permissions for the the capasbin and capadiscuss files 
are executable and that capasbin is set UID mode (there is an "s" instead 
of an "x" in the user's permissions).  If not, enter the following:

> chmod 755 capasbin capadiscuss
> chmod u+s capasbin
> ls -l
-rwxr-xr-x    1 instructor  cai         23453 Mar 16 11:15 capadiscuss
-rwsr-xr-x    1 instructor  cai        843150 Mar 16 11:15 capasbin

4.)  Change the ownership of the instructor-name directory and all of its 
files to the appropriate user ("instructor-name") and group (i.e. "cai").
> cd /home/teacher/PublicWeb/CAPA/capa-bin
> chown -R instructor-name:cai instructor-name

5.)  Finally, double check that the instructor owns his/her directory
in the capa-bin directory and that the instructor's capasbin and capadiscuss
have the correct ownership and permissions.

--------------------------------------------------------------------------------

ADDING ADDITIONAL CLASSES

Once an instructor account is created, you can add classes to the
system as needed.  Below we call the owner of the class "instructor"
and the class "classname".  Your class's name should be 8 characters
max if you will be using the telnet interface.  We name our classes 
names such as phy183s0 (physics 183, spring semester, 2000) and cem142f0 
(chemistry 142, fall semester, 2000).

If you chose not to enable the telnet interface, then skip steps 
1 and 2 below.

1.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
Use the adduser utility to create the user "classname".  For Digital 
Unix and Solaris operating systems:
	a.) Login as root
	b.) Change directory to /usr/sbin
	c.) Type the command "adduser".  You will be prompted for information.
		-Make certain the user "classname" is a member of the same 
		group as the instructor.
 		-Use /home/instructor/CAPA51 as the parent directory and
 		/home/instructor/CAPA51/capalogin as the login shell. 
		-Do not add a password.
	d.) Remove the system created classname directory.  (Your absolute
	    path may differ from /home.)
		>rm -rf /home/instructor/CAPA51/classname

For Linux operating systems:
	a.) Login as root
	b.) change directory to /usr/sbin
	c.) Type the command "adduser classname".
	    (or "useradd classname" depending on your system)
	d.) If prompted for a password, do not add one.
	e.) Delete the directory created by the adduser utility. (Your absolute
	    path may differ from /home.)
		>rm -rf /home/classname
	NOTE:  Depending on your system, you may not be allowed to add a user 
	without a password.  In that case, you will have to add the user 
	manually using the vipw command.
	
2.)  *SKIP THIS STEP IF YOU ARE NOT ENABLING THE TELNET INTERFACE*
Edit the password file.  For Digital Unix and Solaris operating systems:
        a.) Edit the entry for "classname" in the /etc/passwd file with the vipw
            command.
                -remove the encrypted password field (or the field "NoLogin").
                 (You may need to also edit the /etc/shadow file if using
                 shadow passwords.)
                -Check to be certain the home directory and login shell are
                correct.
        b.) A sample /etc/passwd entry is given below:

phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru
ctor/CAPA51/capalogin

For Linux operating systems:
        a.) Edit the entry for "classname" in the /etc/passwd file.
                -Remove the encrypted password field (or the field "NoLogin").
                 (You may need to also edit the /etc/shadow file if using
                 shadow passwords.)
                -Change the group id number to match the group id number in
                the instructor's account
                -Change the home directory to
                /home/instructor/CAPA51
                -Change the login shell to
                /home/instructor/CAPA51/capalogin
        b.) A sample /etc/passwd entry is given below:

phy123s0::1007:103:Intro Physics I:/home/instructor/CAPA51/phy123s0:/home/instru
ctor/CAPA51/capalogin

3.)  Make the classname directory.  Login as the "classname" owner, copy 
the contents of /home/teacher/DIST51/PutInCAPA/skeleton into the new class 
directory.  
> cd /home/instructor/CAPA51
> cp -R /home/teacher/DIST51/PutInCAPA51/skeleton classname

Make certain there is a classname/records directory present.  
The following are a few files you might want to edit  to tailor to your 
particular course:

welcome.msg and goodbye.msg (both for telnet), capa.config, HWTop, (QuizTop,
ExamTop), and classl

Be certain to retain the exact character spacing in the classl file.

4.) Check to be certain the owner of the /home/instructor/CAPA51/classname 
directory, sub-directories and files is "instructor" with group membership 
"cai" (or whatever the correct group is).

5.)  Once you have created your problem sets, your course is ready for 
telnet access.  That is, if you chose to enable the telnet interface.

		  ------------------------------------------

Setting up WWW access for this same course:

1.)  Edit /home/teacher/PublicWeb/CAPA/capa-bin/class.conf by 
adding the new class.  Example:

classname  /home/instructor/CAPA51  instructor {class getid emailid}

2.)  Make certain a copy of capa.config exists in the "classname"
directory.  Also double check the ownership and group membership of
the classname file and all of its sub-directories and files have the
appropriate owner and group membership.

3.)  The instructions above were for using CAPA for homework.  If you
want to use CAPA for quizzes, exams, etc. then read the next section.

4.)  Edit the paths and printing configuration section in the capa.config
file.  Edit the dept_name, etc in the HWTop (QuizTop and ExamTop).  Also
edit the classl file, making sure the instructor and TAs all belong to
the admin_section(s) (see capa.config file and edit admin_section if 
appropriate).

Your "classname" class is now ready to use for homework.

--------------------------------------------------------------------------------

ADDING ACCESS FOR QUIZZES, EXAMS, EXAM PARTIAL CREDIT, ETC.

1.)  Quiz, exam, and other access are added as separate "classes".  
You may choose to name them similar to the convention of the 
demonstration "classes" nsc131s0 (homework), qns131s0 (quizzes),
xns131s0 (exams), and xpc131s0 (exam partial credit).  

2.)  To use CAPA for more than just homework, install your quiz,
exam, etc. directories using the instructions above but use the
appropriate skeleton directory (skeletonQuiz, skeletonExam).  For 
supplementary course work, such as exam partial credit, then just 
use the skeleton directory.  Follow the guidelines below when 
setting up web access in the class.conf file.  

2.)  Below are some guidelines assuming you are using the entirety
of CAPA by adding quiz, exam, partial credit (supplemental), and other
access for a physics class PHY 123:

     qph123s0:  Enable telnet if you do so and allow class.html
		access only.  This gives you the option of giving
		take-home quizzes, but the students cannot use
		emailid.html or getid.html, they must get their
		CAPA ID in class.  In the capa.config file, you
		would enter the following:

		qph123s0  /home/instructor/CAPA51  instructor {class}

     xph123s0:  Do not enable access through telnet or web interface.
 		If you do want telnet or web access, please be careful
		to protect you exams by setting the correct open and
		due dates and it is highly recommended that you do
		NOT allow the students to retrieve their ID for further
		protection.  Consult the Manual about due dates.

     xpc123s0:  You have the option in CAPA to allow students to take
		the exam again at home and apply those points to their
	        exam score as partial credit.  Set up similiar to quizzes
		and BE CAREFUL about open dates and due dates to protect
  		your exam.

     oph123s0:  Use this for whatever you wish, such as supplemental homework.

3.)  Edit the paths in the capa.config file in each of the classname 
directories.  Edit the dept_name, etc. in the HWTop (QuizTop and ExamTop). 
Also edit the classl file, making sure the instructor and TAs all belong to the 
admin_section(s) (see capa.config file and edit admin_section if appropriate).

--------------------------------------------------------------------------------










FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>