Deploying Content Transcoder

I have had a few requests for help on deploying the Content Transcoder on a local machine. The process is simple but has one or two gotchas. I have done this on OS X and Ubuntu but it should be pretty similar  on Windows.

You will need:

Java

Tomcat 6.x As far as I can tell it must be 6+ since the transcoder doesn’t seem to play nice with the XSLT processor packed with earlier versions.

Latest snapshot build of the transcoder. You are looking for the latest modified .war file. Once downloaded you will want to rename it transcoder.war

Set up Tomcat

1)You will need to unpack tomcat; I unpacked mine to the desktop.

2)Set permissions on Tomcat directory; I opened a terminal (/Applications/Terminal) and typing something along the following:

sudo chmod -R 755 /Users/david/Desktop/tomcat/

You may also need to set the environment variable JAVA_HOME.  On OS X you may find this guide helpful.  On Windows Right click computer->properties and go to the Advanced tab. Select Environment Variables and add JAVA_HOME setting it to point at the JDK. i.e c:Program FilesJavajdk1.*

Deploy Transcoder

Deploying the transcoder is as simple as placing the war file into your /tomcat/webapps folder. Tomcat will do the dirty work for you.

Run Tomcat

Tomcat can then by run running the startup.sh script or startup.bat for windows; in your terminal this can by done by  something like this:

/Users/david/Desktop/tomcat/bin/startup.sh

Now you should be able to see tomcat in your web browser at localhost:8080 and transcoder at localhost:8080/transcoder.

Tweek Transcoder configurations

You may want to make some changes to how transcoder is set up. You will need to change the configuration to use Apache Derby instead of the default MySQL. This can be done by editing the file at:

tomcat/webapps/transcoderWEB-INF/deployment.properties

This should be a text file with two sets of properties with the bottom set commented out, you need to switch these around so the files look like this:

#hibernate.jdbc_driver=org.gjt.mm.mysql.Driver
#hibernate.username=k-int
#hibernate.password=k-int
#hibernate.default_auto_commit=false
#hibernate.url=jdbc:mysql://localhost/transcoder
#hibernate.hbm2ddl.auto=update
#hibernate.dialect=org.hibernate.dialect.MySQLDialect

hibernate.jdbc_driver=org.apache.derby.jdbc.EmbeddedDriver
hibernate.username=APP
hibernate.password=APP
hibernate.url=jdbc:derby:derbydb;create=true
hibernate.dialect=org.hibernate.dialect.DerbyDialect
hibernate.default_auto_commit=false
hibernate.hbm2ddl.auto=update

Restart tomcat

You may then wish to stop and start tomcat:

Users/david/Desktop/tomcat/bin/shutdown.sh

Users/david/Desktop/tomcat/bin/startup.sh

On windows you are looking for startup.bat and shutdown.bat

Now you should be ready to go simply by pointing your favorite web browser at localhost:8080/transcoder

Help its not working!

I see tomcat at localhost:8080 but nothing at localhost:8080/transcoder.
If you didn’t rename your war you will need to navigate to localhost:8080/transcoder-web-****

I see transcoder but it won’t convert packages.
If you changed the properties above and still have no luck the chances are that your JAVA_HOME is not set correctly. Google and a bit of tinkering should sort you out.