JRebel Rocks

After working for iText for nine months, I’ve now turned back to consultancy and the web application world.

The web application I’m working in is rather big and redeploying takes time. Luckily the JRebel guys were so friendly to offer me a 3 month license. I hope this three months is enough to convince the guys at my current job location that investing in JRebel is really worth it’s money! (1 week should be enough to convince them, look at the time savings for 2 days down here)

Look what JRebel did:

Over the last 2 days JRebel prevented
at least 79 redeploys/restarts saving you about 3.2 hours.

Otherwise:

Oct 17, 2011 11:44:56 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 210210 ms

Of course during the time of restarts/redeploys you can do other stuff, thus the 3.2 hours is not really the saved time. ( I would say 1.6 would be more realistic.)

What does JRebel do?

JRebel reloads the changed classes and files inside your container. Thanks to this you don’t need to restart and/or redeploy for every change you make. You can instantly see what changed. It even watches your spring configuration, logging configuration, your defined properties files and more for changes and applies the changes to your environment without the need to restart.

I can only say: “Once you go JRebel you never want to go back without it!”

XMLWorker Documentation

When we created the XMLWorker for iText®, we knew we’d have to write documentation. Emiel and I thought it would be nice if our documentation could be parsed to a PDF with the XMLWorker. HTML is currently the only supported XML format in the XMLWorker, hence we wrote it in HTML. We could have used DITA or Docbook format which would have required us to support those formats and study them, but that was/is not (yet) on the schedule. And for a library/framework like XMLWorker it’s a nice show off that it can parse it’s own documentation.

The HTML document we started writing initially took only 2 pages, but while adding stuff to it, it became longer and longer and the HTML file became a pain to maintain. On one evening I got fed up with that HTML file and wanted to split it into different HTML files. I needed to find a way to automagically parse these files to PDF.

Since I switched the itext build tools from ant to maven I thought: ‘wouldn’t it be nice if we could make a build of xmlworker and automatically have the documentation PDF created with it?’ Yes it would! And so I did. I created a maven plugin for us ‘itextdoc’ that parses an itextdoc XML file to PDF, and for the fun of it also transforms all those files to a site. ( A single HTML file or an ajax site, however those must be improved and are experimental.)

The maven plugin is currently not in the Central Maven Repository but I’m planning to upload it with the next release of XMLWorker.

However if you’d like to get a sneak peak you can clone the code from XMLWorkers git on sourceforge and build it yourself.

git://xmlworker.git.sourceforge.net/gitroot/xmlworker/itextdoc

To let it parse different HTML files to one PDF you have to register them in a doc.xml files which somehow follows the itextdoc.xsd. Take a look at the documentation to get a hint on the usage. Please note this is still under development!

iText 5.1.1 Released

Last week we released iText 5.1.1® and XMLWorker 1.0.0

XMLWorker 1.0.0 is the first version of the XMLWorker that creates decent PDFs for HTML without absolute positioning. It’s ideal to parse small snippets of HTML/CSS to PDF. I’d like to ask every one who’s using it to give feedback/ask question if you have a question on the mailinglist and/or report bugs on the sourceforge tracker. The development of the XMLWorker is not in an end phase so we still need your input!
In iText there were some bugs fixed, also thanks to things we discovered with creating the XMLWorker. Check the release notes here.