Installation

There are two methods for installation of this extension.

  1. Binary Installation - Download and extract the appropriate binary archive over an existing Sakai installation. This is easier for demo purposes and/or for institutions that have no need to modify/customize Sakai source (those who have performed a /wiki/spaces/ARCHIVE/pages/19428639121 of Sakai).
  2. Source Installation - Download the bb-lec source to build and deploy along with the Sakai source. This is recommended for institutions that have performed a /wiki/spaces/ARCHIVE/pages/19428639120 of Sakai.

Binary Installation

Download the appropriate archive below to the root of your tomcat directory:

Once copied, unpack the contents of the archive to add the necessary bb-lec project files along with the patched versions of required Sakai projects.

Make sure to unpack the archive after installing Sakai, otherwise the Sakai installation will overwrite the patched versions of the components provided.

The next step is to make the necessary configuration before starting Sakai. If Sakai is already running, you need to restart the server for configuration changes to be updated.

This only completes the Sakai portion of the connector installation. You must install the corresponding Blackboard Building Block portion to complete the integration.

Source Installation

The source installation of this extension for Sakai requires downloading Sakai source, adding the connector project source and applying a few necessary patches followed by a complete Sakai build and deploy. If you are unfamiliar with the Sakai build process you should look at the source install guide in the release documentation for the particular release. For the 2.5 release, for example - /wiki/spaces/ARCHIVE/pages/19428639120

Download Blackboard LEC for Sakai Source

The first step is to checkout the connector source for the particular release. This is located at https://source.sakaiproject.org/contrib/syracuse/bb-lec/. In the tags and branches directories you will see subdirectories for each supported version of Sakai.

It is important that you checkout the appropriate version, otherwise the necessary patches may not apply correctly.

A quick note on bb-lec branches and tags: The branches directory contains branches of the bb-lec project with support for various Sakai tags and branches. The sakai-2.5.4 branch, for example, is a bb-lec bugfix branch with support for Sakai 2.5.4. Periodically, tags will be made from this branch and can be found in the tags directory with the sakai-2.5.4 label, along with an additional incremental tag version extension (such as sakai-2.5.4_n where 'n' is the latest tag version). You should always grab the tag with the highest tag version. Optionally, you can simply use the sakai-2.5.4 branch and periodically update the source with the latest changes using subversion.

For example, assuming you've checked out the source for Sakai 2.5.4, you need to checkout the matching connector source as follows:

(for GNU/Linux)

$ cd /path/to/sakai-2.5.4
$ svn co https://source.sakaiproject.org/contrib/syracuse/bb-lec/tags/sakai-2.5.4_0 bb-lec

For Sakai 2.6.0 and beyond, you will need to check out the appropriate kernel source separately. You can determine the version by referencing the sakai.kernel.version property set in the master/pom.xml file.

Patch Sakai Source

Next you need to apply the necessary modifications to the Sakai source required for the connector to function properly. There are two methods for doing so:

  1. Applying provided patches
  2. Overwriting Sakai source

Applying provided patches

This method best applies if you already have local modifications to your Sakai source and there is risk that simply by overwriting those changes may be lost. By applying patches to the code, the desired changes are merged into the existing code instead of being copied over. The patches are found in the patches subdirectory and can be applied as follows.:

(for Sakai pre-2.6.0 on GNU/Linux)

$ cd /path/to/sakai-2.5.4/component
$ patch -p0 < /path/to/sakai-2.5.4/bb-lec/patches/component.patch
$ cd /path/to/sakai-2.5.4/portal
$ patch -p0 < /path/to/sakai-2.5.4/bb-lec/patches/portal.patch
$ cd /path/to/sakai-2.5.4/reference
$ patch -p0 < /path/to/sakai-2.5.4/bb-lec/patches/reference.patch
$ cd /path/to/sakai-2.5.4/site-manage
$ patch -p0 < /path/to/sakai-2.5.4/bb-lec/patches/site-manage.patch
$ cd /path/to/sakai-2.5.4/tool
$ patch -p0 < /path/to/sakai-2.5.4/bb-lec/patches/tool.patch

Windows' administrators can have a look at http://cygwin.com/ and http://gnuwin32.sourceforge.net/ to download a compatible version of the patch utility.

(for Sakai post-2.6.0 on GNU/Linux)

$ cd /path/to/sakai-2.6.0/portal
$ patch -p0 < /path/to/sakai-2.6.0/bb-lec/patches/sakai/portal.patch
$ cd /path/to/sakai-2.6.0/reference
$ patch -p0 < /path/to/sakai-2.6.0/bb-lec/patches/sakai/reference.patch
$ cd /path/to/sakai-2.6.0/site-manage
$ patch -p0 < /path/to/sakai-2.6.0/bb-lec/patches/sakai/site-manage.patch
$ cd /path/to/kernel-1.0.11
$ patch -p0 < /path/to/sakai-2.6.0/bb-lec/patches/kernel-1.0.11.patch

Overwriting Sakai source

This method is easier than the above method and applies for those installations for which there are no existing local modifications to the Sakai source. It entails simply recursively copying the contents of the overlay directory over the Sakai source, something like the following:

(for Sakai pre-2.6.0 on GNU/Linux)

$ cp -r /path/to/sakai-2.5.4/bb-lec/overlay/* /path/to/sakai-2.5.4/

Expect to see "Permission denied" errors as the overlay actually tries to overwrite subversion metadata. These can be ignored.

(for Sakai post-2.6.0 on GNU/Linux)

$ cp -r /path/to/sakai-2.6.0/bb-lec/overlay/sakai/* /path/to/sakai-2.6.0/
$ cp -r /path/to/sakai-2.6.0/bb-lec/overlay/kernel/* /path/to/kernel-1.0.11/

Build Patched Source

Once the necessary modifications are merged into the Sakai source, you must build and deploy the changes as documented in the /wiki/spaces/ARCHIVE/pages/19428639120.

(for Sakai pre-2.6.0 GNU/Linux)

$ cd /path/to/sakai-2.5.4
$ mvn clean install sakai:deploy -Dmaven.tomcat.home=/path/to/tomcat/

(for Sakai post-2.6.0 GNU/Linux)

$ cd /path/to/kernel-1.0.11
$ mvn clean install sakai:deploy -Dmaven.tomcat.home=/path/to/tomcat/
$ cd /path/to/sakai-2.6.0
$ mvn clean install sakai:deploy -Dmaven.tomcat.home=/path/to/tomcat/

Next you need to build and deploy the bb-lec project:

(for GNU/Linux)

$ cd /path/to/sakai-2.5.4/bb-lec
$ mvn clean install sakai:deploy -Dmaven.tomcat.home=/path/to/tomcat/

You can eliminate the additional step of building and deploying the bb-lec project (assuming it resides in the Sakai source directory alongside the other Sakai projects) by adding the following line to the list of modules in the full profile of the /path/to/sakai-2.5.4/pom.xml file:

...
<module>bb-lec</module>
...

Doing so tells maven to build the bb-lec project in addition to the other core Sakai projects listed.

After successfully deploying the updated Sakai code, you need to make the necessary configuration changes before starting Sakai.

This only completes the Sakai portion of the connector installation. You must install the corresponding Blackboard Building Block portion to complete the integration.