explicanto by Beck et al. Services GmbH > explicanto Open Source Project
explicanto
 

explicanto Authoring Platform Client Documentation

explicanto Developer Documentation for the Client of the Authoring Platform

How to build the Explicanto Server

The Explicanto Server is generated from several source libraries. Each library is available as an Eclipse project on the svn and should be imported into the Eclipse workspace. After the import is complete and you add the external libraries you can use the Ant script to build the server project.

A build of the server will result in a war file that should be uploaded into a Tomcat distribution. You need to have Tomcat 5.0.30 or higher installed. (It is possible the server will run on different application servers but this has not been tested yet - we are happy to put here additional information for various configuration if you succeeded in working with them).

The first step is to fetch all the projects from the trunk/authoring/server folder in svn repository. The projects to be obtained are:

  • Libraries
  • Deploy
  • Bea Environment
  • Bea Util
  • Vidya Base
  • VidyaCommon
  • VidyaServer

Even if the order does not matter it is best to start with the Libraries to be able to fill in all the dependencies. The external jars will be distributed in several places:

The workspace and projects should look like in the folowing images (libraries from all the folders are automaticaly added to the project's build path):




To build the explicanto server, there is an Ant script in the Deploy project that should be used.
The folowing steps must be covered to perform the build:

  1. In the build.xml file from the Deploy project set the value of the workspacehome property to the location of youre eclise workspace. Also the JAVA_HOME evironment variabile must be set.
  2. Create an Ant Build run configuration from Run->External Tools
  3. In the run configuration select the build.xml file from the Deploy projects as the buildfile
  4. In the targets tab of the run configuration select the folowind targets in the given order: prepare, compileWebservice, cleanup
  5. In the VidyaServer/xpcdb.properties you have to set the database connection settings
  6. In the VidyaServer/explicantoServer.properties you can set the course export information. Set the course_target_location to the ROOT/Courses folder of you're using the Tomcat instalation.
  7. Run the ant configuration
  8. Deploy the war file into your Tomcat. The war file can be found in the Deploy/build/explicanto folder

Before running the server you will have to create a database. You can select a mysql or postgresql server and use the database creation scripts from the Deploy/tools folder. After you create the database you should initialize the data and update your xpcdb.properties file with the database location and connection credentials.

Database setup

For the database you can choose between mysql and postgresql. Both databases are fully supported and have creation scripts. In order to create a new database you have to:

  1. Install or start the database engine
  2. Create a new user named xpc_user with the password xpc_pwd (of course you can choose any username or password you wish, this is only an example!)
  3. Create a new database named xpcdb with the xpc_user having full rights (ownership)
  4. Run /Deploy/tools/database-clean-db.sql script (database is mysql or postgresql)
  5. Run /Deploy/tools/createInitialContent.sql
  6. Run /Deploy/tools/settings-database.sql
  7. Run /Deploy/tools/initial.sql

External Libraries

Dependencies for the project Libraries:

Dependencies for the VidyaServer/CourseTransformator/WEB-INF/lib folder:

Dependencies for VidyaServer/ServerLibraries:

Depedencies for the VidyaServer/ServerLibraries/climp:

  • axis.jar
  • climp.jar - This jar can be found in this folder. It comes with the distribution an it is optional. If it is not added to the server than an error will be shown when an course export is started with climp enabled.
  • FTPProtocol.jar
  • ibmjsse.jar
  • jdom.jar
  • roster.jar

Dependencies for the VidyaServer/ServerLibraries/reports folder:

Please pay attention to the libraries names - usually they are without numbers and are referred like that from the projects. If you are using a library with version numbers then you can either remove it or update the project (locally).

Common Build Problems

If the workspace shows errors in all the projects except Libraries and Deploy then you should do the folowing:

  1. Remove Bea Environmet, Bea Util, VidyaBase, VidyaCommon, VidyaServer projects from the workspace WITHOUT removing them from the filesystem. Select DO NOT DELETE CONTENT in the message box that appears when you try to delete.
  2. Import them back again from the current workspace using Import->Existing Projects Into Workspace
  3. Perform a full workspace rebuild

Make sure that the Java compiler lever is set to 1.4 or higher to avoid errors coming from the assert keyword. (there are present in the Bea Util project)

TODO

  • Specify for each library a minimal version and how to get it
  • Specify a build from the sources, with regeneration of the model objects
  • Write a hacking howto
  • Eliminate dependencies (integrate into code)
  • Howto sign with your own keystore/certificates