Charlie Arehart's Compendium of
Spry Resources for CFML Developers

(Last updated Aug 2007)

As more and more CFML developers become enamored of Adobe's Spry Ajax framework, or hear others extolling it, they may benefit from knowing about several available resources to help you get started. Some you may find more readily than others. I'm not just talking about the docs, or Adobe-provided resources, but also community-contributed ones, and especially some that focus on CFML-related aspects.

I've gathered together several of them here, both to save you the work of trying to find them and more important to help you avoid missing key ones. You really ought to give most of them a look before you delve too deeply, to avoid making some mistakes (or mistaken conclusions) that others have. This document is broken into the following sections.

Notes

If nothing else, please do take the time to read those resources marked with an */bolded below. (No offense to those whose resources I did not mark */bold. Obviously, it wouldn't help to mark them all as key. I just picked a few that are really good starting points for folks that have something unique to offer, and which may themselves point to the others.)

Note as well that some of these entries speak to a generic web development audience, not CFML developers specifically. Indeed, it's easy to make mistaken conclusions about the usefulness of Spry, thinking, "I could just do that in CFML". Trust me, as you explore it more, you will see where it makes sense. I'll touch on that in a later entry.

Indeed, be sure to check out my future Spry entries here, where I'll highlight other key points to keep in mind.

I'll try to keep this up to date with new community resources as they're offered (see the updates section below where I track additions). In addition to listing each new entry in that section, I am also adding new resources to the top of each section.

Of course, some Adobe-provided resource will more likely become the ultimate best place to find Spry resources in the future. For now, I'm just trying to help while there are scattered resources, and by pointing to community-contributed resources as well. Drop me an email if you know of something I should add.

I'll share that on the list of things I plan to add here are:
  • An automated form for submission of new entries (which I would then need to approve---dang spammers!)
  • Option to view compendium as one long page (as it is now, and to facilitate printing) or as one page per section (better for web viewing)
  • RSS feed to notify folks of changes
  • I welcome other ideas

Specific Adobe-provided Spry Resources to Note

  • Who's using Spry? (Added July 15, 2006)
  • * Dynamic Table Tutorial, which in 10 pages (if printed) walks through creating an HTML table, using very effective teaching techniques (building slowly, highlighting additions to code, etc.) Spry can certainly do more than just build tables (more on that elsewhere), but this is a very effective intro to general Spry concepts of dynamic HTML generation. (Added July 11, 2006)
  • * Using the Spry Framework, spry_help.pdf, found in docs directory of Spry download. A GREAT 32-page resource to start with. (which I found at least one person had posted online, though that may not last long, plus it could soon be dated).
  • * Spry Data Set and Dynamic Region Overview, a substantial, 35-page article that you don't want to miss
  • Adobe LoggedIn article, Introducing the Spry framework for Ajax
  • Adobe Spry Breeze Presentation from Adobe Community Week
  • Adobe of course has some broad Spry repository info (FAQ, wiki, downloads, and more), which I discuss in a separate section below (those are what most people find most easily, so I'm highlighting first these more specific resources)

Informational Resources from Others

Code Resources from Others

  • More from Massimo Foti (Added Feb 05, 2007):
    • His Spry CollapsiblePanel custom tag automates the creation of a Spry's CollapsiblePanel widget
    • His Spry Accordion custom tag is a set of two custom tags that automates the creation of a Spry accordion widget
    • His Heartbeat custom tag implements the Heartbeat pattern for Ajax. It outputs JavaScript code that periodically perform an HTTP request to indicate the application is still loaded in the browser and the user is still active
    • He wrote a tmt.spry.pagin JavaScript library that supports record pagination for Spry's dataset. At this date, it's still a work in progress. See the source of the page linked to for a basic set of instructions.
    • Along the same lines, he has a Spry paging sample page that shows doing paging with Spry. Again, no docs. Just see the page source to see what's going on.
    • And he has a set of Spry-based Select control pages. See each and their page source for more.
    • see other older entries from Massimo below
  • Scott Meberson's Spry Xtensions. (Added Feb 01, 2007)
  • Nathan Dintenfass's classic QueryToXML function at the cflib.org (thanks, Doug Knudsen, for suggesting that). (Added July 11, 2006)
  • SpryXML Custom tag, from Massimo Foti, to convert a CF Query into the XML needed to be processed by Spry
  • SpryDataset Custom tag, again from Massimo Foti, that instead convert a CF Query directly into a Spry Dataset (in javascript)

Spry Demos

General Spry Repositories From Adobe

Again, drop me an email if you know of something I should add here.

Updates Since Original Posting

Here I will track any updates I add, so that folks who return can quickly find what's been updated.