Lab 9: Event Management and Calendar
Suppose you were preparing a website to keep track of a dorm calendar of events. Members might want to be able to see when events are happening on a calendar and post their own events to the site. To make it easy to see what is coming next, there should be a short block of upcoming events that could be placed on a homepage. The calendar should offer daily, weekly, and monthly views as well as a way to subscribe to the calendar using Microsoft Outlook or Apple iCal. Finally, it would be good if there were a way to track those who are planning to attend.
In Lab 9 you will set up this event management system on your lab server.
- For this lab you will need to install the modules Date, which provides a date field for content types, Calendar, which can display events in a calendar format, and Date iCal, which can set up an iCal feed. You'll also need Libraries. Make sure the following modules are enabled: Libraries, Date API, Date, Date All Day, Date Popup, Date Views.
- Create new new content type called Event, with description Dorm event, and fill in appropriate values:
Event content type
- Title field label: Name
- Don't promote to front page by default
- Under comment settings, uncheck "show reply form on the same page as comments"
- Body field label: Description
- Add a text field called Location for storing the location of the event.
- Add a field called Time of type Date with the pop-up calendar entry widget. In the field settings, check "Collect an end date" but don't make it required. On the next form, make Time a required field. Under More Settings and Values, select appropriate date entry options. Change Starting Year to -1 year from now.
- Put the fields in this order: Name, Time, Location, Description
The calendar view module provides a rich new View type called Calendar, but it requires various arguments to be set up properly. For example, if the calender URL is calendar, the Calendar view will handle URLs like calendar, /calendar/month, etc.
Taking it further (optional)
Do you want to track who will attend events? Let's add an "I will attend this event" link at the bottom of each event, together with an "Attendees" view for each event.
I will check your website directly from the link on the course page.