cfTimeline - Possibilities Are Endless...

I was up pretty late last night messing with my cfTimeline custom tag. (See this post if you're not familiar). The more I messed with it the more I realized how truly powerful and cool this tag (and the SIMILE Timeline project) really is. It's been a true learning experience for me so far. I've messed with custom tags before, but never to this extent. Which lead me to the other realization of how truly powerful and cool CF custom tags really are.

I'm now on version 0.3 of the tag which is going to be a complete rewrite (well, I will be once I start it). After digging into the Timeline API I realized that I could really harness some of the capabilities to their fullest potential with this tag. Unfortunately this will lead to me delaying the release of it, but it will be well worth it. Some of the groundwork I laid will have to be completely rebuilt but I'm positive it will be better in the long run.

This widget has endless potential and I'm truly surprised it hasn't been used more in this era of '2.0'. Imagine a timeline within a wiki that plots the history of a particular entry. What about a vertical timeline in the sidebar of a blog which plots blog entries (instead of a boring 1.0 calendar). The SIMILE timeline has known issues with the vertical orientation but once those are resolved this will be a possibility. What about a timeline within a bug tracker which plots the issues and bugs for a particular project? Endless possibilities!!

Here's a little of the usage that I'm envisioning for the tag:

<cf_timeline id="myTimeline">
<cf_timelineband height="70" interval="week" />
<cf_timelineband height="30" interval="month" />
<cf_timelineevent start="1/1/07" end="2/1/07" title="my event" />
<cf_timelinehotzone interval="day">
<cf_timelineevent start="1/1/07" title="my event" />
<cf_timelineevent start="1/2/07" title="my event" />
</cf_timelinehotzone>
</cftimeline>

The psuedo code above should be easy to understand but if not let me explain. The timelineband tags define the different bands on the timeline (see demo). These let the timeline show different views of the same events. You could show days and weeks, months and years, etc. The timelineevents tag defines the data events to plot (there will be plenty more attributes available). For those familiar with Flex think of this like a dataProvider. Within the events tag there can be individual timelineevent tags which plot or their can be timelinehotzones which will effectively 'zoom in' on a period of time to provide clarity for events that happen in a short time period. The hotzone concept is the only thing I'm not 100% sure I'll be able to pull of effectively but I think it should be possible.

There will still be the ability to point the timeline to an external xml file of events which follow the API. I wanted to add the ability to manually define the events for more granular implementations such as the hotzone concept. Auto discovery of recommended hotzones would be cool but that's a pipe dream at this point ;)

Besides learning tons more about custom tags I've also been learning a bit more about JavaScript. This has been mentioned a million times, but if you do any sort of complex object manipulation you absolutely must pick up the JS implementation of . I spent way too much time list night debugging my scripts when I could have figured out my issue in 2 minutes by dumping my eventSource object and examining it. So am I the only one this excited about the possibilites here?

PS - I'm still publishing from google docs so I apologize if the formatting is a bit off.

Related Blog Entries

Comments
Thanks for releasing this. I've got a few ideas on where I can use it.
# Posted By Scott P | 4/1/07 12:32 AM
Todd, this looks like this is going to be a great thing.
There are two RIAForge projects with a timeline theme, so it wasn't obvious which one was yours. You could link directly to your project with a http://cftimeline.riaforge.org/ hyperlink instead of a generica riaforge one.
Also, I'm using Firefox and this page looks a little skewed as I'm typing. I've posted what I see at http://www.aacr9.com/toddsharp.png so you can see what I'm seeing.
# Posted By Phillip Senn | 4/3/07 8:58 AM
I don't see a download button on the RIAForge site.
# Posted By Phillip Senn | 4/4/07 8:37 AM
Yeah, the tag isn't actually released yet. Still working on it. I'm just blogging to document the process and preview the tag.
# Posted By todd sharp | 4/4/07 9:07 AM

Calendar

Sun Mon Tue Wed Thu Fri Sat
     12
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31       

Subscribe

Enter your email address to subscribe to this blog.

Tags

actionscript ajax blogging cfsnippets coldfusion flash forms flex funny stuff misc model-glue off topic personal project learn slidesix sql

Recent Comments

ColdFusion/Sharepoint Integration - Part 1 - Authenticating
todd sharp said: Jenn: Check your email. Todd [More]

ColdFusion/Sharepoint Integration - Part 1 - Authenticating
Jenn said: When does the next issue of FAQU come out? For that matter is it at all possible to get a preview o... [More]

A Major Milestone In My Marriage
Brian Meloche said: I converted my wife last year. That said, I find Firefox 3 a bit crashy. [More]

SlideSix Gets PDF Support
todd sharp said: Do you mean add numbering to the PDF output? If so, yeah, that would be easy. Just to be clear tho... [More]

SlideSix Gets PDF Support
salvatore fusto said: nice work Todd, but can you add slide numbering: 1/N, 2 of N and so long? it would be useful. regard... [More]

RSS


coldfusionbloggers

FullAsAGoog MXNA

Consumed By Feed-Squirrel.com