Posted At : June 5, 2007 2:33 PM
| Posted By : todd sharp
Related Categories:
cfTimeline,
ColdFusion
I finally got around to uploading a new version (1.1) of cfTimeline to RIAForge. There are a few nice changes I added in this release. Here's the highlights:
- Added a creationComplete attribute to the cfTimeline tag.
This attribute accepts the name of a JavaScript function which it will call upon successfully loading your event source.
- cfTimeline.getLatestDate()
- cfTimeline.getEarliestDate()
Will respectively retrieve the latest/earliest date in your event source. Why would you want these dates? So you could pass them to:
- cfTimeline.scrollToCenter()
- cfTimeline.setCenterVisibleDate()
Which will either jump or scroll directly to a given date.
Also - the cfTimeline.loadXML() and loadJSON() functions now accept a callback handler parameter to enable you to perform some action when your event data is done loading (scrolling, etc). See docs for further details.
Just an FYI - I know I'm starting to get a lot of JavaScript functions tied to the tag - but I'm ok with that. I've tried to stay true to some of the format being used with CF 8 - which IMO is a very clean and easy to use API while doing all of the heavy lifting with the tags.
Posted At : May 17, 2007 12:49 PM
| Posted By : todd sharp
Related Categories:
cfTimeline,
ColdFusion
I finally have a decent demo for my cfTimeline custom tag online here at the blog. Also added a link to the demo above so you can quickly hit the timeline whenever you need a quick look at the latest news in the CF blogosphere. The code required to create the timeline is listed below the demo to show you just how easy it is to use. You can toggle between MXNA and FullAsAGoog using the buttons below the timeline.
Any suggestions for other feeds to add?
Posted At : April 20, 2007 1:45 PM
| Posted By : todd sharp
Related Categories:
cfTimeline,
ColdFusion
I'm happy to announce the release of my latest project, the cfTimeline custom tag. This project was a lot of work and I feel like I learned quite a bit while developing it (which is always a good thing). I've been ready to release it for a few days now - but had been struggling with whether or not I should/could charge for the tag. I've put a good bit of work/time into the tag(s) and to be quite honest it would be nice to generate a bit of income as a result of my work. But I've ultimately decided against doing so. If you find the tag to be helpful and easy to use please consider visiting my wishlist or making a donation via the PayPal banner in the sidebar.
The tag is pretty easy to use once you get used to it. I strongly suggest you read the docs to get a good feel for how to use the tags.
You can download at RIAForge. For news and updates check the project blog over there. Please use the bug tracker at RIAForge for issues.
Here's a demo
Posted At : April 4, 2007 1:44 PM
| Posted By : todd sharp
Related Categories:
cfTimeline,
ColdFusion
I've tracked down the culprit in the issue of incorporating my cfTimeline tag into Blog CFC. It appears that Ray's layout tag uses the following doctype declaration:
Which causes the timeline to not render. If I remove it the timeline renders fine. Unfortunately removing it also seems to make the CSS get all goofy too.
So I'm showing my ignorance here. Other then validation what does a doctype declaration do?
Posted At : April 4, 2007 8:47 AM
| Posted By : todd sharp
Related Categories:
cfTimeline,
ColdFusion
I spent a good bit of time last weekend on my cfTimeline custom tag and was feeling pretty darn good about where it was headed (See related blog entries if you've been living under a rock). Hot zones were working (though the usage is a bit tricky - more on that later), manually defined events were working, I even added an option to load an external file of JSON encoded events. All was cruising along quite well.
Then I decided to through together an actual 'demo' page for my blog here. Thats when things got ugly. Seems my tag doesn't integrate so nicely with Blog CFC. The tag works fine when not wrapped in the layout.cfm tag but when wrapped it don't look so hot. Here is the good version (no wrapper) and here is the not so good version.
My first thought was that the onload events were crashing into each other and wreaking havoc but that suspicion was disproved when I removed the Blog CFC onload and got the same mess. Possible that my blog stylesheet may be colliding with it somehow I suppose.
So anyhow, that's where the tag is at right now for those who are curious. What started out yesterday as a nagging headache has turned into a full blow cold today and my head is a little foggy. So the troubleshooting may have to wait a few days. If anyone has an idea drop a comment.
Posted At : March 31, 2007 10:30 PM
| Posted By : todd sharp
Related Categories:
cfTimeline,
ColdFusion
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.
Posted At : March 30, 2007 8:46 AM
| Posted By : todd sharp
Related Categories:
cfTimeline,
ColdFusion
Here's a preview of a custom tag that I threw together last night as a way to easily implement the very slick SIMILE Timeline. It's very early but I wanted to get a preview online because I think it's just damn cool how easy it will be to drop a timeline into a cf application once I get this finished. Below is a sample timeline, and here is the only code needed to generate it.
<cf_timeline startDateTime="#createDateTime(2007,1,1,12,0,0)#" xmlEvents="events.cfm" />
I could have gotten away with passing one less attribute too - the tag will default to today's date as the start if none is passed. The xmlEvents attribute points to an XML file on the server (in my case a cfm page that serves up the XML). Here is an overview of the XML format accepted by the tag.
Update: BlogCFC include rendering wasn't working so here's a link to a demo. This is likely a bug with the tag, not any fault of BlogCFC!!
I've set up a page on RIAForge for the project but I'm going to wait a bit before I post the code. I haven't dug too deep into the API but I'd like to do something like this:
<cf_timeline timelineid="myTimeline">
<cf_timelineevent start="1/1/07" end="1/31/07">
</cf_timeline>
There is also a concept of 'hot zones' on the timeline which are essentially groupings of events that take place within a short timeframe. The hot zone will 'zoom in' on the event so that the timeline will be clearer to read for that time period. Something I'd definitely like to look into accomodating too!
Any thoughts/suggestions/ideas?