Ben Nadel
On User Experience (UX) Design, JavaScript, ColdFusion, Node.js, Life, and Love.
I am the chief technical officer at InVision App, Inc - a prototyping and collaboration platform for designers, built by designers. I also rock out in JavaScript and ColdFusion 24x7.
Meanwhile on Twitter
Loading latest tweet...
Ben Nadel at the New York ColdFusion User Group (May. 2008) with:

Kinky ColdFusion Calendar System Almost There

By Ben Nadel on
Tags: ColdFusion

This morning, I cleaned up the Add / Edit page of my up coming ColdFusion calendar system - Kinky Calendar System.

View Online Demo - 2007/08/07


 
 
 

 
Kinky ColdFusion Calendar System - Add / Update Page Finalized  
 
 
 

Right now, I am using plain old text boxes for both the dates and the times of an event. I have decided not to do anything special here because as people try to integrate this calendar system into existing applications, I am sure that they are most likely going to have date-selector widgets and time-selector widgets already in place. This keeps the Kinky ColdFusion calendar system light weight and not too intrusive; easy integration is a primary goal here as this wasn't really designed to be a stand-alone application (although, certainly it could be beefed out to be).

So far, I have already gotten some great feedback on people that have attempted to integrate this calendar into existing applications (talking about bleeding edge :)). Here is what I have left to do:

  • Delete event page
  • Day view page
  • Overall code clean up
  • Color coding events (based on early user feedback)
Tweet This Groovy post by @BenNadel - Kinky ColdFusion Calendar System Almost There Thanks my man — you rock the party that rocks the body!



Reader Comments

@Javier,

Thanks dude. Doing what I can. Not having any date/time input widgets is making the data validation a bit of a pain, but if I can get it down solid, then it will be widget independent, which will be sweet-ass.

Reply to this Comment

Hi Ben,

One suggestion;

In month view, when a date has multiple entries, it isn't completely obvious, perhaps a little css hover technique to highlite individual events.

Reply to this Comment

@Christopher,

Yeah, I was fooling around with how to make that seem better. Originally, I actually had a box, but then that started to look like too many boxes. Maybe I will try a middot (·). Some CSS hover would do good also, but sometimes, if there are too many items, I find that :hover pseudo classes have very shaky performance.

Reply to this Comment

Awesome work here as always Ben, but I do have one thing that i am a bit stuck on. Is there an easy way built into this somewhere or a pointer that could help me figure out how to filter events on the calendar views? I have a dropdown list of 10 categories of events, and those are stored with the event info in the db, if i select support groups, i only want the support group entries for the month to show in the calendar. Any help from anyone would be greatly appreciated.

Reply to this Comment

@Pat,

I don't have anything like that built in right now, but I am sure it wouldn't be that hard to update. Ideally, you would just need to add an argument to "GetEvents()" method (or whatever it is called - I don't remember exactly off hand). Something like:

GetEvents( FORM.event_type_id )

Does that help at all?

Reply to this Comment

I installed the kinky calendar, and ran the SQL table up with your sql code. On first run, this is what the index page throws:
[Macromedia][SQLServer JDBC Driver][SQLServer]Invalid object name 'event'.
But the objEvent is declared, since it is set as the function in function.cfm

Any advise to get this going?

Reply to this Comment

@Rayne,

It sounds like the "event" table was not successfully created or perhaps you are pointing at the wrong database?

Reply to this Comment

Thanks for the calendar, I am currently implementing it in the private side of my website. I am using mySql 5, so I had to change the code in "build.sql" file.

Can you add the following code to your .zip file as "build_mysql.txt" or "build_mysql.sql" -- so that if someone needs to create tables in mysql 5, they will also have the code?

<!--- mySql 5 create database table --->
drop table if exists `event` ;
CREATE TABLE `deiideasdb1`.`cal_event` (
`id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT
,`name` VARCHAR(100) NOT NULL DEFAULT ''
,`description` VARCHAR(2048) NOT NULL DEFAULT ''
,`date_started` DATE NOT NULL DEFAULT '0000-00-00'
,`date_ended` DATE NULL DEFAULT null
,`time_started` TIME NOT NULL DEFAULT '00:00'
,`time_ended` TIME NOT NULL DEFAULT '00:00'
,`is_all_day` tinyint unsigned NOT NULL DEFAULT 0
,`repeat_type` tinyint unsigned NOT NULL DEFAULT 0
,`color` VARCHAR(6) NOT NULL DEFAULT 'eeeeee'
,`date_updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
,`date_created` TIMESTAMP NOT NULL
, PRIMARY KEY ( `id` )
, INDEX ( `date_started` , `date_ended` )
) ENGINE = MYISAM CHARACTER SET ascii COLLATE ascii_general_ci COMMENT = 'calendar events' ;

drop table if exists `cal_event_exception` ;
CREATE TABLE `event_exception` (
`event_id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT
, `date` DATE NOT NULL DEFAULT '0000-00-00'
, PRIMARY KEY ( `event_id` )
, INDEX ( `date` )
) ENGINE = MYISAM CHARACTER SET ascii COLLATE ascii_general_ci COMMENT = 'calendar Exceptions' ;

Reply to this Comment

Post A Comment

?
You — Get Out Of My Dreams, Get Into My Comments
Live in the Now
Oops!
Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.