Migrating Legacy FW/1 Subsystems

Today I’m going to go over how to upgrade the modular capabilities of your crusty old (read: beautifully written) FW/1 application. While you may have been keeping the framework libraries up to date, perhaps you didn’t take the plunge and move your “legacy” architecture over. That’ll be our target. Note: If you’re still running on top of anything pre-v3.5, this will not apply to you; however, I highly recommend you upgrade to the latest and greatest. [Read More]

Formatting a Color PDF to Grayscale

An Exercise in Leveraging Java

A week or two ago, it was asked in the CFML slack if there was a smooth (easy?) way to convert an RGB formatted PDF to grayscale. I didn’t know of any simple method to reach for without using a 3rd party tool or paid solution (or both!). I don’t know much about ColdFusion or Lucee’s implementations, let alone if they can do it; but my understanding is they only really handle RGB color. [Read More]

FW/1 Alternative Application Structure

At Adobe ColdFusion Summit 2017, Masha Edelen presented her talk - Power Of Simplicity In FW/1. In her presentation, she mentioned setting up the application structure by including the actual framework code in the webroot; explaining that in order to move that code out, you would need a global server mapping. So I figured I’d go over FW/1’s “alternative application structure” and share how I like to implement it. [Read More]

FW/1 & QB Schema Builder

Not too long ago I wrote an article about working with FW/1 and QB; a query builder DSL written by Eric Peterson. In this post, I wanted to touch on a new feature and component released in the latest version of QB, Schema Builder, and how to make use of it in an FW/1 application. Schema Builder presents the ability to build out your database structure using the same awesome builder/chaining format as the Query Builder object. [Read More]

Parsing XML With jsoup In CFML

A Simple Example

At work, we’ve had some tasks lately to build out database schemas for populating rates tied to a given item and category. The rates themselves are in a PDF file. Much of the work has involved some form of manual entry or small copy/paste conversions into the build script. As it stands, these manual tasks can take anywhere from a day, to a day and a half, to complete. Not at all ideal. [Read More]

Using LogBox For Logging In FW/1

I’ve seen talk of FW/1 and LogBox integration come up a few times on the CFML Slack, so I figured I’d run through a way to get that set up in your application and start using it. What Is LogBox? LogBox is a standalone enterprise ColdFusion (CFML) logging library designed to give you flexibility, simplicity, and power when logging or tracing is needed in your applications. Based on Log4j, LogBox offers capabilities to log events and data in your application using various appenders such as writing to a file, database, and email formats. [Read More]

Working With FW/1 & QB

Steps to Integrate Using Subsystems

Today I wanted to go over a library that I think is pretty awesome and echoes capabilities found in many other modern languages: QB. QB is a query builder DSL written by Eric Peterson, who’s been putting out some really cool modular libraries for the CFML community. With QB, you can: Quickly scaffold simple queries Make complex, out-of-order queries possible Abstract away differences between database engines The syntax uses a builder pattern that makes writing queries more readable and easy to understand when glancing through code. [Read More]

Crash Course In CFML & jsoup

Over the years I’ve made repeatable use of the jsoup library so I figured it’d be nice to put out a little primer on using it with CFML. What Is jsoup? From the official site: jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods. jsoup is designed to deal with all varieties of HTML found in the wild; from pristine and validating, to invalid tag-soup; jsoup will create a sensible parse tree. [Read More]

Leave Your Tags at the Door: Some CFML Tag to Script Documentation

So after 2 weeks or so of churning away in my free time, I’ve gone and written some documentation. Of what you say? Well, I made an attempt to write some bits on converting CFML tag-based code to CFScript. It’s nothing fancy. More of a “example A, example B” kinda layout where one chunk is in tags and the other is in script. Back at the beginning of firing this up, I was doing a handful of refactoring legacy code. [Read More]

Exposing Private Fields in Jsoup's Whitelist Class with Reflection

In recent days I’ve been trying to knock out some answers to questions on Stack Overflow. I’ve actually been pretty successful in helping some people out, so I’m happy about that. Two of the questions I ended up answering were in regards to using ColdFusion with Jsoup, a Java based Document Parser, and it’s Whitelist class in some strange different ways. By that I mean they wanted to gain access to data that isn’t freely exposed; and in most cases, I feel you really don’t need it to be. [Read More]