Kinky ColdFusion Calendar System Almost There
Posted August 7, 2007 at 10:23 AM by Ben Nadel
This morning, I cleaned up the Add / Edit page of my up coming ColdFusion calendar system - Kinky Calendar System.
| || || |
| || |
| || || |
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)
What Other People Are Searching For
[ local search ]
coldfusion calendar system
[ local search ] coldfusion calendar application
[ local search ] calendar application coldfusion
[ local search ] building a coldfusion calendar
[ local search ] calendar demo
[ local search ] free calendar software coldfusion
[ local search ] free coldfusion calendar application
This is some very impressive stuff Ben. I love the UI as well. Keep up the great work.
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.
In month view, when a date has multiple entries, it isn't completely obvious, perhaps a little css hover technique to highlite individual events.
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.
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.
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?
Yes Ben, that worked for my filter question perfectly. Thanks for the quick reply.
Glad that got you going down the right path.
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?
It sounds like the "event" table was not successfully created or perhaps you are pointing at the wrong database?
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' ;