This manual is providing information about getting recent versions of the SEB sources, linking the components and how to compile and debug SEB.
SEB consists of three components: a kiosk-application, a portable firefox with the seb-plugin and extensions to divers learning-management-systems (LMS).
Create a local workspace directory for the source code and checkout the source code into your workspace (i.e. C:/workspace). You can use Tortoise svn client (http://tortoisesvn.tigris.org/), right-click your local workspace directory and choose "svn checkout". The svn-repository is located at https://seb.svn.sourceforge.net/svnroot/seb.
To checkout the source code, you don't need an account. If you want to contribute to SEB and checkin your code, you need to have a sourceforge account. Please mail your sourceforge account ID to the project administrator, so he can add you to the project. You can find the latest source code in the /trunk directory of the repository, the tagged source code (1.0, 1.1, ....) is located in the /tags directory.
SEB consists of several components (see Architecture), that are stored in different places in the repository:
After checking out you should have several files and folders in your workspace.
1. MS Visual Studio solution
The SEB Client is organized in a MS visual studio solution (free edition: Microsoft visual studio 2010 Professional Edition, alternatively you can also use another IDE). In the source code (https://seb.svn.sourceforge.net/svnroot/seb/trunk/win/SebWindowsPackage/SebWindowsClient) you can find the solution file for the kiosk application (SebWindowsClient.sln, in the root directory). The solution contains two MS visual studio projects: SebStarter and MsgHook. The project SebStarter is responsible for launching the safe browser, opening an own window desktop and admitting other external applications. MsgHook catches special keys and mouse clicks..
Below is an illustration of the directory structure and the most important files.
SebWindowsPackage/
SebWindowsClient/
MsgHook/
MsgHook.cpp
MsgHook.vcproj
MsgHook.ini
SebStarter/
SebStarter.cpp
SebStarter.vcproj
SebStarter.ini
SebWindowsClient.sln
SebStarter.vcproj and MsgHook.vcproj are the MS visual studio project files. SebStarter.cpp and MsgHook.cpp contain the c++/win32api source code. SebStarter.ini and MsgHook.ini are the configuration files.
2. Build the solution
Open SebClient.sln in MS Visual Studio. You can compile and link the source code by selecting "Build" > "Build solution" in debug or release mode. A new directory Release respectively Debug is created in the SebWindowsPackage directory, containing the files SebStarter.exe and MsgHook.dll.
Below is the directory Release with its content:
SebWindowsPackage/
Release/
MsgHook.dll
SebStarter.exe
3. Run and debug
To run or debug the application, you have to assure that the configuration files SebStarter.ini and MsgHook.ini lie in the C:/workspace/SebWindowsPackage/SebWindowsClient directory (as should be the case if you checked out the SEB from the SVN repository). As said abouve, the SEB extension for XULRunner is included in the /SebWindowsClient directory.
You can make changes to the SEB extension of the XULRunner browser component.
1. Close firefox if it is running
2. Copy the source code to the firefox-extension directory
You can get the code at https://seb.svn.sourceforge.net/svnroot/seb/trunk/win/FirefoxExtension. Copy the {c808Bd5a-5864-11db-8373-b622a1ef5492} directory to Mozilla Firefox/extensions or C:/workspace/Release/SebFirefox(see Source for SEB kiosk application).
3. Start firefox
Here is an illustration of the resulting structure with the most important files:
SebWindowsPackage/SebWindowsClient/xul_seb/
chrome/
content/
css/
images/
js/
browser.js
seb.js
load.xul
seb.xul
locale/
defaults/
preferences/
lock_prefs.js
prefs.js
application.ini
In recent versions of Ilias and Moodle the extensions are no longer required, the connectivity to SEB is already integrated in these LMS.
For older versions of Ilias
You can get the source code for the extension at https://seb.svn.sourceforge.net/svnroot/seb/trunk/ilias.
The extension is a new skin for ilias (written in php), that disables all navigation elements.
For older versions of Moodle
You can get the source code for the extension at https://seb.svn.sourceforge.net/svnroot/seb/trunk/moodle.
The extension is a patch for moodle (written in php), that disables all navigation elements.