Skip to main content
Ben Nadel at CFUNITED 2010 (Landsdown, VA) with: Randy Brown and Rick Mason
Ben Nadel at CFUNITED 2010 (Landsdown, VA) with: Randy Brown Rick Mason

Kinky ColdFusion Calendar System Almost There

By
Published in Comments (11)

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)

Reader Comments

15,848 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.

14 Comments

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.

15,848 Comments

@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.

2 Comments

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.

15,848 Comments

@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?

1 Comments

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?

15,848 Comments

@Rayne,

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

9 Comments

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' ;

I believe in love. I believe in compassion. I believe in human rights. I believe that we can afford to give more of these gifts to the world around us because it costs us nothing to be decent and kind and understanding. And, I want you to know that when you land on this site, you are accepted for who you are, no matter how you identify, what truths you live, or whatever kind of goofy shit makes you feel alive! Rock on with your bad self!
Ben Nadel