Difference between revisions of "WeBWorK shell - wwsh"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 1: Line 1:
wwsh - the WeBWorK shell
 
 
 
=== SYNOPSIS ===
 
=== SYNOPSIS ===
  +
  +
First, start the shell for a course with course id COURSE_ID:
   
 
wwsh <u>COURSE ID</u>
 
wwsh <u>COURSE ID</u>
  +
  +
From within the shell, one has direct access to the <tt>$db</tt> object for that course. That can be used, for example, to manipulate user records:
   
 
my @userIDs = $db->listUsers();
 
my @userIDs = $db->listUsers();
Line 22: Line 24:
 
$db -> putPermissionLevel($pl);
 
$db -> putPermissionLevel($pl);
   
=== DESCRIPTION ===
 
  +
One also has access to the <tt>$ce</tt> object for the course.
 
The <tt>wwsh</tt> script gives commandline access to the course environment object (<tt>$ce</tt>) and database object (<tt>$db</tt>).
 
   
 
=== DESCRIPTION ===
 
=== DESCRIPTION ===
Line 30: Line 30:
 
The WeBWorK shell provides a specialized version of the Perl debugger intended for use by system administrators and developers. It can be used for course maintenance tasks and debugging. It can also be used to restore access to a course from the command line.
 
The WeBWorK shell provides a specialized version of the Perl debugger intended for use by system administrators and developers. It can be used for course maintenance tasks and debugging. It can also be used to restore access to a course from the command line.
   
Inside the shell, the user has access to the <tt>$ce$ course environment object and <tt>$db</tt> database object for the WeBWorK course whose name is provided as the argument to <tt>wwsh</tt>.
+
Inside the shell, the user has access to the <tt>$ce</tt> course environment object and <tt>$db</tt> database object for the WeBWorK course whose name is provided as the argument to <tt>wwsh</tt>.
   
 
The script for starting the shell is located in
 
The script for starting the shell is located in

Revision as of 21:33, 5 August 2011

SYNOPSIS

First, start the shell for a course with course id COURSE_ID:

wwsh COURSE ID

From within the shell, one has direct access to the $db object for that course. That can be used, for example, to manipulate user records:

my @userIDs = $db->listUsers();
my $new_user = $db->{user}->{record}->new();
$new_user->user_id("sammy");
$new_user->first_name("Sam");
$new_user->last_name("Hathaway");
$db->addUser($new_user);
$db->putUser($new_user);
$Dennis = $db->getUser("dennis");
print $Dennis -> status();
$Dennis->status("C");
$db->putUser->($Dennis);
$pl = $db -> getPermissionLevel("dennis");
$pl -> permission(10);
$db -> putPermissionLevel($pl);

One also has access to the $ce object for the course.

DESCRIPTION

The WeBWorK shell provides a specialized version of the Perl debugger intended for use by system administrators and developers. It can be used for course maintenance tasks and debugging. It can also be used to restore access to a course from the command line.

Inside the shell, the user has access to the $ce course environment object and $db database object for the WeBWorK course whose name is provided as the argument to wwsh.

The script for starting the shell is located in

webwork2/bin/

along with a number of other useful maintenance scripts.

To start the WeBWorK shell, first export the location of your WeBWorK system code as WEBWORK_ROOT</t>. The standard installation instructions have the WeBWorK system code installed in /opt/webwork/webwork2. Using the bash shell the following command will export this location to WEBWORK_ROOT:

export WEBWORK_ROOT=/opt/webwork/webwork2

From within the webwork2/ directory, the command

$ bin/wwsh COURSE_NAME

will start the WeBWorK shell for course COURSE_NAME.