CAPA Physics Problems

From WeBWorK_wiki
Jump to navigation Jump to search

Browsing the CAPA physics problem collection

Rochester has a collection of problems used in physics. These problems were originally CAPA problems and were converted some years ago, so the code isn't pretty, but for the most part they work.

The problems have been collected into a

physics "course"

so that you can browse through them and see what is already available.

Installing the CAPA physics problem collection

This step installs and sets up the CAPA Library, which is a library of physics problems.

First we download the CAPA Library including required macros, e.g. to your downloads directory

$ cd
$ cd downloads
$ cvs -d checkout rochester_physics_problib

I'll assume you have a standard setup, i.e. an /opt/webwork directory, an /opt/webwork/libraries directory and webwork2 is installed in /opt/webwork/webwork2 and further, all these directories are owned by root. Then do the following.

As root create a CAPA directory under /opt/webwork and move the CAPA macros there. Then move the CAPA graphics and library files to the required locations and set the group.

$ su
<root password>
# mkdir /opt/webwork/CAPA
# cd rochester_physics_problib/macros/                   
# mv CAPA_Tools /opt/webwork/CAPA/                       
# mv CAPA_MCTools /opt/webwork/CAPA/                     
# cd ..                                                                          
# mv CAPA_Graphics /opt/webwork/webwork2/htdocs/         
# cd ..                                                  
# mv rochester_physics_problib /opt/webwork/libraries/ 
# cd /opt/webwork/webwork2/htdocs/
# chgrp -R wwdata CAPA_Graphics  

We need to edit global.conf again

# cd /opt/webwork/webwork2/conf
# gedit global.conf

Search for courseFiles{problibs} and scroll down several lines to the line

#      capaLibrary      => "CAPA",

Uncomment this line (i.e. remove the #) so it becomes

      capaLibrary      => "CAPA",

Next search for the lines

$pg{specialPGEnvironmentVars}{CAPA_Tools}             = "$courseDirs{macros}/CAPA_Tools/", 
$pg{specialPGEnvironmentVars}{CAPA_MCTools}           = "$courseDirs{macros}/CAPA_MCTools/",  
$pg{specialPGEnvironmentVars}{CAPA_GraphicsDirectory} = "$courseDirs{html}/CAPA_Graphics/", 
$pg{specialPGEnvironmentVars}{CAPA_Graphics_URL}      = "$courseURLs{html}/CAPA_Graphics/",   

and edit them so that they read as follows (cut and paste is the best way to do this)

$pg{specialPGEnvironmentVars}{CAPA_Tools}             = "/opt/webwork/CAPA/CAPA_Tools/",        
$pg{specialPGEnvironmentVars}{CAPA_MCTools}           = "/opt/webwork/CAPA/CAPA_MCTools/",      
$pg{specialPGEnvironmentVars}{CAPA_GraphicsDirectory} = "$webworkDirs{htdocs}/CAPA_Graphics/",  
$pg{specialPGEnvironmentVars}{CAPA_Graphics_URL}      = "$webworkURLs{htdocs}/CAPA_Graphics/",  

Then save the file and quit. Note that we are setting up the CAPA macros and graphics so that they can be used by any WeBWorK course on the server.

There is one final step that is needed. We have to put a link in the templates directory of every course that needs access to the CAPA Library. If you want to have every course you create have access to the CAPA Library (unlikely unless you are in a physics department) put the link in the modelCourse

$ cd /opt/webwork/courses/modelCourse/templates/
sudo ln -s /opt/webwork/libraries/rochester_physics_problib/ capaLibrary
password: <your password>

More likely you just want to do this for individual courses. For example to set up access to the CAPA Library from myTestCourse, do the following

cd /opt/webwork/courses/myTestCourse/templates/
sudo ln -s /opt/webwork/libraries/rochester_physics_problib/ capaLibrary

and do the analogous thing for every course that needs access to the CAPA Library. Then to gain access to the CAPA Library from the course, simply go to the Library Browser and click on the CAPA button.