I have completed a very cool rssReader plugin for the next installment of ColdBox. This is a stand alone plugin that I would like the community to try out and see if it would make sense to add it to the core plugins list for version 2.6.
What is so special on this plugin?
- Uses a file caching technique by serializing/deserializing the rss structure into bytearrays.
- The file cache is configurable and has an exposed API for you to use.
- One standard format for RSS or ATOM feeds
- ISO86901 and RFC822 Date Formatting and parsing. All dates are translated to standard coldfusion date strings. No need to translate or parse.
- Easily to configure via your coldbox.xml.cfm
- Ability to return feed items as a query or array of structures.
Those are some of the features of this plugin. The plugin is built using a cfhttp method, so its compatible with cf7 and cf8. Anyways, take it for a spin and let me know your thoughts on it. Especially if you think the plugin would be beneficial for the next ColdBox version 2.6
Configuring The Plugin:
Below are the settings you must place on your coldbox.xml.cfm:
rssReader_useCache : Use the file cache or not (Default is true, Optional Setting)
rssReader_cacheLocation : Where to store the file caching, relative to the app or absolute
rssReader_cacheTimeout : In minutes, the timeout of the file cache items. (Default is 30 minutes, Optional Setting)
rssReader_httpTimeout : In seconds, the timeout of the cfhttp call (Default is 30 seconds, Optional Setting)
Using the plugin:
//In your handler
rc.myFeed = getMyPlugin("rss.rssReader").readFeed('http://news.google.com/nwshp?hl=en&tab=wn&output=rss');
//Best PRactice, put your feed links in a db or your settings. So you can do something like
rc.myFeed = getMyPlugin("rss.rssReader").readFeed( getSetting('rss_googlenews') );
What gets returned on the FeedStructure:
[AUTHOR] - Feed Author
[AUTHOREMAIL] - Author Email
[AUTHORURL] - Author URL
[DATE] - Feed Created Date
[DATEUPDATED] - Feed Updated Date (Normalized ColdFusion Dates)
[DESCRIPTION] - Feed Description (Normalized ColdFusion Dates)
[TITLE] - Feed Title
[IMAGE] - Image Structure
[LINK] - Image Link
[TITLE] - Image Title
[URL] - Image URL
[LINK] - Feed Link
[ITEMS] - Items Array or Query, both contain the following
[DATE] - Feed Created Date (Normalized ColdFusion Dates)
[DATEUPDATED] - Feed Updated Date (Normalized ColdFusion Dates)
[DESCRIPTION] - The content
[ENCLOSURE] - The enclosure
[LINK] - The link to the item
[TITLE] - The title to the item
Add Your Comment
(1)
Mar 03, 2008 12:11:22 UTC
by Joshua Giese
This is great. I am working on a project that will really benefit from this. Thanks Luis!