Free Videos about Mastering Views

How To: Create a Drupal Calendar

Play Video
Movie link (right-click to download)
Problem with this video? Contact me

In the beginning was the Event module. It was the de facto standard for managing calendar types of data. That was before CCK. Content Construction Kit saw fit to bring about many changes in the world of Drupal.

With the rise of Views module, a new era was born. Shortly after, the super talented developer KarenS created Date module and Views and Date got together. Their offspring was the Drupal Calendar module.

And from that time on, a Drupal calendar was easily possible with date and time harmony spreading across the land.

Ok, enough of the silly take on a religious beginning. What you likely want to know is how to simply add and leverage a calendar on your Drupal site. Well, how about this for simple - "Just watch the video" - "Oh, and enjoy!"

Modules used in this video

Very helpful. Thanks!

I am so glad I subscribed to your site. This video will be very helpful when I set up a calendar for a client.

Thanks Matt. The video was fantastic, just like all the others :)

The creation of the From date and To date is one example of what I'm talking about. I would suggest a more linear approach with the blanks filled in next time. I'm just trying to offer constructive criticism. Thank you for your contribution to the Drupal community.

Nice tutorial.
really looking forward to finding out how to customize events etc!

Thanks for this good video

wow! nice post, and great tips and video. thank you for sharing. like the rest of the blog, i've liked it so much. the info you post is always very helpful!

HorraY for the best drupal-teacher on the web. I'm very greatful for all your effort you lay into making these videos/podcasts. Some might call them a bit lengthy, I call it Quality! :-)

I'm using Drupal 6.13 on Kubuntu 9.04, full updates, running well.

I followed your instructions and everything works except:

When I am trying to configure fields (for display), under the Format (drop-down select list), I don't have Time as an option, as your tutorial video does. (I only have Default, As time ago, Long, Medium, Short as options) .

How can I configure this formatting option? (I do not have the ability to do so in Administer -> Site configuration -> Date and Time -> Formats because I cannot figure out how to create a format with only the time in it).

Ok, I sorted out the answer to my question. To create a custom Date and Time format which will display just like in the tutorial, do the following (from the menu as an administrator):

:Drupal -> Administer -> Site Configuration -> Date and Time -> Formats -> Add Format ->

Format string: H:i

(This adds a format type to the drop-down selection which only displays hours and minutes.)

:Drupal -> Administer -> Site Configuration -> Date and Time -> Formats -> Add format type ->
Name: Time only -> Type: timeonly -> Save configuration

:Drupal -> Administer -> Site Configuration -> Date and Time -> Formats -> Configure ->
Time Date format: (the dropdown box should now show your recently created time format, so select it) -> Save configuration

When all else fails in Drupal, do an update.

While watching your 25 minute tutorial, I took a shortcut and got a calendar in 3 minutes (after creating the custom Time format as detailed in the previous post):

*The Date Tools Wizard simplifies setting up a Date content type to be used with a Calendar display.
:Drupal -> Administer -> Content Management -> Date Tools -> Date Wizard -> Save

:Drupal -> Administer -> Site Building -> Views -> calendar_date -> Fields: Content: Date - From date -> Edit -> Format: Time -> Update

:Drupal -> Administer -> Content Management -> Content Type -> Date -> Manage Fields -> Label:Date: Configure -> Default value for To date: ''Same as From date'' -> Input format: ''Your preference'' -> Global Settings: Required (ticked) -> To Date: Optional -> Default Display: Long -> Save

:Drupal -> Administer -> Site Building -> Views -> calendar -> Enable

*Create some (event) content:
:Drupal -> Create content -> Date -> ''create an event''

*View your calendar to see if it came out correctly:
:Drupal -> Administer -> Site building -> Views -> calendar_date -> Edit -> View "Calendar page"

Oh, yeah, you also forgot to tell us newbies how to view the Calendar from the Drupal website (by adding it to a menu).

Drupal -> Administer -> Menus -> Primary Links -> Add item ->
-> Path: calendar -> Menu link title: Calendar -> Save

If using Date Tools (with events created as Date content type):
Drupal -> Administer -> Menus -> Primary Links -> Add item ->
-> Path: calendar-date -> Menu link title: Calendar (from Date Tools) -> Save

Great screencast! & great comments by Perspectoff for all of us who are just getting in (a perspective often neglected when a teacher makes too many inferences - and it's easy to make a ton of inferences in Drupal). I just spent the last 2 days searching for this. In the end, the answer was pretty simple but very hard to find.

Now I wonder if i can print just the time in Calendar display and nothing at all in Day display since both day & time are part of the interface... :-)

Calendar 6.x-2.2
Content Construction Kit (CCK) 6.x-2.6
Date 6.x-2.4
Views 6.x-2.7

I did what Perspectoff said to do and I don't get the "Time Only" to show up in the Format Dropdown when editing the view in Home » Administer » Site building » Views » Edit view calendar .

The only way I could get it to work was to change the default "Short date format: "
Home » Administer » Site configuration » Date and time » Date and time/Formats/configure
to the custom string of time only (that we created as above) and then going back to editing the views calender and selecting the "short" format.

I am not sure why the custom format didn't show up in the views calendar Format dropdown... any ideas?

Hey good tip!
thnx, i also did it ure way, much easier than running an update.php

Thank you Perspectoff! I had the same problem and couldn't find a solution in any of the usual books and sites. Thank you so much for sharing -- now I can quit breaking my calendar views in sad attempts to make that change.

Thank you Perspectoff! I had the same problem and couldn't find a solution in any of the usual books and sites. Thank you so much for sharing -- now I can quit breaking my calendar views in sad attempts to make that change.
For GMHilltop, try clearing your Views cache (Site Building>Views>Tools>Basic) and site cache (Administer>Site Configuration>Performance) after applying Perspectoff's instructions

Thanks Matt for this informative video.
Keep on the good work.

It would be helpful to know which versions of these modules you used. I'm using Drupal 6.13 with the latest copy of Calendar , CCK 6.x-2.1, Views 6.x-2.2 and I run into the following discrepancies:

  1. I don't have the ability to add formats
  2. I added a Date Field, but there wasn't a From and To, it was merely a date.
  3. Despite these I configured the calendar the way you did with the exception of being able to point to a date_calender_event From field, and my calender view is not displaying the time.

i have gone thru the video three times now...

and am having a horrible time with this

From and To ... in the calendar...

How in the world to we get these details into the system to get this events to work?

thank you

In the views fo rthe calendar set the arguments select Date:Date(node) then the field that you want to track.

My problem is a little different. I get to see all my calendar events. I've created 2 content types using the Date Tools which is a lot quicker, but I love gotDrupal's tutorials and still feel them valuable.

Anyways in my 2 content types I made one open to annon users ther other authenticated. But drupal just doesn't seem to discriminate. I've cleared cache and in the View Calendar page within views (when I'm logged in) all looks fine. When I log out or use another browser I still see both events.

I can't figure out what I'm doing wrong.


I really appreciate anyone who spends the time to create a resource like this. This video, however, is not as helpful as it could be. As a point of pedagogy, it is very unhelpful to have multiple steps skipped. After all, the assumption is the viewer doesn't know how to create a calendar, so why should the viewer have knowledge of the steps you skip? The creation of the From date and To date is one example of what I'm talking about. I would suggest a more linear approach with the blanks filled in next time. I'm just trying to offer constructive criticism. Thank you for your contribution to the Drupal community.

I'm grateful for any feedback. Not surprisingly, I get both requests to be more specific and those that say I'm full of myself for talking to much. Finding the balance is what I try to do.

I'll take your feedback to heart and work on not missing critical steps or making too many assumptions!


It has to be difficult to know how much peripheral info to add. Don't listen to the dude. If something is not included, he can google it.

Thanks for the video!


Thanks a lot for the tutorial.
Views is certainly a great module, but you can get lost in it. This tutorial will sure be helpful.

Of course, I also come with a question :P
I'd like to have different event types, so users could get an agenda view of each event type.

For example: I'll put in the calendar all the events that will be hosted in a certain stadium. I'd like the users to be able to choose to see only "concerts", "professional football games", "university football games", "amateur football games".
Been able to choose to view only some of the types ("concerts" and "amateur football games", for example) would also be great

Any clue on how to get this done?


I can answer myself: I can select a field, and expose it. As simple as that

First off, thank you for your videos. Being new to Drupal, i wouldn't know where to start without them. Thanks!!

I'm sure it's right in front of my face, but how do i add recurring events. ie: board meeting every 2nd thursday of the month

It seems that what is out there is for the event module, is there something for the Calendar module?

Thanks for any help you can offer. :-)

I'm pretty new at this too, but it looks to me as though there's no way to make repeating events display in Calendar view on all the dates. There is a repeats option in the Event content type, but repeated dates display as a list, only on the first date of the series of dates.
To follow some of the discussions 3 years ago (Drupal 5.x with Event.module and eventrepeat) look at
I've installed 6.15, so Event.module and eventrepeat are incompatible. I've watched a couple of videos on 6.x, and read descriptions, but nothing points to a display date by date repeated.

If you created the content type and calendar by running the Date Wizard (admin/content/date/tools/date_wizard), I believe you would have had to select 'yes' under "Show repeating date options".

The question now is:
If I did not enable "Show repeating date options" upon running the date wizard, is it possible to enable post-creation? how?

...and the answer to that question is: YES!

For example: The name of the content type that I created using the Date Wizard is "event". So I would simply go to admin/content/node-type/event/fields/field_date and then click "Change basic information" and then change the "Widget type" from "Date field with date pop-up calendar" to "Date field with date pop-up and repeat options". Then click 'Continue'.

And then I believe you need to click "Save field settings" when you are returned to the previous page.

Hopefully I understood your question and answered it clearly. :)

Great tutorial, worked perfectly...well, almost perfectly.
I'm a super noobie to drupal, but everything has been going pretty smoothly. I followed the tutorial and my events show up just as they should while I'm logged in, but general users who view the site don't see the events on the calendar...any idea why that would be?

Thanks for any help

I am getting the following error when editing the calendar view.

The date argument date fields must be added to this query. You can exclude them if you do not want them displayed in the calendar.

In the "Arguments" section above "Fields", select "Date node", which it seems from the error message, you already have. Then, from the "Fields" section, select a date field. Preferably, the "From" date field.

I think your best bet is to find the simplest datepicker you can find (because simplest usually == easiest to modify) and just hardcode it to skip over the days you don't want when it's building the datepicker.

However, that only fixes the JS side of it, so you'll probably want to write a little tiny custom module that does server side validation as well.


I'm using Drupal 6 and I've copied the date, calendar, and views module folders to my modules directory. Everything looks fine except the "date" and "date tools" are apparently "missing." I've read over the install and readme files, and I don't see anything else I'm supposed to do. I'm fairly new to Drupal, so I have no idea what could be wrong. Any advice?


I wasn't aware of the Content module. I think I'm back on track now.

I am having a terrible time with this. I finished the video and I think I have everything set up correctly, but my calendar is displaying entries for every page I have created. Is that supposed to happen? How do I get rid of them? And why do you use "date" and tell us to use "datetime" therefore making what you see different from what we see? I did not know I needed the content module, that took a while to realize. I did not know how to set up the content types either. I am going to assume this is not for beginners. This is how my calendar currently looks:

If anyone can please help, I would appreciate it. I only started using Drupal a couple weeks ago and I'm setting this site up for my employers.

Is that it's always changing. There may have been settings between the time I shot this video and now, that have changed how things work - even if every so slightly.

Open source evolves at a very fast pace, Drupal in particular when compared to Wordpress and others. Drupal development does not try not to be backward compatible. This is very freeing, in that Drupal will always be a forward looking and cutting-edge CMS.

This gives it advantages, but leaves issues like this unresolved. If you're unable to figure out the calendar setup, then it may be worthwhile to find someone local who could explain it in more depth. Are there local Drupal user groups, where you could show your setup and get advice?

Sorry I can't be more helpful myself. My schedule is packed right now. I know when Drupal 7 is released, I'll be shooting new videos for most of my topics covered here. Maybe then I'll be able to be more thorough.

I'm still new to this Drupal thing but your info on the Drupal calender felt welcoming--thanks!


nice video. Maybe you can answer my question. I tried to set up a view for a calendar with multiple data sources (from two content types). The most important question is: Is it possible to "merge" multiple date sources in one calendar?

I set it up and the argments accept multiple fields, also it's possible to add multiple fields. I gets a little bit tricky in the sort and filter section. How can I sort the dates correctly because currently they are sorted by content type an within the content types by dates but I need a full list sorted by dates an totally independent from content types.

Also the filter drives me crazy. I need the dates filter by now. As long as only a single content type is in the query everthing works as expected. As soon as I add another date value from a different content type an error popped up:

Thanks in advance

I very much enjoyed the video instruction on how to create a Druypal calendar. I will add this to my limited (but ever-expanding) bag of computer/Internet skills!

One of the best tutorial I have ever seen. Thanks...