Using Ivy

The easiest way is to use Eclipse and install all modules of the Tiny Marbles Framework: Luigi, Talos, repository, webcore, MUM, CMS and WSM with all dependencies. For the dependencies use the Ivy plugin of Eclipse and the ivy.xml of each module. The Ivy setting path in Eclipse:


Luigi (which includes the osconnector) and Talos you can checkout directly from the Source Forge CVS:


For the repository, webcore, MUM, CMS and WSM we provide Eclipse project packages:

  • repository 0.5.1 Eclipse project
  • webcore 0.6 Eclipse project
  • MUM 2.6 Eclipse project
  • CMS 2.6 Eclipse project
  • WSM 2.6 Eclipse project

After you installed all modules in Eclipse successfully Eclipse should show errors in all projects because of the missing dependencies in your local Ivy repository. Use the Ivy tasks: 'build', 'dist.jar' and 'ivy-publish' of each modul starting in this order: 'Luigi', 'Talos', 'repository', 'webcore', 'MUM', 'CMS' and finally 'WSM'. Now all Java libraries are located in your local Ivy repository and Eclipse should have all depencies of all modules.

Example Ivy file for wsm-2.6:

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   <info organisation="os-kit" module="wsm">
      <license name="Apache License 2.0" url="http://www.apache.org/licenses/LICENSE-2.0" />
     artifacts="true" />
     <conf name="default" description="default configuration" />
     <conf name="build" description="dependencies needed for build" />
     <conf name="quickstart" description="dependencies needed for standalone" />
     <conf name="test" description="dependencies needed for test" />
     <conf name="source" description="source code" />
     <artifact name="wsm" type="jar" conf="default" />
     <artifact type="source" ext="source.jar" conf="source" />
      <dependencies defaultconf="default">
     <dependency org="os-kit" name="cms" rev="2.6+" conf="default->default,source" />    
     <dependency org="com.jhlabs" name="filters" rev="2.0.235" conf="default" />
     <dependency org="javax.mail" name="mail" rev="1.4.1" conf="default" />    
     <dependency org="jetty" name="jetty" rev="6.1.12rc1" conf="quickstart->default"/>
     <dependency org="jetty" name="jetty-util" rev="6.1.12rc1" conf="quickstart->default"/>
     <dependency org="jetty" name="jsp-api" rev="2.1-6.0.2" conf="quickstart->default"/>
     <dependency org="jetty" name="start" rev="6.1.12rc1" conf="quickstart->default"/>    
     <dependency name="recaptcha4j" org="recaptcha4j" rev="0.0.7" conf="default"/>    


Eclipse project

A properly installed Tiny Marbles Framework environment would probably appear like you can see in the screen shot below in the package explorer of your Eclipse IDE:


Attention: For the libraries wsm, cms, mum, repository and webcore should appear the name of your CVS, because we don't use the SourceForge CVS anymore for these packages. Best way is to create your own CVS after downloading the source code of wsm, cms, mum, webcore and repository. The libraries luigi, talos2 and oskconnector you can fetch directly from SourceForge CVS. You don't need necessarily build a 'web project' in Eclipse, a Java project is enough. All Ant tasks are controlled based on the Ivy plugin and you should have an access to the task like this:


For testing and debugging we recommend TomCat 6/MySQL and the Sysdeo Eclipse Tomcat Launcher plugin for Eclipse.

Videos and ffmpeg
Tiny Marbles uses the FFmpeg converter for videos, which has to be installed properly on the server first, because the FFmpeg library is not delivered with the Tiny Marbles distribution. You can download FFmpeg here and use the libary for free, it is Open Source. At installation time of Tiny Marbles you need to specify the path to FFmpeg in the web/WEB-INF/classes/config.properties file of the web application, for example like this:

video.ffmpeg = [installation path]/ffmpeg.exe