Custom cache plugin – How to implement it

Introduction to Custom cache plugin As discussed in previous blog we have introduced new caching engines in ColdFusion and we are not tightly bound to ehcache now. But even after adding 3 more engines, customers might have a requirement to plugin some another caching engine or perhaps write their own custom caching logic which might suit their applications more than any of the supported engines. So we have added a way for customers to add integration with any caching engine […]

Distributed caching in ColdFusion (2018 release)

Introduction to new caching engines ColdFusion already has support for caching using ehcache. There are many caching engines available in the market and each has its pros and cons. Depending upon your application, one caching engine might suit your application more than another. So we need to integrate more caching engines. In the 2018 release of ColdFusion, we have added support for 3 new caching engines JCS (Java caching system) Redis Memcached Java Caching System (JCS) Pros One of the fastest caching […]

Using ColdFusion APIM To Import API From Swagger

As discussed in previous blog there are 5 ways of creating APIs in ColdFusion API Manager. We have already seen How To Create Manual API In ColdFusion API Manager. Now we will import an API from Swagger.  Swagger is a specification for describing, producing, consuming, and visualizing RESTful web services. APIM supports Swagger 1.2 as well as 2.0. Read more here : Using ColdFsion APIM to import API from Swagger  

How To Create Manual API In ColdFusion API Manager

ColdFusion API Manager helps you to create APIs that expose core functionalities of application and other backend systems. These APIs are then published and managed at runtime. We can create APIs in multiple ways : Creating API Manually Importing API from Swagger Importing API from ColdFusion REST services Converting a SOAP service into a REST service Import a SOAP API through a proxy service In the series of blogs to follow we will cover each flow. In this blog we […]

Creating a simple facebook app which manipulates your profile pic

In CF10 we had introduced cfoauth tag which helped in social login integration. Lets use it to build a simple facebook app which will download your facebook profile’s pic, add some image effects to it and post it to facebook. 1. First we need to ask user to login via facebook so that we can fetch his profile image. <cfoauth type=”facebook” clientid=’YOUR_CLIENT_ID’   secretkey=”YOUR_SECRET_KEY_HERE”  result=”r” scope=”” redirecturi=”REDIRECT_URL”>   2. Not lets set this info into some variable  <cfset Session.fbinfo = […]

Cfgrid JS binding issue is fixed in Coldfusion 11 update 3

Coldfusion 11 update 3 fixed the cfgrid javascript binding issue.(bug number 3712909,3712885) Prior to this, js binding was broken where as CFC binding as well as URL binding were wroking properly. As a result pagination, dynamic binding etc were not working if js binding was used though basic static grid was working properly. Even query columns were not getting mapped to their associated grid columns. This had happened due to our internal upgrade of EXTJS framework which did not support […]

Enabling Leading Wildcard Search In Coldfusion

In the current version of Solr supported by Coldfusion, leading wildcard search is not supported by default. A ’*’ as the leading character in a search will not work.  For example this code : <cfsearch collection=”new” name=”x” criteria=”*title*” categorytree=”books/history/english”> Will throw an error : There was a problem while attempting to perform a search. Error executing query : org.apache.lucene.queryParser.ParseException: Cannot parse ‘*title*’: ‘*’ or ‘?’ not allowed as first character in WildcardQuery   Workaround for this is to tweak schema.xm […]

Workaround for ajax cfgrid bug in CF11 in which ajaxonload() is not working properly

In coldfusion 11 release there is an open bug in which if you try to use any ColdFusion.grid related function in a function that is called by ajaxOnLoad, the grid object will not be available.  A grid will load properly, but when the javascript function is called with AjaxOnLoad and  function tries to reference the grid, you will get that the reference is “undefined”. This is a sample code : <html>     <head>        <title>AjaxOnLoad test</title>      […]

Specifying datatypes in Spreadsheets

We have often encountered bugs around datatype of data being written in spreadsheets. For example string like 8E45000 getting converted into a floating type or a string like 4D or 4F getting converted to numeric etc. The internal logic used to extract the data type of the data sometimes isnt that accurate and we would end up in writing corrupted data in spreadsheets. With Splendor now we provide users with the option of specifying the datatype of the data being […]

SpreadSheetAddPagebreaks and SpreadSheetAddAutofilter

We have added 2 new methods in spreadsheet. 1.SpreadSheetAddPagebreaks  Spreadsheets can have pagebreaks which breaks sheets into multiple regions when you want to print it. You can put these line breaks along rows as well as columns. Here is the syntax : SpreadSheetAddPagebreaks( ExcelInfo info, String rowbreaks,String colbreaks ) where info is the ExcelInfo object, rowbreaks are the row numbers and colbreaks are the column numbers where you want to put the page breaks. For example, SpreadSheetAddPagebreaks(info,”,’2′) breaks the sheet into two […]

Performance improvements in SpreadSheet

There has been considerable improvements in spreadsheet performance. We have done alot of internal code changes to improve this performance. Apart from internal changes we have also exposed something for users. SpreadSheetWrite method and write action of cfspreadsheet tag now takes one more parameter ‘autosize’. By default now all the excel sheets have all their columns expanded and resized once they are written. Column expansion is a very expensive process which if avoided can save some valuable milliseconds. Here is […]

Improvements and Enhancements in SpreadSheet

In the coming release we have made few updates in spreadsheet : 1. Overall performance has improved a lot. Read/write/update/format operations should be faster and consume less memory 2.  SpreadSheetWrite method now takes ’autosize’ parameter. If it is false, columns of output spread sheets wont be resized and users can avoid this expensive operation 3. New methods like SpreadSheetAddPagebreaks(adds page breaks in spreadsheet) and SpreadSheetAddAutofilter(Sets autofilter on the specific sheet) have been added 4. Internally POI has also been upgraded […]