Kinky ColdFusion Calendar System Almost There
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)
Reader Comments
This is some very impressive stuff Ben. I love the UI as well. Keep up the great work.
@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.
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.
@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.
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.
@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?
Yes Ben, that worked for my filter question perfectly. Thanks for the quick reply.
@Pat,
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?
@Rayne,
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' ;