I’m happy to announce that I have three new Alagad projects to announce. As with most other Alagad projects these are all free and open source. Please share and enjoy!
The first project is my favorite: ColdBooks.
ColdBooks is a free and open source tool that allows ColdFusion developers to work with data stored in Intuit QuickBooks. ColdBooks attempts to simplify the process of communication with QuickBooks by integrating with the ColdFusion administrator and allowing users to create and use connections to QuickBooks in a manner similar to ColdFusion data sources.
Essentially, it’s a tool that you drop in under the ColdFusion CFIDE/administrator directory and can use to establish connections to QuickBooks via the Quickbooks web connector. You can then use services that this tool provides within your application to do pretty much anything that the QuickBooks API supports. This includes reading and writing employee, customer, vendor, invoice, check and many other types of data.
We’re still working on implementing this at Alagad, but we’ll soon be using this to connect our project management and time tracking tools directly to QuickBooks. (We actually already do this via a different unreleased too, but it’s very unreliable. So, I’m excited to get ColdBooks rolled out.)
The next project is an Imap Watcher Event Gateway
How many times have you needed to interact with emailed data in your ColdFusion applications? Well, maybe not that often, but when you’ve had to it’s always been a pain in the rear. Traditionally, you’d have to create a scheduled process that would run every few minutes to check for new messages in your POP account. This is slow, unreliable and can be problematic. What if you needed (or wanted) a more efficient and nearly real-time system?
The Imap Watcher Event Gateway works like the Directory Watcher Event gateway in that it can watch a folder on your IMAP server and, as soon as a new message appears, it can announce an event to a configured CFC that can do whatever you want with it.
For my first test application I simply created a CFC to echo back the message that was sent:
<cfcomponent hint="I this is a sample CFC that handles generic Events"> <cffunction name="onEvent" access="public" hint="I handle incomming events from an event gateway." output="false" returntype="void"> <cfargument name="CFEvent" hint="I am the cfevent structure" required="true" type="struct" /> <cfset var Message = CFEvent.data.message /> <cftry> <cfmail from="#Message.getTo()#" to="#ListChangeDelims(Message.getFrom(), ",", ",")#" subject="Re: #Message.getSubject()#" port="465" useSSL="true" server="smtp.gmail.com" username="firstname.lastname@example.org" password="something" >Echo: #Message.getText()#</cfmail> <cfcatch> <cfdump var="#cfcatch#" output="console" /> </cfcatch> </cftry> </cffunction> </cfcomponent>
So, that’s nifty and all. I can quickly reply back to emails. But what if I wanted to do something cooler? Well, just for fun, I setup a Google Voice account to send SMS messages to email to an email address that I watch with the IMAP Watcher Event Gateway. This means I now have a poor-man’s SMS short code (well, long code). This example only echos the SMS back to you, but now you may be able to see how it would be easy to make some cool applications with this.
The last project is an SNMP Event Gateway
The SNMP Event Gateway was originally created for Michigan State University a while back. They gave me permission to release it a long time ago, but I’m just now getting to it.
In all honestly, I’m not too familiar with SNMP so I can’t speak in detail to this gateway’s capabilities. However, I can say that it lets you listen for SNMP events as well as broadcast SNMP events. Behind the scenes it uses SNMP4J and, as far as I can tell, it pretty much just works.
So, there you go. Share and Enjoy!