1. Getting started
The easiest way is to use Eclipse and install Luigi, Talos and the repository 0.3 with all dependencies. For the dependencies use the Ivy plugin of Eclipse and the ivy.xml of each library. Please start with Luigi and Talos, and then with the repository. In case you are using a local Ivy repository, you have to publish all libraries in your local Ivy repository. After that install the libraries: webcore 0.4, MUM 2.3 and CMS 2.3 (in this order ... ), and don't forget to update your local Ivy repository after the successful installation of each library.
Example: ivy.xml for cms-2.3:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="os-kit" module="cms">
<license name="Apache License 2.0"
url="http://www.apache.org/licenses/LICENSE-2.0" />
<repository
name="os-kit.org"
url="http://www.os-kit.org/ivyrep/"
pattern="[organisation]/[module]/[module]-[revision]-ivy.xml"
ivys="true"
artifacts="true" />
</info>
<configurations>
<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" />
</configurations>
<publications>
<artifact name="cms" type="jar" conf="default" />
<artifact type="source" ext="source.jar" conf="source" />
</publications>
<dependencies defaultconf="default">
<dependency org="os-kit" name="mum" rev="2.3+" conf="default->default,source" />
<dependency org="jaudiotagger" name="jaudiotagger" rev="1.0.8" conf="default" />
<dependency org="opensymphony" name="quartz" rev="1.6.0" 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"/>
</dependencies>
</ivy-module>
1.1 Tiny Marbles project in Eclipse
A properly installed Tiny Marbles CMS 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 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 cms, mum, webcore and repository. The libraries luigi, talos2 and oskconnector you can fetch directly from SourceForge CVS.
The libraries talos2, luigi and oskconnector are stored on the Source Forge CVS:
- :pserver:anonymous@talos.cvs.sourceforge.net:/cvsroot/talos
- :pserver:anonymous@cw-search.cvs.sourceforge.net:/cvsroot/cw-search
Advice: You don't need necessarily build a 'web project' in Eclipse, a Java project is enough. After downloading the source code of the libraries cms, mum, webcore and repository use the folder structure how you can find in the zip file for your CVS and Eclipse. For testing and debugging we recommend TomCat 6/MySQL and the Sysdeo Eclipse Tomcat Launcher plugin for Eclipse. 
Go then to the properties of 'cms' in the package manager of Eclipse and open the TomCat window. Set the URI to 'cms' and the folder which should used as the root for the web application to '/web'. Eclipse generates the config file for running TomCat 'cms.xml' and stores it in the folder: [path to your TomCat installation]\Tomcat 6.0\conf\Catalina\localhost. 
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
TOP
1.2 Ivy plugin and Ant in Eclipse
The easiest way to handle all dependencies properly for a complex application like Tiny Marbles is to use the Ivy plugin for Eclpise in combination with Ant. Don't forget to publish the libraries in your local Ivy repository after installing in your Eclipse environment. Everything is prepared, as you can see in the screen shot below of the Ant tasks in Eclipse. 
1.3 Standalone version for a quick test
You are not sure if Tiny Marbles suit your requirements, and the installation in Eclipse takes too much time? No problem, use our standalone version to get a first impression, how the CMS is working. The standalone version comes with Jetty and three clicks are enough to start the system on your machine. The only thing you need is a MySQL 5 installation with a database called 'cms' and the user='root' and password='root'. The idea of a standalone version is also perfect for quick testing or the presentation of your project to the client. Download the standalone version, unpack the zip-file and read the instructions in the 'quickstart.txt':
# Database
The standalone version works by default with MySQL.
You need a database with the name 'cms' (user=root, password=root).
In case you would like to change the database name and the username or password,
edit the file 'application-context.properties' in the folder \web\WEB-INF\classes
and change the following lines:
hibernate.connection.url=jdbc:mysql://localhost/cms?characterEncoding=UTF-8
hibernate.connection.username=root
hibernate.connection.password=root
# Video converter FFmpeg
In case you would like to use the video upload in your standalone version,
install the FFmpeg converter first on your machine.
You can download FFmpeg here:
http://ffmpeg.org/
Specify the path to FFmpeg in the file 'config.properties' which you will find
in the directory web\WEB-INF\classes, for example like this:
video.ffmpeg = [installation path]/ffmpeg.exe
# Search
The default search directory is c:\temp\search
If you would like to change, edit the file 'application-context.properties'
in the folder \web\WEB-INF\classes and change the following lines:
luigi.file.english=c:/temp/search/search-en
luigi.file.german=c:/temp/search/search-de
# Start and stop CMS standalone version
To start CMS standalone application start command:
startup.bat (or startup.sh on linux)
Open your browser and go to: http:/127.0.0.1/cms or http://localhost/cms
Login with the user name 'admin' and the password 'admin'. This user is the super user
of the application with all permissions. Check out creating new users with other permissions.
To stop CMS start:
stop.bat (stop.sh on linux)
# Webserver, Port 80
By default the standalone version uses port 80, but you can change, for instance to port 8080.
edit the file 'jetty.xml' in the folder \jetty\etc and change the following line:
Open your browser and go to: http:/127.0.0.1:8080/cms or http://localhost:8080/cms
Check out the Ant manager in the screen above, where an Ant task ('dist.standalone') is prepared, in case you would like to create a standalone version of your own project very quickly.
The standalone version supports also other databases than MySQL, like for instance Postgresql. Take a look at the configuration file 'application-context.properties' in the directory [path to your installation]\cms-2.3\web\WEB-INF\classes, where you can configure different databases. You also can change in this file the username or password for the database. 
# hibernate configurations
# Postgresql Example
#hibernate.connection.driver_class=org.postgresql.Driver
#hibernate.connection.url=jdbc:postgresql://localhost/mum?characterEncoding=UTF-8
#hibernate.connection.username=postgres
#hibernate.connection.password=postgres
# MySQL Example
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost/cms?characterEncoding=UTF-8
hibernate.connection.username=root
hibernate.connection.password=root
#C3P0
hibernate.c3p0.initial_size=5
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.acquire_increment=3
hibernate.c3p0.timeout=100
hibernate.c3p0.max_statements=50
hibernate.c3p0.idle_test_period=100
hibernate.c3p0.retry_attempts=5
Videos and ffmpeg
If you would like to use the video upload feature in the standalone version, you have to install first FFmpeg on your machine and specify the path to FFmpeg in the file 'config.properties' which you will find in the directory [path to your installation]\cms-2.3\web\WEB-INF\classes\, for example like this:
video.ffmpeg = [installation path]/ffmpeg.exe
TOP
2. Tiny Marbles component model
The UML component model shows, which Java libraries are used, and gives an overview to the main dependencies. For the management of the dependencies we use Ivy, therefore please check the according Ivy files in the Tiny Marbles distribution for all detailed dependecies of the Java packages.
Download Tiny Marbles component model [JPEG 0.4 MB]
TOP
3. Deploy Tiny Marbles
For the deployment of Tiny Marbles you need a web application server (like TomCat), a database (like MySQL or any other RDBMS) and the FFmpeg video converter. Before you deploy the WAR-file make sure, that all configuration files have the correct information about the environment. You find the configuration files in the folder WEB-INF\classes, the following two are the most important one:
- application-context.properties
- config.properties
Basic configuration:
# Database
To set the database name, username, password and the database connection pool
edit the file 'application-context.properties' in the folder WEB-INF\classes
and change the following lines (here the example for MySQL):
hibernate.connection.url=jdbc:mysql://localhost/cms?characterEncoding=UTF-8
hibernate.connection.username=root
hibernate.connection.password=root
hibernate.c3p0.initial_size=5
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.acquire_increment=3
hibernate.c3p0.timeout=100
hibernate.c3p0.max_statements=50
hibernate.c3p0.idle_test_period=100
hibernate.c3p0.retry_attempts=5
# Video converter FFmpeg
You need to install the FFmpeg converter on the server.
You can download FFmpeg here:
http://ffmpeg.org/
Specify the path to FFmpeg in the file 'config.properties' which you will find
in the directory WEB-INF\classes, for example like this:
video.ffmpeg = [installation path]/ffmpeg.exe
# Search
The default search directory is c:\temp\search
If you would like to change, edit the file 'application-context.properties'
in the folder WEB-INF\classes and change the following lines:
luigi.file.english=c:/temp/search/search-en
luigi.file.german=c:/temp/search/search-de
You probably have to set up the location of the logfiles (log4j.xml) and the temp-directory for the multipart-upload (struts.properties). Check out the complete file 'config.properties' for advanced configuration like validation parameter or video parameter. After the deployment you additionally can set zone configuration parameters at runtime.
TOP
4. System requirements
- Java 6
- TomCat 5.5 or 6 or other Java based web application server
- RDBMS, like: MySQL 5, Microsoft SQL-Server, Oracle, Postgresql
- FFMpeg video converter
TOP