Difference between revisions of "Blackboard"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 23: Line 23:
   
   
=== Installation ===
+
== Installation ==
   
 
{{UnderConstruction}}
 
{{UnderConstruction}}
# Prepare WeBWorK
 
** Enable the webwork webservice. To do so put the following lines in your webwork.apache2-config file. It is very likely that these lines are already in that file waiting to be uncommented.
 
 
   
  +
=== Prepare WeBWorK ===
  +
* Enable the webwork webservice. To do so put the following lines in your webwork.apache2-config file. It is very likely that these lines are already in that file waiting to be uncommented.
 
<syntaxhighlight lang="apache">
 
<syntaxhighlight lang="apache">
PerlModule WebworkSOAP
+
PerlModule WebworkSOAP
<Location /webwork2_rpc>
+
<Location /webwork2_rpc>
 
PerlHandler Apache2::SOAP
 
PerlHandler Apache2::SOAP
 
SetHandler perl-script
 
SetHandler perl-script
Line 39: Line 38:
 
Order Allow,Deny
 
Order Allow,Deny
 
Allow from All
 
Allow from All
</Location>
+
</Location>
<Location /webwork2_wsdl>
+
<Location /webwork2_wsdl>
 
PerlSetVar dispatch_to "WebworkSOAP::WSDL"
 
PerlSetVar dispatch_to "WebworkSOAP::WSDL"
 
PerlSetVar options "compress_threshold => 10000"
 
PerlSetVar options "compress_threshold => 10000"
Line 53: Line 52:
   
 
After adding or uncommenting these lines, you may check that things are working so far by restarting the webserver and navigating to http://[webwork@your_school].edu/webwork2_wsdl. You should see an XML file which begins something like
 
After adding or uncommenting these lines, you may check that things are working so far by restarting the webserver and navigating to http://[webwork@your_school].edu/webwork2_wsdl. You should see an XML file which begins something like
  +
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
+
<?xml version="1.0" encoding="UTF-8"?>
<!-- WSDL for http://localhost/webwork2_rpc created by Pod::WSDL version: 0.05 on...
+
<!-- WSDL for http://localhost/webwork2_rpc created by Pod::WSDL version: 0.05 on...
 
</syntaxhighlight>
 
</syntaxhighlight>
  +
 
* The next step is to change '''localhost''' in the above url to the actual base url of your webwork server. To do so edit the file webwork2/lib/WebworkSOAP/WSDL.pm and change the line
 
* The next step is to change '''localhost''' in the above url to the actual base url of your webwork server. To do so edit the file webwork2/lib/WebworkSOAP/WSDL.pm and change the line
  +
  +
<syntaxhighlight>
 
use constant RPC_URL => "http://localhost/webwork2_rpc/";
 
use constant RPC_URL => "http://localhost/webwork2_rpc/";
  +
</syntaxhighlight>
  +
 
Now if you restart the server and navigate back to the webwork2_wsdl page, the base url in the XML file should be the public url for your server rather than http://localhost/.
 
Now if you restart the server and navigate back to the webwork2_wsdl page, the base url in the XML file should be the public url for your server rather than http://localhost/.
   
* The last thing to do to prepare your webwork installation is to set the SOAP authentication key.
+
* The last thing to do to prepare your webwork installation is to set the SOAP authentication key. This is defined in the file webwork/lib/WebworkSOAP.pm with the line
This is defined in the file webwork/lib/WebworkSOAP.pm with the line
+
<syntaxhighlight>
 
$WebworkSOAP::SeedCE{soap_authen_key} = "123456789123456789";
 
$WebworkSOAP::SeedCE{soap_authen_key} = "123456789123456789";
You will need to communicate this authentication key to your Blackboard administrator for use when installing the building block into Blackboard. For security purposes, it is strongly recommended
 
  +
</syntaxhighlight>
that you change this key to something less guessable on production servers.
 
  +
  +
You will need to communicate this authentication key to your Blackboard administrator for use when installing the building block into Blackboard.
  +
  +
{{Warning|For security purposes, it is strongly recommended that you change this key to something less guessable on production servers.}}
   
## Install the Building Block
+
Install the Building Block
   
## Configure the Building Block
+
Configure the Building Block
   
 
[[Category:Developers]]
 
[[Category:Developers]]

Revision as of 13:02, 13 July 2011

Creating a Blackboard Plugin to mimic the behavior of the Moodle "bridge1" plugin was begun in 2008 at the University of Rochester. The connection between the CMS and WeBWorK is minimal.

  • Single sign in
    • Students sign in to the CMS. To do their homework they click on a WeBWorK link which automatically signs them in to WeBWorK, creates a homework set instance for them.
  • Common grade book
    • When they have completed their homework their homework grades are transferred back to the gradebook in BB. (At first this was triggered by a cron job.)
  • Configuration of homework sets is done using WeBWorK tools, not from BlackBoard or Moodle.


History:

Creating a Blackboard Plugin to mimic the behavior of the Moodle "bridge1" plugin was begun in at the University of Rochester. The connection between the CMS and WeBWorK is minimal. Students sign in to the CMS. To do their homework they click on a WeBWorK link which automatically signs them in to WeBWorK, creates a homework set instance for them. When they have completed their homework their homework grades are transferred back to the gradebook in BB. (At first this was triggered by a cron job.)

  • Summer, 2008 -- Dan Arnold, supervised by Michael Gage. This was part of the UR summer intern program sponsored by the IT department of the University of Rochester.
  • Summer, 2009 -- Martin Georgiev , supervised by Michael Gage and Paula Yandow-Reilley(and others from the UR IT department)
  • November,2010 -- code base resurrected and cleaned up -- Paula Yandow-Reilley
  • February, 2011 -- Blackboard plugin code base shared with University of Missouri
  • Spring, Summer 2011 -- Further development by Srinivasan Devanathan, a student at University of Missouri in conjunction with (MU IT department) and supervised by Jason Aubrey. University of Oregon and University of Calgary are also beta testing and following results.


Installation

Construction.png This article is under construction. Use the information herein with caution until this message is removed.

Prepare WeBWorK

  • Enable the webwork webservice. To do so put the following lines in your webwork.apache2-config file. It is very likely that these lines are already in that file waiting to be uncommented.

<syntaxhighlight lang="apache">

 PerlModule WebworkSOAP
 <Location /webwork2_rpc>
        PerlHandler Apache2::SOAP
        SetHandler perl-script
        PerlSetVar dispatch_to "WebworkSOAP"
        PerlSetVar options "compress_threshold => 10000"
        Order Allow,Deny
        Allow from All
 </Location>
 <Location /webwork2_wsdl>
        PerlSetVar dispatch_to "WebworkSOAP::WSDL"
        PerlSetVar options "compress_threshold => 10000"
        PerlHandler WebworkSOAP::WSDL
        SetHandler perl-script
        Order Allow,Deny
        Allow from All
</Location>

</syntaxhighlight>

Note that there are likely other webservice configuration stanzas in your webwork.apache2-config file. The two above are the only ones that need to be active for communication with the Blackboard building block.

After adding or uncommenting these lines, you may check that things are working so far by restarting the webserver and navigating to http://[webwork@your_school].edu/webwork2_wsdl. You should see an XML file which begins something like

<syntaxhighlight lang="xml">

<?xml version="1.0" encoding="UTF-8"?>