I just published the first 2.0 releases (2.0.a1) of the Elk Framework and the Elk Press. The releases can be found here:

With the 2.0 release the Elk Framework’s API has changed quite a bit in some places and it is not backwards compatible with the 1.0 API. I know this is a major sin, but to be honest, the 1.0 API was lacking in a lot of places, so the API had to be changed. Hopefully the 3 users out there will forgive me 😉

Anyway, this is the first 2.0 alpha release of the Elk Framework. Not all functionality is in there yet, but my ambition is not to remove or change anything more that already is in the API; only to add.

I hope to be doing more work on the Elk Press this week.

I’ve started working on a project called BrobyGrafisk OffsetPress that is basically a graphical user interface for the Elk Press. BrobyGrafiska OffsetPress is a Swing application that runs on Windows, Mac OS X, and probably most other platforms with Java 5. Here is a screenshot:


Some technical details: The BGOP has an embedded Jetty servlet container with the Elk Press web application deployed in it. The GUI is hooked up with the Elk Press using Spring‘s dependency injection and is registered to receive events when resources, etc, in the Elk Press are updated. The application is still in an early stage, but feel free to give it a try. The Elk Press supports most of the two press-related ICSs, so it should be possible to get it going with a compliant prepress workflow system, such as ApogeeX. You can of course always use Alces for testing; there are sample files included in the BGOP download.

I’ve set up the Hudson continuous integration engine on CIP4’s server to perform nightly builds of the 2.0 branches of the Elk API and the Elk Press. The Elk API build outputs a JAR file and the Elk Press outputs the simulated press in the form of a deployable WAR file. You can monitor the builds here: The build outputs can be found under each job/project’s Workspace-link.

I am currently working on implementing the Resource Query and Resource Command JMF messages so that the Elk Press can get plate status updates from prepress (see Prepress to Conventional Printing ICS). The bold can download the nightly build to try it out (Parts aren’t supported yet).

I just committed a bunch of code to the 2.0 branches of Elk API and Elk Press. The codes is not as stable as the old code in the main branch, but it should work. As I wrote earlier, the Elk API has changed – to the better I hope. Feel free to checkout the code and give it a build.

If you use Eclipse 3.3 as your IDE and install the Subeclipse plugin, then you can create a project for the Elk API and a project for the Elk Press by checking out each one from Subversion (New > Project > SVN). You should then be able to run the Elk Press project in Eclipse’s embedded Tomcat (right-click project, Run As > Run on Server. This is great for debugging (Debug As > Debug on Server).


  • Java 5.0
  • Maven 2

How to build and deploy:

  1. Check out the elk-api project from Subversion (see
  2. Build the elk-api project: mvn package
  3. Install the elk-api JAR in your local Maven repository: mvn install
  4. Check out the elk-press project from Subversion (see
  5. Build the elk-press project: mvn package
  6. Deploy the elk-press project using Maven’s Jetty plugin: mvn jetty:run
  7. Start Alces and connect to http://localhost:8080/elk-press/jmf
  8. Start a Status subscription: right-click Send File… button and select 04.Status-Subscriptiong.jmf
  9. Start a QueueStatus subscription: right-click Send File… button and select 05.QueueStatus-Subscription.jmf
  10. Submit the press job that comes with Alces: right-click SubmitQueueEntry… button and selected Elk_ConventionalPrinting.jdf
  11. Elk will start printing the press job and sent Status and QueueStatus signals to Alces with status updates
  12. When the job is finished its status in the Queue will change to PendingReturn. The updated JDF is currently not returned.

You can also deploy the Elk Press in Tomcat 5.5 (or any other servlet container) by copying elk-press.war to Tomcat’s webapps directory.

My blogging doesn’t seem to be very going very well… Anyway, I though I’d give it another try and post an update on what I’m doing with the Elk Project.

I’ve create a new branch for the Elk API and for the Elk Press where I’m working on a version 2.0. Version 2.0 of the Elk API is not backwards compatible with version “1.0”. If anyone has any opinions on this, please let me know.

Here are some UML diagrams of the Elk API 2.0 so far:

  • The most important classes in the Elk API
    The main classes in the Elk API
  • The event handling framework
    The Elk API’s event framework