Teapot : ColdFusion Blog Application Software

Teapot is a blog application developed with ColdFusion, mainly for use of the ColdFusion Developers. It’s simple, fun to use and easy to customize. Do I have to say it’s free and open source too? Well, it is free and open source and it runs on Adobe ColdFusion, Railo and MySQL, MSSQL or PostgreSQL.

Teapot is hot. Very hot.

Search Engines Loves a Hot Cup of Tea

See the full URL with keywords nicely laid out? Search engines love those. You can customize your post’s URL with the Teapot Administrator, giving you greater chance to target a higher search ranking. Not only that, but Teapot automatically builds the site index XML file and submits it to Google, Bing and Ask.

Add a Spoon of ColdFusion to Your Page.We are ColdFusion developers, we love ColdFusion and we want it everywhere. With Teapot, adding ColdFusion to your page is simple, easy and fun. Type your CFM in the editor, highlight it, click the 'execute' icon - or upload an cfm page to easy file-manager interface – and then attach that to your page.

Show Your Code it’s easy to add code blocks in your page. Highlight them, click ‘code’ or upload your cfm page to file-manager, and then attach that to your post. It's very easy.


Add Youtube, Viemo, PDF, MP3 and all that.Click on the ‘media’ icon or Type in the URL of YouTube, Yahoo Video, Dailymotion, Metacafe or Vimeo. Teapot keeps your editor uncluttered and displays your media once the post is published.

Image Gallery It’s easy to build an image gallery in your page. Just click and upload. That’s it. (demo)

And much much more...Simple & inviting blog editor layout, file attachments, pin to wall, pages, snap-in integration with Project Honey Pot spam protection, easy customization and more. Click here for the Teapot Blog Administration Demo and here for the Installation Demo. Oh, the front end of Teapot? Well, you are looking at it now.


  • ColdFusion or Railo (ColdFusion 7 testing pending)
  • Working DSN to mySQL/MSSQL or PostgreSQL database
  • CFFILE read,write and delete access across the site.

Teapot installation is splendidly simple. Download and unzip the Teapot installation file into your web server, use your browser to walk though the simple installation. Installation will complete your application settings and erase itself at the end.


  • Current Version 0.2
  • Last Updated Feb 15, 2013
    Installation updated to work with CF10 new defaults.
    File Manager bug fixed. (Administrator)
    jQuery version updated. (Administrator)
    Blog edit media plugin updated to use Gists URLs. 

  • TeaPot 0.2 . Last Updated September 3, 2012
    Advance file manager interface added to tinyMCE editor. Now you can include executable CFM file to posts, attach CFM file into code view, Embed MP3, PDF, video & manage images with ease.

    update Instructions:
    /Administrator/js (overwrite)
    /Administrator/bin/blogpost (overwrite)
    /Administrator/bin/plugins/formating (delete & replace)
    /warehouse/widgets/HonyPot_Trap.cfm (overwrite)

  • Sep, 22 2011 Released (Download 0.1)
Download (teapot.zip)
Wednesday 25 June 2014 06:23 PM
Seems like all browsers (Chrome, Safari, Firefox) all require the links to be clicked on twice. This is whether it is the main index.cfm that I have my menu wrapped around or all the other pages that are stand alone as you designed. Only in IE have the double click not been necessary, always works in IE. Any suggestions?
Wednesday 25 June 2014 06:04 PM
3 issues. 1) How can I change the date of a post entry? 2) I've wrapped my menu structure around the index.cfm page in the teapot folder but I haven't been able to locate where I can do this for all the other pages without page location errors. Any ideas or suggestions? Finally 3) I randomly get the following error message and refreshing the page eliminates the message but it happens quite often. What is causing this and is there a fix?

The system has attempted to use an undefined value, which usually indicates a programming error, either in your code or some system code.
Null Pointers are another name for undefined values.

Enable Robust Exception Information to provide greater detail about the source of errors. In the Administrator, click Debugging & Logging > Debug Output Settings, and select the Robust Exception Information option.
Check the ColdFusion documentation to verify that you are using the correct syntax.
Search the Knowledge Base to find a solution to your problem.
Browser Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36
Remote Address
Referrer http://www.checkmatelasers.com/teapot/
Date/Time 25-Jun-14 03:03 PM
Wednesday 11 June 2014 10:41 AM
Another question: can anyone explain the difference btw post and page? i tryed to edit a page but i've seen it is published just like a regular post.
thanks and regards
salvatore fusto
Wednesday 11 June 2014 10:06 AM
Hi all,
i've just discovered this blog engine and i like it a lot: i published my personal blog very fast, but i have a little question: when editing a new post, saving as draft or publishing it, i receive strange emaisl:

You Just received a quick message from ihqrhpmfc

Message : : Salvatore Fusto - My Personal & Professional Blog ihqrhpmfc http://www.gqy440vib793e8dm81ip63umx092k64es.org/ aihqrhpmfc [url=http://www.gqy440vib793e8dm81ip63umx092k64es.org/]uihqrhpmfc[/url]

can anyone explain me?
thanks and regards
salvatore fusto
Thursday 20 February 2014 11:36 AM
I'm getting this error when trying to install, please advise:

The key specified is not a valid key for this encryption: Invalid AES key length.

Use the generateSecretKey method to generate a valid key for this operation.

The error occurred in C:/home/domain.com/wwwroot/install/page_2.cfm: line 106
Called from C:/home/domain.com/wwwroot/install/page_2.cfm: line 97
Called from C:/home/domain.com/wwwroot/install/page_2.cfm: line 1
Called from C:/home/domain.com/wwwroot/install/index.cfm: line 9
104 : </cfquery>
105 : </cftransaction>
106 : <cfcookie name="blogid" value="#Encrypt(cookiekey, application.key, 'AES', 'hex')#">
107 : <cfcookie name="name" value="#form.blogusername#">
108 : </cfif>
Thursday 20 February 2014 10:04 PM
Did you had an active Application session from an old Application, when you run the setup?
Can you run <cfdump var="#application.key#"> in a separate page and see what you get?
Please mail me directly at Sam @ cflove. org if this did not get solved.
Friday 21 February 2014 03:43 PM
I had to stop the application and start over. It's working now. Thanks!

Sunday 11 August 2013 06:31 PM
How do I create TOPICS or CATEGORIES? Both widget pages are empty in the download.
Sunday 11 August 2013 06:59 PM
I'm using MySQL and the bloglabel table is not being populated when I publish a post.
Monday 12 August 2013 09:58 AM
I think I figured out my problem. I originally downloaded your app from riaforge.org and I had to repair the zip file. I downloaded and installed the app from your website and everything worked! :-)

Tuesday 19 February 2013 12:35 PM
Anybody know why the 'Topics' are duplication in the display? I'd show a screenshot but I don't see where to add it to the post. So, as I add posts and add related topics to it, when I publish the site, there's multiple 'Auto Dealer' topics and multiple Scan123 topics in the topic list. WTF? I have hundreds of posts to do.
Tuesday 19 February 2013 07:06 PM
I will have a look at this later today. Do you have any link I can have a look at? You can mail me directly to sam at cflove.org
Todd Mathews
Thursday 14 February 2013 10:39 PM
Can anyone get the widgets admin to work?

I've tried in FireFox 18.0.2, IE9 and the latest version of Safari and can't get the drag and drop to work to add/remove widgets from the various sections. The drag to reorder the widgets is also broken.
Friday 15 February 2013 07:12 AM
Hello Todd, Can you please have a look at the firebug and tell error you are geting? Its looks very much like a JavaScrpit issue? I have look at this this weekend. may be time to update to new JQuery version. May be for the time been you can give it a go too. jQuery & jQuery UI files for the admin folder goes into "Administrator\js\jquery" and try editing the new path in [administrator\system\header.cfm]
Friday 15 February 2013 03:24 PM
Hello Todd,
I release an update and this is fixed now. jQuery droped the live(). Thanks for the tip.
Todd Mathews
Friday 15 February 2013 06:42 PM
Sam - Great to hear. I'll grab the new version and let you know if I have any issues. Thanks for the speedy update and resolution!

Thursday 14 February 2013 02:34 PM
Oh well. Never did get it to install. Moving on....
Thursday 14 February 2013 05:45 PM
Just copy the SQL commands from the instillation folder and execute them manually
Thursday 14 February 2013 05:58 PM
Ok, did that. It worked for the tables creation. You should also write an install quick start. It took me about another hour to figure out that I needed an AES encrypted application.key, not plain text. So there's some things you could document that would REALLY help the next folks installing. Thanks for your hard work on the code. I now have it working locally for testing.

Thursday 14 February 2013 08:16 PM
Thanks for the idea. I will make a manual installation instruction set.

Thursday 14 February 2013 01:17 PM
I have been trying to test a local copy of teapot on cf8 dev and ms sql server with a verified datasource (through cf admin). Teapot will NOT go through the 'simple install' because it can't / won't see the datasource. 3 hours wasted. Got any suggestions?
Thursday 14 February 2013 02:55 PM
I had a similar problem in that I wasn't entering my db username/pw (because I was used to simply clicking SQL Enterprise Manager to get in). Turned out to be best to make a separate "Teapot" user in SQL and then use that.

Hope that helps.
Thursday 14 February 2013 05:59 PM
I had to delete the datasource and rename it for it to see it. I think that was a CF admin thing. Hope this helps someone down the road.
Wednesday 06 February 2013 05:43 PM
Why doesn't the #smalldes# value get updated when updating an existing blog post
Wednesday 06 February 2013 07:43 PM
You can't leave description field blank, if it is blank auto description creation kick in.
(administrator/bin/blogpost/qry_add.cfm : line 85)
Wednesday 23 January 2013 03:06 PM
Excited to be trying this out. Have tried some other CF blog and not liked them much.
Wednesday 23 January 2013 09:17 PM
You know where I am if you don't like it :)
Tuesday 06 November 2012 07:44 PM
@Sam, this is fantastic. I've tried a couple of other CF blog programs, and am thankful to have found this one.

Is it possible to schedule a blog post, rather than having it show up immediately? Perhaps in a future update?
Friday 26 October 2012 04:45 PM
oh and the type attribute for widgets page is not necessary and didn't work for me. must be version issue.
Friday 26 October 2012 04:43 PM
Just wanted to let you know that none of the forms were submitting properly for me due to the UT-F 8 functions on the top of Application.cfm
<cfcontent type="text/html; charset=utf-8">
<cfset SetEncoding("form","utf-8")>
<cfset SetEncoding("url","utf-8")>
I commented them out and now it works really well for me. I forget what version of CF I'm on if it matters I can send.
Tuesday 21 August 2012 11:42 AM

Love this software. I have one issue that I am concerned with that I cannot figure out. When I insert an image, or a link in the WSYWIG editor I am getting an error: Could not find the included template imgmanger/tab_images.cfm. I have performed a search for tab_images.cfm and that file does not exist in the download. Any help would be great!
Tuesday 21 August 2012 06:32 PM
Hi Anthony, thank you for letting me know. I just upload missing files. you can copy the [imgmanger] folder. If you find any other issues, could you please let me know? I'm doing couple of updates on this these days and seems like i missed the folder.
Saturday 23 June 2012 02:28 PM
Quick question... where are the topics created? I see the form field for when creating a new page or post, but it does not appear to be actually collecting this value on form post. (which is a bit challenging to track down the processor script).

Any explanation is appreciated. If I figure it out prior to a response, I will let you know.
Sunday 24 June 2012 10:07 AM
Topics section use FCBKcomplete (http://cflove.org/2010/06/facebook-like-list-auto-complete-with-fcbkcomplete-jquery-and-coldfusion.cfm), Custom tags are in (system/ct/) folder.

Topics form filed in the administrator form page (bin/blogpost/edit_post.cf, line:102). You will see the form field “label” wrapped in the “FCBKcomplete” tag.

Form action page is (bin/blogpost/qry_add.cfm) and go to line:162. Form field passed as "form.lable[]" (not as form.label) (don’t blame me, it is FCBKcomplete.)

Let me know if this helps
Sunday 24 June 2012 11:53 AM
Excellent. Found and isolated the issue. User error. Could not figure out why typed entries were not saving. Went through the JQuery file for fcbkcomplete, and searched the script for 'newel' option parameter. Alas, this is tied to the keyboard tab or enter key, and is not keyup or focus.

Again, the more I go through the site, the more impressive it gets. There was definitely a lot of attention to detail. Very impressive offering.

Monday 25 June 2012 11:05 AM
Hi Bret, Please send me any updates/fixed you have done. So i can put them into the next version. Thanks..

Saturday 23 June 2012 01:13 PM
Very cool. Was running next to Mango this morning to compare. Very clean. Has everything needed, and then some, and only requires 9 tables versus the 21 created for Mango. Seems like it would be a better starting point for anyone who wants to customize.

I had 2 minor issues with setting up locally for testing:

Pathing for application.root
For anyone setting up locally using the ColdFusion development server or Ralio, if the site is not running on port 80 (i.e. localhost:8500 versus localhost), once you install and open up the site, you will notice that there are no style sheets. This is because the application.cfc file specifies the application.root path without the port number. Just open the application cfc, and change the application.root to localhost:[port#]

Widget update issue (resolved)
I was encountering issues with updating the available widgets. Since updating these is a JQuery/Ajax function, took a little time to sort out the issue. There is a JSONUtil.cfc (admin root/js) that has a cfprocsessing page directive on the page before the opening component tag. This is a no no. Once I found I moved inside of the cfcomponent opening tag (along with the comments block), and that seemed to do the trick. Not sure wether anyone else has encountered, but thought I would mention.

All in all, very nice project. Thanks so much!
Monday 09 April 2012 11:33 AM
Very nice and simple blog software. I have a question about my dbase. Can I use one datasource and just add a column to identify each blog owner? Not sure if you have tackled this. We have over a hundred domains so it would be nice to be able to handle the content in just one dbase source on ms sql.
Monday 02 July 2012 09:39 PM
Hi Mr. Kosch,

I ran across your post and was curious, did you ever get a solution sorted out (for adding multiple sites to a single database using teapot)? Have you implemented anything yet? After spending some time as of late rooting around in the code, there may be 2 approaches. Looks like most of the relationships are already there in terms of the tables, so you could approach by possibly extending the application.cfc that is generated for each site. Maybe add an on session start or on request start method, which could act as a request handler, and based on the site url, create a session variable for the current site. Then either modify the tables to keep track of the site for each post, or better yet create a look up table, which could act as a map that would store the session site info, along with the blogpostid from the blogpost table (something like pkey, siteurl, blogpost_blogpost_id, creation_date, maybe an active column?). Then you would have a map as to what posts belong to what site, to ensure you are retrieving the correct records.

The map may be the easiest approach, but it would entail some updates for the scripts calling the data for display. Would also necessitate some work in the admin on the blogs/post page processing to take the return value of the last inserted record and insert into your map table. *** Please note that the settings.cfm script in the warehouse folder sets the site name to the application scope. Not an issue if you are setting up teapot code on each site, but if you are trying to reuse, this may be better moved to a session scope.

Curious to hear your thoughts. Thanks so much!
George Kosch
Wednesday 12 September 2012 12:35 PM
I think I might simply install another ms sql express on another server and just use that to hold the teapot dbases and make the install that much simpler. sql express being free makes this easier for us. And, I'm lazy! :)

Wednesday 12 September 2012 11:08 AM
Hi George,

An hints if any help.
I guess each user need to have his own folder to store his posts and files and keep thing bit cleaner.
Other than the db update, You may have to update all the places that call for
application.root, application.apath, application.wh
attach [userfolder] in to them. I guess storing them in the [user] table may be an better idea? Or maybe having individual Application file in each user folder could be easier since [wearehouse/settings.cfm] file store user specified variables too.

George Kosch
Wednesday 12 September 2012 09:17 AM
Sorry about the late response. I do plan to work on this in a few weeks. I'll let you know what I find works best.

Friday 11 November 2011 01:34 AM

I was trying to install Teapot Blog on my site (hosted at dailyrazor.com ). Unfortunately, my website is hosted on a shared server. It does not allow CFCONTENT TAG.

Security: The requested template has been denied access to cfcontent.
The following is the internal exception message: access denied (coldfusion.tagext.GenericTagPermission cfcontent)

The error occurred in C:\inetpub\vhosts\patrography.com\httpdocs\blog\Application.cfc: line 5

3 : <cfset this.clientmanagement = "no">
4 : <cfset this.sessionmanagement = "yes">
5 : <cfcontent type="text/html; charset=utf-8">
6 : <cfset SetEncoding("form","utf-8")>
7 : <cfset SetEncoding("url","utf-8")>

The server does not allow the following CFTAGS :

On the shared ColdFusion servers you will have access to all tags and functions except for the following:

CF Tags:

CF Functions:

Is there any way around ?


Friday 11 November 2011 08:02 AM
Remove [cfcontent type="text/html; charset=utf-8"] from the application.cfc. That might affect Unicode characters though. I tried to keep this as much as shared hosting friendly, but shared hosting provides very keen to mutilate ColdFusion functions.
Wednesday 12 October 2011 07:56 AM
Software looks fantastic and so far is functioning great! Can't wait to start skinning it. The code also looks crazy clean. Havn't had time to explore it fully but Kudos!
Friday 07 October 2011 10:44 AM
This is very sexy looking! I really like the administrator. Thanks for providing a demo. :)