Check your version

This video covers a topic in Drupal 7 which may or may not be the version you're using. We're keeping this tutorial online as a courtesy to users of Drupal 7, but we consider it archived.

Case Study: Aurora Book Club

Video loading...

  • 0:09
    Using Drupal Event Management
  • 0:10
    Case Study
  • 0:11
  • 0:12
    Addison Berry
  • 0:17
    ADDISON BERRY: Managing calendars and event registration
  • 0:19
    can be a real pain, especially if you
  • 0:22
    need to do this manually instead of dynamically.
  • 0:25
    If you think about it, it's not just creating the event
  • 0:28
    and putting the information in there,
  • 0:29
    you also need to handle things like how are people going to consume it.
  • 0:33
    Do you need to have a calendar with daily views, weekly views,
  • 0:36
    monthly views, annual views, like, how are people actually going
  • 0:39
    to find the information that you're looking for?
  • 0:42
    You could also have something like an upcoming or what's next list,
  • 0:45
    but that includes its own problems.
  • 0:47
    Because events are time-based, and if you have something that's what's
  • 0:52
    coming next, but it happened a week ago,
  • 0:54
    well, that ends up looking pretty silly on your site.
  • 0:57
    So there's a lot of things that you need to end up
  • 0:59
    running around and making sure you stay on top of.
  • 1:02
    Luckily, we can use Drupal to make a dynamic version of this,
  • 1:08
    so that it will take care of a lot of that stuff for us.
  • 1:10
    In particular, the Views module is going to give us
  • 1:12
    a lot of flexibility in terms of how we display the information
  • 1:16
    for people to consume it, without us having
  • 1:18
    to oversee every little bit of it.
  • 1:21
    We're also going to be able to dynamically create lists of people
  • 1:24
    who are attending those events without,
  • 1:26
    again, having to manually go in and keep track of that, when someone's
  • 1:29
    going, when they cancel, and all that kind of back and forth.
  • 1:34
    In this lesson, we're going to get an overview of our case study.
  • 1:37
    What projects are we going to be building
  • 1:40
    for our event registration site?
  • 1:43
    And then we're going to walk through the major pieces
  • 1:46
    for how we're going to implement this.
  • 1:48
    And what are the modules that we're really going to be depending on
  • 1:51
    to make this project come together for us?
  • 1:54
    So let's get introduced to the project
  • 1:56
    that we're going to be tackling.
  • 1:59
    The Aurora Book Club is a social group of local book enthusiasts
  • 2:04
    and they hold semi-regular monthly meetings and events
  • 2:08
    for their members, whether they're new people who
  • 2:11
    want to get involved, or the existing members.
  • 2:13
    So they need to have a site where they can find out what's going on
  • 2:16
    in terms of the meetings that they're going to be having.
  • 2:19
    So first things that they're going to want
  • 2:21
    is an event calendar, so that they can actually
  • 2:24
    see which events are coming up when.
  • 2:27
    Now, in addition to having a calendar of events,
  • 2:30
    they also want all the members to be able to add events themselves
  • 2:34
    as they come up, rather than just having a bottleneck of one person.
  • 2:37
    So we want to be able to have an event content
  • 2:40
    type that everyone's going to be able to use.
  • 2:44
    Now the events should have both start and end times with the date,
  • 2:48
    so you know what day it is on, but also is it a one-hour meeting
  • 2:52
    or is a three-hour meeting or anything like that?
  • 2:54
    And also a way to just indicate where it's going to be,
  • 2:58
    because they move them around to different places in town.
  • 3:03
    In addition to the main calendar view,
  • 3:05
    they also want to have just, like, a quick upcoming events.
  • 3:08
    So in the sidebar block here, we have a list of which events are
  • 3:13
    coming up in the order, so that the next event that's happening
  • 3:17
    is that the top of the list.
  • 3:19
    And the main calendar is defaulting to a monthly view,
  • 3:23
    but they also want to be able to sort of drill down into a week
  • 3:26
    or look at the year in total.
  • 3:28
    And, to be extra handy and useful to people and not everybody
  • 3:32
    wants to actually go to the site to always check in on these things,
  • 3:35
    they also want to have an iCal feed so that you could click on this
  • 3:40
    and get an ICS file, and then you can import that into any other kind
  • 3:44
    of calendar software that you have and have this calendar locally
  • 3:48
    instead of always having to go to the site.
  • 3:51
    Finally, since the club members also need to know how many cookies
  • 3:55
    to bring or how many chairs to have on hand at a meeting,
  • 3:58
    the club president has asked that we also include a way to track
  • 4:01
    who is planning to attend each event, so that they have a list.
  • 4:06
    And so for this you'll see we have a list of attendees on an event
  • 4:11
    and a mechanism for people to say they're
  • 4:13
    going to attend or cancel their attendance.
  • 4:16
    Now, in order to build the Aurora Book Club site,
  • 4:20
    we're going to be tackling two main features that we need.
  • 4:24
    We need event management, so we get calendars,
  • 4:27
    and we needed attendance tracking.
  • 4:30
    So for event management, way back in the old days in Drupal,
  • 4:34
    there was a module called Event, which
  • 4:36
    was just an out of the box event module.
  • 4:40
    Nowadays, this is done through a combination of a couple of modules.
  • 4:45
    We have the Date module, which is going to actually deal
  • 4:48
    with creating dates and tracking that stuff in the database
  • 4:51
    and having it displayed in some way that's kind of meaningful,
  • 4:55
    in terms of a field on our content type.
  • 4:58
    And then we also have the Calendar module,
  • 5:02
    which works with the Date module to create a calendar.
  • 5:06
    Now, calendar is built on Views, so you're bringing Date
  • 5:10
    and Views modules together to create sort of that classic calendar view
  • 5:15
    that you would expect to see.
  • 5:17
    Now for attendance tracking, there used to be the Signup module,
  • 5:22
    and there's still the Signup module.
  • 5:23
    And it's designed specifically for the purpose of tracking event
  • 5:27
    attendance, and it has some nice things like email reminders
  • 5:30
    and stuff like that.
  • 5:31
    But it's not been upgraded to Drupal 7,
  • 5:33
    so it's in a development version, but it hasn't really
  • 5:37
    gotten any traction behind it for Drupal 7.
  • 5:40
    But, luckily for us, there's another module out there
  • 5:43
    that's going to satisfy our needs just as well called Flag.
  • 5:46
    And Flag is actually a much more general purpose module
  • 5:50
    that we can use in a lot of different ways.
  • 5:52
    We're going to use it for attendance tracking,
  • 5:54
    but you can use Flag module to kind of flag
  • 5:57
    all kinds of different things.
  • 5:59
    So out of the box it comes with bookmarks,
  • 6:02
    but you can also do things like Mark Content as Offensive,
  • 6:06
    let people bookmarks things, and we're going to use it for letting
  • 6:09
    people say whether they are attending or not attending
  • 6:11
    an event, so that we can then create a listing of all those people.
  • 6:16
    So these are the main new modules will be looking at,
  • 6:20
    is Flag, Calendar, and Date.
  • 6:24
    And that is going to help us build the Aurora Book Club website.

Case Study: Aurora Book Club


To kick off this series, we're going to take a look at the needs for our project. Our client is the Aurora Book Club, and they need a way to track events along with who is attending the events. In this lesson, we'll discuss the requirements, and how we'll implement them. We'll also be taking a tour of the finished site so we can see where we're headed. At the end of this lesson you should understand what the target site is that we will be building.