Creating a GenAI Document Summarization Workflow in ColdFusion / / No Comments So this post comes from – I’m mostly sure – me forgetting to show a simple, but powerful demo at my presentation recently at the ColdFusion Summit. It’s nice and simple, but pretty darn useful so I decided to write a quick blog post about it and highlight the code. What’s a Document Workflow? Simply put, a document workflow is any process you would use to handle incoming documents. As an example, and one I’ve built many times over the past few years, you can use a workflow to convert all your incoming documents into PDF for easier handling. pdfRest has APIs for this and I’ll likely share a demo of them soon. (ColdFusion itself can convert HTML, PPTX,... more → Posted in: JavaScript Tagged with: ColdFusion, creating, Document, GenAI, Summarization, Workflow
ColdFusion (2025)’s CFOAUTH Tag / / No Comments Back in May of last year, I wrote up a blog post on ColdFusion’s oauth tag. This was based on a feature from way back in ColdFusion 11 that I thought I’d take a look at to see if it was useful. I’m not going to repeat the entire previous blog post, but in general… it was almost something I’d recommend. The tag did a good job of handling creating the right oauth link for you. So you could (after setting stuff up with your provider of course) drop the tag on a page, and when the user hit it, they would be prompted to login with the third party provider. When returned, the tag would handle getting the access token and such and giving you a nice little structure of data... more → Posted in: JavaScript Tagged with: 2025's, CFOAUTH, ColdFusion
My ColdFusion 2025 Hackathon Submission – QuickTracker / / No Comments Earlier this month, the ColdFusion team announced a hackathon that started today, and ends Monday night. Full disclosure, when I saw the announcement, I thought that the date range is when things had to be turned in. I spent a few hours on what I’m going to share below, but when I found out that the intent was to start today, I wrapped up and stopped. My submission only took a few hours, and outside of a quick readme update today, I feel fine with my submission. And heck, it was fun to build, so I don’t really care if I win (ok, that’s a bit of a lie). With that out of the way, let me share what I created, QuickTracker.cfm. QuickTracker.cfm is based on a tool first built by... more → Posted in: JavaScript Tagged with: 2025, ColdFusion, Hackathon, QuickTracker, Submission
ColdFusion Component for Google Gemini / / No Comments This week I had the pleasure to present on Google Gemini at the ColdFusion Summit. If you weren’t able to make it, I do plan on giving the talk again on the ColdFusion Meetup sometime later this year. After the presentation, I took my ‘rough and ugly’ code that called Gemini and decided to wrap it up in a nice ColdFusion component. This allows for (hopefully) easier use. For example: gemini = new gemini(key="your key", model="gemini-1.5-pro");result = gemini.prompt('why is the sky blue?'); And that’s it. The result variable will contain two keys, a raw value that is exactly what Gemini returned, and a text value that narrows down into the text response. Multimodal... more → Posted in: JavaScript Tagged with: ColdFusion, Component, Gemini, Google
Using Google Gemini’s File API with ColdFusion / / No Comments I promise, I’m not turning this back into a ColdFusion blog, but as I prepare my presentation next week at Summit and update my Google Gemini code for some ColdFusion demos, I ran into a particularly gnarly bit that I wanted to share in a post. For the most part, I’ve had no issues using Gemini’s REST APIs in ColdFusion, but the File API ended up being more difficult. If you go the documentation for uploading, and use the ‘Shell’ language tab, you can see an example like so: MIME_TYPE=$ (file -b --mime-type "$ {IMG_PATH_2}")NUM_BYTES=$ (wc -c < "$ {IMG_PATH_2}")DISPLAY_NAME=TEXTtmp_header_file=upload-header.tmp# Initial resumable request... more → Posted in: JavaScript Tagged with: ColdFusion, file, Gemini's, Google, using
Parsing Markdown in ColdFusion / / No Comments Welcome to my third, yes, third, ColdFusion post in 2024. Is it a trend? Who knows. That being said, I’m doing some prep work to update my presentation on Google Gemini in preparation for my talk at Adobe’s ColdFusion Summit later this month, I’m updating my Node.js demos to ColdFusion and ran into an interesting issue – converting Markdown responses from Gemini to HTML. Edit: I realized I gave my function at the bottom a dumb name. I updated the code to reflect a better name on 9/18/2024 My first quick Google searches didn’t really mesh well with what I expected, so I asked on the CFML Slack and James Moberg pointed out a few options, but suggested I focus on Flexmark... more → Posted in: JavaScript Tagged with: ColdFusion, Markdown, Parsing
Automating Mastodon Postings with ColdFusion / / No Comments I’ve had a lot of fun building Mastodon bots (see my list of super-important business critical bots as an example), typically using the Pipedream platform, and more recently, Cloudflare Workers. The Mastodon API is kinda stupid easy and with "The Other Network" going to hell in a handbasket, I don’t see myself building bots anywhere else. Just yesterday I came home from the Adobe ColdFusion Summit and I thought it would be fun to see how easy it would be to build a Mastodon bot in ColdFusion. Here’s what I was able to do in roughly ten minutes. First, don’t forget that to add automation to a Mastodon account, you need to go into your preferences, select the "Development"... more → Posted in: JavaScript Tagged with: Automating, ColdFusion, Mastodon, Postings
ColdFusion Component for Adobe Acrobat Services / / No Comments Last month, I wrote up a post demonstrating how to use Adobe Acrobat Services with ColdFusion. This week I took some of the code I had written for that post and turned it into a proper GitHub project. You can find the latest code here: https://github.com/cfjedimaster/coldfusion-cfc-acrobat-services To use this, you’ll need credentials, which you can get and use for free for up to 500 transactions. (The docs go into detail about how that works.) Currently I only have a subset of our APIs supported, but I plan to hit most of the rest in the next day or so. To give you an example of how it works, here’s a sample that uses our Extract API. First, you instantiate the component with your... more → Posted in: JavaScript Tagged with: Acrobat, Adobe, ColdFusion, Component, Services