The ePresence Blackboard Integration Guide

This guide will explore the modification process of the ePresence  Blackboard  Building Block, and its integration with the system. It will also briefly cover Blackboard.


What is Blackboard

Blackboard is a Web-based Course Management System (CMS) which allows faculty to manage the distribution of course assignments, the course bulletin board, grades and all related materials for the course.

Students enrolled in courses can logon to Blackboard and download assignments, view their grades, and ask questions on the course bulletin board. The ePresence Building Block allows students to watch any lectures they've missed right into Blackboard (without leaving the page).

Code-wise, Blackboard is Java-based and runs on  Tomcat. Its web pages are rendered as  Java Server Pages (JSP).

What are Blackboard Building Blocks

 Blackboard Building Blocks allow developers to create custom functionality so that the system may expand to meet the needs of businesses and corporations as well as educational institutions who want more than the default functionality that Blackboard provides.

Code-wise, a building block is a bundle of files: a fixed set of required files define the building block and another set of application-specific files add functionality to the building block. These files are bundled/compiled into a single  .WAR file and uploaded into Blackboard as a Building Block.

The ePresence Building Block

The ePresence Building Block allows Instructors and Administrators to add video-streaming archives into their course. These archives can be viewed by all students enrolled in the course. This section will cover the setup of the programming environment, modifying ePresence Building Block and exporting/compiling into a single .WAR file.

Table of Contents

  1. Setting-up the workspace
  2. Modifying the ePresence Building Block
  3. Exporting to .WAR

Before continuing, make sure you have a copy of the ePresenceBlackboard project folder.

i. Setting up the workspace

  1. The ePresence Building Block was created using using Eclipse Ganymede Version 3.4.0. Download  Eclipse IDE for Java EE Developers, then extract and run Eclipse to continue setting up your environment.
  2. With Eclipse up and running, go to File --> Import then select Import Existing Projects into Workspace and click Next.
  1. Now is time to import the ePresence Building Block project. Click on Browse and select the ePresence Project folder (named ePresenceBlackboard). You can choose to copy project onto your workspace if you want to have a copy of the original for reference. Finally click on Finish.
  1. We have to load the Blackboard .JAR files (supplied in the package) so that all libraries referenced can be found. In the Project Explorer find the ePresenceBlackboard project, Right click on its name then go to Build Path --> Configure Build Path.
  1. Find the jars folder and select all jars: bb-as-windows-X.X.XXX.X.jar holds all Blackboard libraries for whichever version (X.X.XXX.X) you have. bb-cms-admin.jar, bb-cms-taglib.jar, bb-platform.jar provide permission libraries, UI/layout schemas and platform compatibilities. Click Open then OK to save the changes.
  1. Done! Your workspace environment is setup and you are now ready to modify the ePresence Building Block.


ii. Modifying the ePresence Building Block


Why?

The number one reason that stands out the most is for Blackboard to allow a new installation of the ePresence Building Block to connect to ePresence servers to access archived videos.

Another reason for modifying the ePresence Building Block might be to make use of Blacboard's internal database for storing/retreiving the archives for each course. Currently, each course has an associated .XML file outlining all properties for each video archive.

Enable the ePresence Building Block to access external servers
This section describes how to modify the ePresence Building Block so that Blackboard allows it to connect to ePresence/video archive servers.
  1. In the Eclipse Project Explorer, traverse through the ePresenceBlackboard project to WebContent? --> WEB-INF then right-click on bb-manifest.xml and select Open With --> Text Editor.
  1. Scroll near the bottom of the file until you see the following:
    <permissions>
        <permission type="java.net.SocketPermission" name="epresence.tv:80" actions="connect,accept,resolve,listen"/>
        <permission type="attribute" name="user.authinfo" actions="get,modify,persist" />
        <permission type="attribute" name="user.personalinfo" actions="get,modify,persist" />
        <permission type="attribute" name="Group" actions="get"/>
        <permission type="attribute" name="GroupMembership" actions="get"/>
        
        <permission type="persist" name="Content" actions="create, modify, delete"/>
    
        
    </permissions>
    
  1. We will modify the first permission to contain the new IP address (and port) of an ePresence video archiving server.

Change

<permission type="java.net.SocketPermission" name="epresence.tv:80" actions="connect,accept,resolve,listen"/>

to

<permission type="java.net.SocketPermission" name="XXX.XXX.XXX.XXX:80" actions="connect,accept,resolve,listen"/>

Change port 80 as necessary (if you know it).

The next step is to export the ePresence Building Block into a .WAR so that it can be imported/installed onto a Blackboard server. Once the building block is installed, Blackboard will enable it to access the ePresence video-archive server IP XXX.XXX.XXX.XXX:80 so that instructors or administrator can add videos for students to watch.

iii. Exporting to .WAR

Exporting to a .WAR compiles all source code, images, audio, video, any media that belongs to the project, into one installable/executable file. Just line MS.Windows has .EXE's, Blackboard has .WAR installables (which are Java-based).

To export the ePresenceBlackboard project to a .WAR, right click on the project name, go into Export --> WAR file



Click Browse to choose the directory to save the .WAR file, for instance on the desktop.

After exporting your first .WAR file, you may wish to customize the Building Block to meet your needs (such as multi-port support, or even create your own video-attachment (with your webcam) to a live ePresence Webcasting). Just make sure that Overwrite existing file is checked from the beginning or Eclipse will complain.


Click Finish and you are ready to install/import onto Blackboard.

Importing to Blackboard

...coming soon

Attachments