Script to Force Submission of Blackboard Assessments at Time-up

and Prevent Copying / Pasting / Printing

Use at your own risk! Feel free to make modifications, but please share with us (blackboard@princeton.edu).

This .js file was updated 3/10/2008 so that short answer and essay question responses are, in fact, saved when the test is submitted with this script, even if they are done in the VTBE. We have not verified this for versions older than 7.2

Instructions for System Administrator

This version of the .js is for Bb r7.2 through r8.x (we have not tested it in r9 yet):
Extract the .js file from this zip. (revised March 10, 2008)

This version is for Bb release prior to 7.2, when the timer appeared in the status bar:
Extract the .js. file from this zip. (revised March 10, 2008)

This file needs to be put directly in the /webapps/assessment folder under the blackboard root folder--usually /usr/local/blackboard.  Also add the line "/webapps/assessment/counter_endtime.js" to the  file named "client_files.txt*" in your blackboard/config directory. Storing a file path in the client_file.txt file prevents the version 7 installer from deleting that file during upgrades.   If you are below version 7, add it anyway to prevent problems when you upgrade to version 7.

* When using the 7.0 installer, the installer's default behavior in most directories is to remove any unrecognized files and copy them to the backups directory.  By creating the files client_files.txt and client_dirs.txt in the Blackboard config directory and listing file and directory names in them, you can  prevent the installer deleting files you want kept.   For more details check Knowledge Base article 181-2758 on Behind the Blackboard.  It does a thorough job of explaining this.

If you are using Bb r7.2+, see article http://kb.blackboard.com/display/KB/Slow+scrolling+in+timed+tests in the Bb Knowledgebase for a fix for hanging and slowness related to the floating timer found in r7.2+ in timed tests when using Internet Explorer.

(Feel free to point end users to Princeton's FAQ article.)

Instructions for Test Creater

From the Test Manager, click “Add Test”. Give it a name and description. 

In the instructions section, make sure you select HTML below the text box. Do not use the Visual Text Box Editor!   Paste the following in the text box:

<P>insert your instructions here</P>
<script language="javascript" type="text/javascript" src="/webapps/assessment/counter_endtime.js"></script>

Type your instructions where it says "insert your instructions here" between <P> and </P>

Click OK.  Finish creating the test.

In the “Modify the Test Options” section, just make sure you set the timer.

Ten-Second Issue

This script is written to cause the test to submit 10 seconds before the actual time is up, to allow time for the submission process -- though you will encounter some cases where it takes longer than 10 seconds to submit, resulting in a "Needs Grading" message. I would suggest have students use Durham University's Browser Tester building block or something similar, as it has an Alert Test to make sure the 1 minute warning will appears.  Sometimes a test will go minutes over the time limit because the student did not see or click away the alert -- but they cannot work on the test during this time either.

We include this message to students:

If you do not submit the test at least 10 seconds before the time is up, the test will submit automatically. So if the test has a 60 minute time limit, you actually only have 59 minutes, 50 seconds to complete the test, as the time it takes to complete the submission process, which can take up to 10 seconds, is figured in the time.

The test will not submit automatically until student clicks away the 1-minute warning pop-up, though the timer keeps ticking -- so if the student waits 2 minute to click the pop-up, the test will show that the student went 1 minute overtime. However, the student cannot continue working on the test while the pop-up is displayed -- nor after it has been clicked away, if the time limit has elapsed.

Browser Settings for versions older than 7.2, where the timer appears in the bottom status bar, rather than as a floating window at the top right:

To view the test timer, first make sure your status bar is turned on (under View in your browser menu), then you must use these settings. :

Mozilla (Netscape) for Windows: Go to Edit > Preferences > Advanced > Scripts & Plugins > check Allow scripts to change status bar text.
Firefox for Windows: Go to Tools > Options > Content > Enable JavaScript > Advanced > check Allow scripts to change status bar text.
Internet Explorer 7 for Windows: First, make sure that Status Bar is checked under View in the browser's menu bar. Then go to Tools > Internet Options > Security Tab > [Select Internet Zone] > Custom Level > check Enable for Allow Status Bar Updates via Script (under the scripting section).
While you are there, also check Enable for Allow Programmatic clipboard access.
This will prevent a dialog box from opening when you start the test asking if you want to allow clipboard access.
If a student should get this dialog box, selecting either Allow access or Don't allow will not override the script's no copy/paste/print action.
Firefox for Macintosh: Go to Preferences > Content > Enable JavaScript > Advanced and check Change status bar text.
Safari for Macintosh: Select Safari Menu > Preferences > Security > select Enable Java and Enable JavaScript.