Part 3 of the a review of CFCamp 2014 held at Stadthalle Germering, Munich in Germany.
14/11/2014
Part 3 of the a review of CFCamp 2014 held at Stadthalle Germering, Munich in Germany.
David Jones, Developer
Share article
Continuing our review series of CF Camp 2014, here is part 3, carrying on from part 1 and part 2.
Grulping
Some of us already use Grunt and Gulp at mso but so far it is not something that I have used in any of my projects and so this was a talk I was looking forward to attending. This particularly engaging talk was presented by Matt Gifford, yet another brilliant speaker at the conference. Grunt and Gulp are both task runners, written in JavaScript and running on NodeJS. They both essentially can be used to do the same thing, which is pretty much anything you want, but mostly to perform repetitive tasks.
For example, minifying, uglyfying and cache-busting JavaScript and CSS files. Where they differ is how they are implemented. Grunt prefers a configuration method of describing how things are done. Essentially you describe a JSON object full of which plugins are to be run, on what files and in which order. Each plugin will then do its thing, write to file and then pass onto the next plugin and so on.
Gulp on the other hand is written in the more usual NodeJS way with each function piping its output to the next, the data not being dumped to file until the end when you specify it to with a destination. Which you choose is really a matter of choice but the talk made it clear that if you’re not using either right now you should be. They will help simplify and automate your workflow. Now I just have to choose which one – they both look great to me.
Jasper Reports
The Jasper Reports talk was presented by Guust Nieuwenhuis. Jasper Reports is one of the most popular Java based reporting libraries and Guust highlighted that the report functionality in Adobe ColdFusion (up to but not including CF11) is actually a rather old version of Jasper Reports (version 1.7).
Jasper Reports is currently on version 5.6 and clearly if you are using one of these versions of Adobe ColdFusion or perhaps Railo, you could benefit a lot from using the more up to date versions. Guust ran through a demo of Jasper Reports, creating a report from his automated “love letter” application. He showed that it was a lot easier to get a pixel perfect report out of it than by using the version built into Adobe ColdFusion. What interested me most was that you can design the reports using an Eclipse plugin and get the reports to talk to the database server directly.
I could see this being useful for sites with quite a lot of data and on which reports can be quite intensive. One thing I would like to do is to run the Jasper reports against a replicated copy of live databases and therefore limit the resulting performance hit.
Fusion Reactor 5
“This is Fusion reactor, not ColdFusion, nor RailoFusion nor BlueFusion…” begins Charlie Arehart at the start of his talk on Fusion Reactor 5. His point being that Fusion Reactor works with any flavour of CFML engine and for that most Java-based application servers. At first glance Fusion Reactor appears to be a server monitoring tool with a nice dashboard. You can use it to keep tabs on the health of your server, how high your cpu usage is, memory allocated vs memory used etc. However, it is actually quite a bit more than that. It can be a powerful tool in tracking down problems seeing them before they bring your server down. It can report on the actual lines of code that error and also be used to identify and shut down long running requests. What impressed me was that all of this can be achieved with very limited impact on server performance. Its a credit to the abilities of the development team working on Fusion Reactor that they managed this. I would recommend implementing tools like this to clients who have business critical applications. Which, i think would admittedly be most clients. just for the increased visibility on potential problems.
Conclusion
Overall I found the CFCamp conference to be a very worthwhile experience. I left it with knowledge that would help me immediately in my day to day work. I also left with a number of things to continue looking into in the future. The main value I feel however comes from just being there. Being able to meet with other developers, discuss ideas, validate that we are heading in the right direction and confirming that we all come across the same difficulties. By networking like this we not only take away from it new knowledge but, we also help contribute to the CFML community.
On our return flight I have already had some ideas for talks at future conferences which I shall put forward to the organisers. Things that I think that would be quite interesting and useful to other developers. My first thought was to hold a problem solving workshop, getting the attendees to work together through a solution. The idea being to get people to see how others work and tackle problems. My next idea was an introduction to some of the gang of 4 design patterns but adapted to CFML.
I would definitely recommend going to conferences like this, CFCamp in particular. It was just the right size to have a variety of people with different skills and knowledge, but also small enough that interacting with each other was encourage and had an almost family vibe. Aside from some minor schedule changes with people unable to make the conference due to the train strike and the Lufthansa pilots strike it was a very good conference.
If you liked reading this article you may also like: