Thursday 4 September 2008

Briefing Notes for the IntraLibrary Repository from Intrallect: A Technical Perspective

June 2008
Executive Summary
The IntraLibrary repository is web application that requires a Java Server Pages enabled webserver, such as Tomcat, and a MySQL database. It is fairly straight-forward to install and the software support for the product is good. It has a Powerlink that will allow users to search the repository from our Virtual Learning Environment and incorporate content in courses in a controlled manner. This paper is intended for systems administrators and technical staff. It adopts the seemingly casual tone and terseness commonly used among systems people!

Install Apache and Tomcat

IntraLibrary is a Java Server Pages application, so you will need a server that serves JSPs. The Keele installation uses Apache 2.0 with Tomcat 5.5, a popular combination, running on Linux. There are instructions available on the Internet for installing a JSP-enabled webserver. Happily, a number of major Linux distributions have pre-packaged Tomcat to make installing it a breeze. Tools such as yum (Fedora), apt-get (Debian/Ubuntu) and the Synaptic Package Manager will all let you search their repositories for the current version of Tomcat. Java is obviously a requirement. Talk with your local Linux guru.

Read the Instructions

Seriously. Read the instructions. My only problems happened when I missed part of a step in the instructions. They are fairly clear and Intrallect's support is quite good if you have missed something, but before you call, just check the Troubleshooting section at the end to avoid embarrassment. Other than a few wrinkles which I will detail below, I have found the installation procedure goes smoothly.

My Experience
Create a directory (such as /usr/local/intralibrary3p0) on the filesystem that runs Tomcat and place the intralibrary.war there as well as the config directory. Reading the documentation, you may find that TOMCAT_HOME and CATALINA_HOME are equivalent. Copy the context.xml sample file to $CATALINA_HOME/conf/Catalina/localhost/$CONTEXT.xml and make a backup copy somewhere. It's been deleted when I've made errors doing development work. Copy all of the required jar files to the 3 different directories. (I missed one)

In our MySQL configuration file which lives in /etc/my.cnf , we increased the max_allowed_packet from 20MB to 200MB because of the size of some of the objects we were putting in the repository. You will know that you need to increase it when you get errors in creating a backup with mysql.
[mysqld]
set-variable = max_allowed_packet=200M

When troubleshooting, the logfile you're most interested in is $TOMCAT_HOME/logs/catalina.out Don't worry if you get errors when the IntraLibrary mail function tries to connect to Intrallect. These occur in my log files when it starts up because it's blocked by our system. IntraLibrary has it's own log directory under config, but it's not as relevant for troubleshooting.

For the sake of your users, implement a good database backup policy. We have a cron job running overnight on a separate machine that executes the following command:
ssh -n $REPOSITORY_HOSTNAME 'mysqldump --max_allowed_packet=1073741824 $DATABASE_NAME --password=$PASSWORD' | gzip -1 > $BACKUP_HOME/intralibrary-`date +%Y-%m-%d`.sql.gz

My setup creates a web application at http://repository.keele.ac.uk:8080/intralibrary/ but there is the annoying default Tomcat page at http://repository.keele.ac.uk:8080 . If you edit the index.jsp page or insert a index.html page in $TOMCAT_HOME/webapps/ROOT/, you can create your personalized information page for your repository. We are in the process of developing a method to make the repository searchable by Google using RSS feeds to create Google Sitemaps . Look at Google Webmaster Tools for more information.

We find that the developers at Intrallect are candid about the software's capabilities and future direction. They usually make an appearance at the user conference in Edinburgh where the Keele team successfully found the answers to all the questions that we needed answering for the evaluation process. The first installation took less than a day to complete, including emails to the support team. Now I can usually upgrade the software in under an hour. When upgrading, you may need to remove the context from the webapps directory and start Tomcat in order for the new context to unpack.

WebCT Powerlink
If you have installed a WebCT Powerlink before, connecting WebCT with intraLibrary follows the standard procedure. If you have never installed a Powerlink before, you'll find it a right song and dance. Once again, the instructions from Intrallect are sufficient for the task. Installing a Powerlink requires a restart of WebCT which takes us 10 minutes. There is almost no time of day when we don't have users logged in, so this becomes an issue of managing user expectations. Having a test/backup instance of the VLE has been very convenient for any development and testing.

Further information and Contacts
Intrallect is a small Edinburgh-based software company whose website is http://www.intrallect.com/

Documentation on JSP can be found at the Apache Tomcat home, http://tomcat.apache.org/


The MySQL site is at http://www.mysql.com/


Google Webmaster Tools http://www.google.com/webmasters/tools will require a Google Account.


If you have any questions about issues raised in this document or find any errors, feel free to contact me at Keele University, I would be interested in hearing other experiences in setting up IntraLibrary.

No comments: