Writing CSV with CFML 28 Nov 2023The Spreadsheet CFML library now has improved support for creating CSV from your data Reading large CSV files with CFML 20 Nov 2023The Spreadsheet CFML library now supports fast, memory efficient CSV file processing Adding validation drop-downs to your spreadsheets with CFML 14 Oct 2022The Spreadsheet CFML library now supports adding validation drop-downs to cells programmatically. Reading large spreadsheets with Lucee 17 Aug 2022The Spreadsheet CFML library now supports reading large spreadsheets via streaming. Fixing problems using spreadsheet-CFML on Linux 26 Jul 2022Out of the box, some Linux builds are missing components needed to generate spreadsheets. The simplicity of chaining calls in Spreadsheet CFML 9 Nov 2021The latest version of Spreadsheet CFML allows you to chain method calls for simpler, more expressive code. Lucee Spreadsheet is now Spreadsheet CFML 2 Nov 2021The library has long supported Adobe ColdFusion but the new renamed version makes clear it supports ACF as well as Lucee. Defining Application mappings using relative paths in Lucee 3 Sep 2021Lucee allows you to simplifiy mapping definitions in Application.cfc by using relative paths. But sticking to absolute paths may be more reliable. Copying Windows file permissions in Lucee 30 Jun 2021Lucee currently has no built-in methods for setting file permissions on Windows, but it can be done by making a few java calls. Renaming CFML query columns 25 Feb 2021Column names in CFML query objects can pose problems in certain cases, especially with Adobe ColdFusion. Here's a UDF allowing them to be safely renamed. Forcing Lucee to re-check the physical paths of application defined mappings without a restart 15 Oct 2020If the physical path of a mapping is missing when an application starts, an incorrect value will be cached for the life of the server. Here's how to force Lucee to re-evaluate mapping paths without a restart. Loading java libraries dynamically in Lucee (without JavaLoader) 26 Jun 2020JavaLoader is no longer the only way to load third-party java libraries in Lucee dynamically and without fear of class clashes. Generating large spreadsheets more efficiently using SXSSF 25 Nov 2019Creating large spreadsheets can be resource intensive and lead to timeouts or out-of-memory errors. POI's "streaming XML" (SXSSF) format can address this problem. Using Lucee's simple parallel processing appropriately 25 Jul 2019Lucee 5 makes it really easy to execute loop iterations in parallel. But not all loop operations will benefit, and the approach needs to be applied with care. Uploading files via a Taffy REST API in CFML 8 Mar 2019Using multipart forms isn't the only, or necessarily the best way of uploading files, especially when doing so via a REST API. Getting started with Elasticsearch using Lucee Part 2 27 Sep 2018A basic introduction to querying an Elasticsearch index using Lucee CFML. Getting started with Elasticsearch using Lucee Part 1 27 Sep 2018A basic introduction to setting up an Elasticsearch index using Lucee CFML. Replacing Query-of-Query in Lucee with simpler, faster alternatives 4 Sep 2018Query-of-Query seems useful because the SQL syntax is familiar. But it's known to be slow, and there are better alternatives. CFML: Sorting an array of objects by a specific property 22 Aug 2018How to take an array of CFML objects and sort it by a specific property of the object. Lucee 5: simpler queryparam syntax for SQL IN conditions 13 Jul 2018In Lucee 5 you can directly pass an array of values as a SQL query parameter. Lucee 5: application defined mailservers 19 Oct 2017Lucee now allows mailservers to be defined in Application.cfc. Lucee 5: simpler access to environment variables 18 Oct 2017Lucee now has a built-in way of accessing environment variables. The simplicity of "upward" relative component paths in Lucee 24 May 2017Lucee allows you to instantiate cfcs above the current location without a mapping. Revised CFML client library for the GoCardless Direct Debit API 14 Dec 2016Announcing a revised CFML client library for interacting with the GoCardless Pro Direct Debit API. Preventing invalid cookie errors being logged when making Lucee http calls 1 Nov 2016How to stop your Lucee/Tomcat logs filling up with "invalid cookie header" entries from http calls. Empower your users with spreadsheets 23 Jun 2016Database servers make excellent progammable data stores, but unless you're a programmer or DBA they can be disempowering. Manually connecting Lucee to an IIS website 10 Mar 2016If you only need Lucee to run some of your IIS websites, connecting them up manually one by one is a fairly straightforward option. Simpler and (ever so) slightly faster looping in Lucee cfscript 18 Feb 2016Moving to the simpler, more expressive loop script syntax in Lucee brings an unexpected, albeit tiny, performance gain. Lucee Spreadsheet Library: How to populate multiple sheets from separate queries 11 Nov 2015How to use the Lucee Spreadsheet library to create a spreadsheet containing multiple sheets each populated from a query. String concatenation in Lucee 8 Sep 2015Building strings in Lucee 4.5 using arrays seems to be slower than ColdFusion 9. Java may be best where performance matters. Average Request Time: Lucee 4.5 vs ColdFusion 9 4 Aug 2015Running on the same server, Lucee 4.5 appears to process requests around twice as fast as ColdFusion9 on average. The simplicity of Lucee 16 Apr 2015How Lucee is making my code simpler compared to ColdFusion 9. An alternative way of working with spreadsheets in Lucee 11 Mar 2015Implementing spreadsheet functionality in Lucee using the old Railo extension is more complex than I'd like, so I've re-written it as a standalone library. Migrating from ColdFusion to Railo to Lucee 2 Mar 2015Having recently moved to Railo from ColdFusion 9, switching to Lucee has proved mercifully straightforward, despite continuing issues with ORM. Migrating from ColdFusion 9 to Railo 4.2 23 Oct 2014First in a probable series on issues encountered and changes needed when migrating apps from Adobe ColdFusion to Railo. The simplicity of GoCardless 13 Oct 2014GoCardless offers UK small businesses and organisations a modern service for taking payments online via Direct Debit. Integrate with their API easily with a new CFML client library. Installing Railo on IIS alongside ColdFusion 9 29 Sep 2014Configuring a site to run Railo on an IIS server already connected to ColdFusion 9 is not as hard as expected, but is best done manually. Fixing a strange Ehcache issue in CF9 2 Sep 2014How to fix the "net.sf.ehcache.CacheException: error setting options" issue in ColdFusion 9. ColdFusion ORM quirks: removing one-to-many children 8 Aug 2014Removing individual one-to-many child objects from a parent ORM entity is straightforward. But if you want to remove several or all at once, things are a bit trickier. The simplicity of migrating from MySQL to MariaDB 29 Jul 2014Upgrading from an old version of MySQL to the latest MariaDB as the database for ColdFusion applications is generally very easy, but you may need to update the data source connector. Upgrading to FW/1 2.5 14 Jul 2014A minor code change was necessary when upgrading my apps to use the latest version of FW/1. There's also a small but useful addition to the API. Installing ColdFusion 9 on Windows 8 10 Feb 2014Struggling to install the 64-bit version of ColdFusion 9 on your Windows 8 PC? Try the 32-bit installer. The simplicity of Adaptive Images 29 Nov 2013A new CFML version of the server-side solution to automatically create, cache, and deliver device-appropriate versions of your website's images. Faster spreadsheet generation from queries in ColdFusion 25 Nov 2013Stop using SpreadsheetAddRows() to populate spreadsheets from queries. The cfspreadsheet tag does it much faster. ColdFusion ORM quirks: ordering one-to-many children via a link table 1 Nov 2013First in a series on minor aspects of CF ORM which have tripped me up. Simpler param syntax in cfscript 11 Sep 2013An apparently undocumented way of writing cfparam equivalents in script is both simpler and more consistent (via Adam Cameron and Sean Corfield). Error using a method call as a default function argument 5 Sep 2013Calling a CFC method as the default argument value for another function in the same component results in a "can't load a null" error if the method and argument names are the same and the call is not scoped. A simpler way of converting a query column to an array in ColdFusion 10 May 2013How to convert a query column to an array using built-in functions rather than looping. Integrating imgscalr into ColdFusion as a replacement for ImageScaleToFit() 1 May 2013How to use the java library imgscalr in ColdFusion as a replacement for ImageScaleToFit(). Saving IP addresses as integers with ColdFusion ORM and MySQL 2 Apr 2013Storing IP addresses as integers is easy with direct MySQL statements, but how to do it via ORM? Including code in Disqus comments 25 Sep 2012Quick tips for better looking code snippets in your Disqus comments. Simpler handling of JSON serialised ColdFusion query objects 7 May 2012Steve "Cutter" Blades has come up with a great way of dealing with the compact but quirky JSON ColdFusion returns when serialising query objects. ORM related entities in different databases 22 Feb 2012CF9.0.1 supports ORM entities with different data sources, but not relationships between them apparently. Here's a workaround. Simpler link building in FW/1 11 Nov 2011FW/1 now supports relative sections when using the buildUrl() API method, meaning less code and easier renaming. ColdFusion ORM by John Whish 12 Oct 2011Review of "ColdFusion ORM: A guide to developing applications using ColdFusion ORM" by John Whish. Generating page fragments in FW/1 8 Aug 2011FW/1 now offers two ways of generating fragments to be output within the main page view or layout. The simplicity of FW/1 4 Aug 2011Moving from Fusebox to FW/1 has brought a number of benefits. The latest update makes switching even more compelling. How I got started in ColdFusion 1 Aug 2011My humble contribution to Steve Bryant's day of reminiscence. Workaround for SpreadSheetAddRow() limitation when column values contain commas 20 Jun 2011SpreadSheetAddRow() uses commas to delimit the column values of the row so can't be used to add data that contains commas. Here's a workaround. Simpler optional cfarguments 15 Jun 2011For optional cfarguments, there is no need to use required="false". Also defaults will make required arguments optional. The simplicity of jQuery style generic getters and setters in ColdFusion Part 3 25 May 2011Final post on making generic getters and setters in ColdFusion work like jQuery: further refinements - bulk setting and ensuring NULLs for ORM. The simplicity of jQuery style generic getters and setters in ColdFusion Part 2 24 May 2011Second of three posts on making generic getters and setters in ColdFusion work like jQuery: improving the technique in CF9. The simplicity of jQuery style generic getters and setters in ColdFusion Part 1 24 May 2011First of three posts on making generic getters and setters in ColdFusion work like jQuery's x() and x(value). HQL SELECT clauses: watch out for whitespace characters 18 May 2011In ACF ORM, HQL SELECT clauses containing tabs or new line characters will cause an exception. Using <cfproperty> to create default CFC property values 16 May 2011How to set default component property values using CFPROPERTY without enabling ORM. The simplicity and complexity of ORM 11 May 2011Does Object Relational Mapping add simplicity or complexity? A newbie's perspective. Forcing values to be inserted into spreadsheets as text 13 Apr 2011How to make sure values which could be interpreted as numbers are inserted as text when populating a spreadsheet. <cffile action="rename"> and nameconflict 11 Apr 2011Should file renaming operations have a "nameconflict" handling option? itunes:duration integer values cause CFFEED to fail 4 Apr 2011<cffeed> will throw an exception when reading podcast feeds that specify the duration as an integer. Here's a suggested work-around. The simplicity of ColdFusion 9 Part 2 30 Mar 2011More of my favourite code-simplifying new features in CF9. The simplicity of ColdFusion 9 Part 1 17 Mar 2011Features of ColdFusion 9 which allow you to write simpler code than in previous versions. ColdFusion Security Hotfix changes session behaviour 10 Mar 2011The Hotfix released by Adobe in February appears to change the way session identifiers are generated.