Build an Event Calendar in Drupal - Hands On Training Webinar [May 2, 2012]
Build an Event Calendar in Drupal - Hands On Training Webinar [May 2, 2012]
Want to learn more about Acquia's products, services, and happenings in the Drupal Community? Visit our site: http://bit.ly/yLaHO5.
You'll learn how to create an "event" content type using a date field, and then create event listings in a variety of different formats. These will include options depending on how frequent your events are, for example, an annual calendar listing all events on one page, or a month by month calendar grid for active schedules. You'll learn how to link these pages in menus, and add a calendar block in a sidebar. You'll also see how to set up special formats for displaying fields in "view modes" depending on where the content is displaying. For example if you're viewing the content on a the full page you may want to show all the fields available in two columns? Viewing in a front page summary block? Just show certain fields.
In this "site recipe" you'll see how to combine core functionality like Content types, Fields, Date formatting and extend it with contributed modules such as Date, Date API, Views, Calendar and Display Suite. We'll take a moment to compare some other options such as the Full Calendar module. You can also find out ways to extend your event calendar with subscription options such as an iCal or RSS feed.
What you will learn how to:
• Create a content type with a date field
• Control who can create and edit events
• Create listings of events in the future
• Create grid-calendar pages and blocks for your sidebar
• Customize the display of content fields in different situations
• Find out more about ways to extend event functionality
Heather: This is the webinar about the Site Building, Step-by-Step Build an Event Listing. I’m Heather on Drupal.org. You can also find me on Twitter at learningdrupal and hjames is my personal account. I’m the manager of learning services at Acquia and I definitely would recommend you to go to training.acquia.com and find out how you can invest in your skills and develop your Drupal skills.
I wanted to make this webinar for people who are new to Drupal, who wanted to know how to put in an event calendar. People just really needed some basic site building essentials. This is definitely geared towards someone who is brand new to Drupal. What we’re going to do in this session is we’re going to get inspired, first of all. We’re just new discovery and trying to figure out what it is that we want in our event calendar. We’re going to write and prepare a specification.
Now we’re going to build the event calendar. At the end I’ll show you where you can find out more to continue the learning because we can’t even cover all of it in this session but at the end I will also review a list of all the cast of characters and the modules that have shown up in this session as well.
First let’s look at some models and examples. I was actually just training recently and after the event someone emailed me and said, “Can we do this in Drupal?” This website kilkennyevents.ie is actually a Wordpress site so this happens a lot. You see something and once seeing that you wonder “Can Drupal do something like that?” I poked around and I try to see it from a Drupal perspective and it looks fairly straightforward. There’s a teaser mode and a full mode for each event. The teaser mode shows up when you look at events in a listing of topics or categories and the full mode shows up when you click to see the full details.
Actually, I thought this is fairly straightforward. We can definitely do something like this in Drupal. There’s also an event submission form on that Kilkenny website. This allows anonymous people to fill out a form, put in their personal details, put in the event details and upload an image. I assume then it goes into some sort of approval queue and some editor probably decides how are they going to actually publish this content.
The alternative to that would be to go to Drupalshowcase.com and then try and get some ideas about how other people are solving these problems in Drupal. I have to ask the question. First of all, if you’re actually going to add events to your website, you know I’m always looking for the KISS IT option, to keep it simple, stupid option. If it’s really simple to simply take your Google Calendar and embed it on your page on your website then if that works that’s great, but if you need your events to be integrated into your website and to be listed in multiple ways then you probably want to use Drupal. I really like this janepickens theater website. I would like this Coming Attractions page. I thought this was nice because it has pictures. It’s styled really nicely with the date and the title of the events and it also offers a calendar view. Calendar view shows events happening over multiple days. We can also see that events had been color coded. I thought that would be very curious about that. When we click through you can see the full event page it’s very straight forward. We’ve got an image and an offsite links on the left and on the right we got the title and date and then the description.
This information for example on the left, the image itself or the offsite links could have been included in that body text, if people could just simply upload and put it in line image in, but having these separate fields allows the designer to control how that image is actually resized and how the offsite links appear and where they appear. It really makes a good case for having fields in your content type. We’ll go into some more details about that soon.
I also like this Turkish website Etkinlik Takvim I hope I’m pronouncing that right. This is really high volume website. They’ve got a lot of content, and so to satisfy their needs they’ve got a variety of navigation and on the left they’ve got events listed by theater, concerts, conferences and on the right you can see month navigation so people can go day by day and see what’s happening and on the bottom right we can see today’s events are listed and you can see the events listed by time.
I like this one as well the Indianapolis Museum of Art. This is really a creative way to actually categorize the events by color and find a really unique way to display their content and again if you choose another system where I think this would work directly out of the box, you would be limited on how you could set this information to display. This would definitely require some custom seaming and yet it’s nice to see the potential.
On our training website of course we have our events listed and what we discovered is that people are mostly interested in time and location ... I’m sorry time and the course so they are more willing to travel if the time is right and the course topic is right so we allow people to sort by months, year and then what course topic.
We also have an events submission form on our site. This is what it looks like when you’re logged in as a content editor on the site. You notice you don’t see a backend on the site. You’re looking at it just like a regular form. There’s also on the upper right a block where you can see your own events listed.
As an administrator, though, you see something quite different. You see a queue of events that have been submitted before they are published, so this is something I can see on the site. I can select multiple events and then click to publish post. This is done with a module called Views Bulk Operations and so this gives you a way to create custom administration interfaces and that would be something that would be more difficult in other systems.
What we can see just doing that quick discovery is that the frequency of events will affect how you display your content, whether or not you have your events happening over multiple days will affect how you display content, as well the actual information and the content itself will change what you will be listing. Do you have images? Will you have images for every single event? We also think about who is submitting the events and how that content’s getting entered and it is good to involve all these people in that discovery process.
We’re going to prepare a little specification. I’ve decided that I want a mini calendar on the site on the side bar so that no matter what page someone’s on they can see what events are happening. I would also like to be able to browse the events per month, week and day, and when you look at the full content, I would like the layout of the content to be visible at a glance. I don’t want people have to scroll down. I’d like them to be able to see the date, venue and the related things really quickly.
At our really local event site, we’re going to have login users that can submit events, we’re going to associate events with a specific venue and then we’re going to show this event listing teasers on one page where they can actually filter it by venue and then we’ll show that mini calendar and the display full events, as I’ve showed you.
Let’s see what Drupal does out of the box. Let’s just look at what a basic content site is. We have your basic Drupal website. You may have seen the welcome screen like this. If you go to “add content” you should see an article and a basic page. If you go to Add a Content site you go to Structure Content Site > Add Content Site and the form you see here is just a basic content site or creation form. You are just going to put in a name and then I also customize the title field label, and at this stage I would just say that just to see what it does. You can see it is listed on the content site so when I go to Add Content Site there it is. We have an event. Just filling out the title and the body alone and keeping all the defaults, we can actually see what it looks like when it’s published. You can see there’s a Submitted By, Site Admin and the Day of Submission and the Comment fields was automatically enabled for that content.
You can also see the event with URL with node (forward slash) /1. I can edit any of those as manually but you can imagine if you want to control it could be quite difficult. We can use another module called Path Auto and create custom patterns to make these custom, more user friendly and search engine friendly URL’s. What I want is event/ and then the title of the event. To do this you will be editing your URL aliases under patterns and you can see here at the bottom I’ve got events/ and no title. That is called a token. In fact there’re lots of different kinds types of tokens where you can add and create other unique patterns. Event date for example could be used as a pattern.
Considering what we’ve just seen out of the box I’d like to make some improvements. I don’t want comments. I don’t want people to be able to add to menu and of course I need that date field and I need to able to add a related venue field. We’ll go about customizing these events now. I can go back to the Contents Type page and click Edit to change the basic settings and simply deselect things like Display Author and Date Information. I can turn off the comment settings.
You can notice that, well, you’re not actually trying to comments off you’re just making the defaults to be closed so it’s important to also fill out these options like Allow & Comment Title or Show in Reply Form on the same pages comments because one of your authors, if they have permission, could overwrite and enable comments on any content. As well, I don’t want people to be able to add an event to the menu track if it doesn’t fit with what we need so I can deselect that.
Next thing we’ll do is add that date field. When we go to the Manage Field page on that content site you can see where you can have a bunch of different field types like select, file and list, etc. but date is not available. That’s because we have to add in a contributed module called date, surprisingly, and this will also if we go to enable a module on Drupal it will also remind us of any required dependencies, so I always let Drupal take care of that. As soon as you enable the date module you have a friendly reminder to set your date format settings as well. Just working through those ... these are settings you can set up on the site. Users could also override their local times but the date formats control how it’s laid out so being in the UK I would like to see day-month-year format for example.
Now when we go back to manage fields, date is one of the options available finally. After we add a field, the first thing we set are the global settings for that field. For example, if we’re going to get as granular as minutes, it’s important to note that you can have multiple date fields so you can set this global setting for this date field and have something else for another one. The next step we’re going to set the field’s settings for the event content type and how that date appears there. After we do that we finally have a date field and so I’m simply going to find content, type the existing piece of content I made before, edit and see that I have my event date available.
The thing I don’t like, though, is having to select each individual pull down menu. This does seem a little bit tedious so what we can do to improve this form is to move the date field up in the form. I think for content editors it’s important to have the most important elements of their content at first in the form. We’re going to move that up and have a pop-up selection. That again is another module. It’s included with Date but it’s great but developers are making these modules optional so that means you can have your site as lightweight as possible and have as few modules as you need.
We go to Configure Field and you can see it is fairly straightforward to just drag them in the right order. After enabling that pop-up the widget is available here where you have the pop-up calendar option. When we go to edit the content, you can see this form I think it has greatly improved. We have at least have a pop-up option here and it’s right under the event title.
Now we’re going to add in an image field. An image field is actually available at Drupal Core and simply added as the image field type, and I wanted to set a default image. I don’t want to make images required. Sometimes that can just be a real show stopper and at least if I have a default image things will look okay if there’s nothing else that the field settings as it appears a event content type. It’s important for example to have an alternate attribute to improve the accessibility of your website and also make it more search engine friendly, and again I’m going to arrange that image fields in the entry form so you noticed from the Manage Field stage that changes how the field displays in a form, yet the Manage Display tab actually controls how it looks.
In this case I can change, for example, to the medium sized image when we actually view the full content. We can set the teaser settings for the images as well. You will notice that by default any of these small fields are hidden in the teaser so I’m only going to get the body and actually the title. I can actually move things out from hidden up into the displayed section and hide the body content type, and you remember before in the teaser we want to control what actually shows up. I’m going to set the image file to thumbnail and you might be wondering where these image files are set and how does it control thumbnail or how thumbnail or how medium sizes appear.
Under configuration media image files you can actually override the default settings. In this case I wanted a hundred pixel crop so that it actually would resize to hundred pixels of the shortest widths and then it would just crop out anything that was extra. When I go to edit the content type, I can see here an image field option available so I can upload the image and then set the alternate text there.
This is what it looks like now. On the left we can see the teaser and this is just automatically promoting to the front page and on the right we can see the full content display. We’re looking at the full page now. The View and Edit tabs appear only for the editors, by the way.
What I would like to do next is add the related links add the related venue and just ask myself to make sure when you design your content site, “Is a field really required?” “Could I just put that content into the unstructured body text field?” “What’s the point of putting it as a field?” If I need to control how it displays and looks like I definitely want it to be in the content type.
Let’s add the related links fields. This is again another type of module where you can extend what Drupal can do and how it can validate information, so the link module after it is enabled, creates a field type called link. Now you probably know what’s going to happen next. I have added a field so I’m going to check the default settings. I’m going to set the default link settings for this content type. They’re fairly straight forward. I can set, for example, the link target to open in a new window, but that’s not necessary I suppose in some cases. I’m going to manage display so I wanted to make sure that under the teaser that these find out more links don’t show up. I don’t need them for the teaser but I do want them on the full display. Once I tested the content site, I can see this new field options available in the form, and I can put in the title and the URL. The links become visible in the content site. You can see that’s just appearing as full links.
Next we want to add that related venue and I only want people to select from a limited set of options. I could just let the venues be like the links. They could just link off site but I want to let Drupal manage this because if venues get renamed or if we change the URL path or we add a new venue it’ll be much easier if I just let Drupal manage the entry of these venues.
I thought about different ways to do this. I thought, “Do I want to see a related venue content site?” I found out that content site what would it have? No comments, I don’t want people to add venues to the main menu. I don’t want author or date information and I don’t want to be promoted to the front page, and the only field that they really need are Title and Body.
I got a better option actually with the vocabulary. You can relate content amongst the site. There’re some great modules such as references or relations, but the more I worked into this, it just seems like it was a lot of overhead. The great thing is you can actually add fields to a taxonomy terms as well.
This vocabulary is going to be called venue. The terms to be controlled by the administrator and because we’re using taxonomy, we get a bonus, for example, of an RSS feed per venue. It’s a lot easier to navigate, so we go to Structure > Taxonomy and click to Add Vocabulary and in this case our vocabulary is venue and after you add one term it just reloads the same form up and I can put in a name and description and their terms are available. However they’re not available on the content type yet because the field has to be added to that form. For you to do the same thing you know I’m going to add a field that’s a global default set content type specific defaults and arrange the fields and then check out how it displays. Here we are adding the term reference field. I want the Select List widget. Then I go to the field settings, make sure to select the venue as the vocabulary, arrange the field in the form and then manage how to display works. In the teaser I do want the venue to show up, for example. Probably, even if you’re brand new to Drupal, you may be getting more, more familiar with this process.
Now I can see in the form the venue’s available so I’m delighted that’s working just fine and when I go to see the teaser I can see the venue showing up so even just right now at least we have events displaying on the site. We’ve added so many fields to the content types now you might be curious to see what’s available.
Under Reports Field list you can get a full list of all the different fields you’ve added to your content type. At this stage we designed the content type and created it. We’d really, probably at this stage, want to test this content type and we’re going to do a bulk creation of content. We’re going to create listings to list all the events and make up many months. Ideally you would test the content type with real users to be on the set stage because you always get surprises when you put in real content with real users.
I’m going to be a little more brutal now about how this content displays. I don’t like the way the fields are just showing up in the line. I want that at-a-glance view. If I go to Manage Display, you already know by default that we have a default in teaser modes. I can enable full content here but it’s still limited to how I can actually control the display of these fields. I’m going t use a module called Display Suite.
Display Suite allows you to even add extra view modes so I’ll enable full content and now I can actually set a specific layout. For example a two column layout would be good here. You’ll see these layout options: header, left, right, footer depending on the layout you chose. Instantly as soon as you enable this module and you go here, this has disabled all the fields on my page so make sure you’re not working on a live site when you do this.
These are the ones I’m concerned with. The title, to find out more and venue are interesting to me. I don’t necessarily need to use picture, read more comments because that’s not relevant to my content type. Again this the current of layout, I want to get rid of this label. I want to move the venue and the event information at the upper left along with the body text. I can just drag the fields around. I dragged the title into the header and discovered that I had a duplication with the title appearing in two places and so that wasn’t even necessary, I also want to get rid of this label here and I want to actually have this event information laid out different. I actually wanted consistency as well because it seems that there is varying inconsistent fields for laying-out.
To change the mark up you can actually change the wrapper for the title by default in Display Suite. But you’re a little bit more limited with things like image, I’m just going to, for example, hide the image label here and I can make labels in line, this is just Display Suite out of the box, this is how it looks now, these fields that is showing up right. The thing I don’t like though is the one I looked at the mark up of this content, it’s very inconsistent I thought one field that has dividers and another field that has header free with it in an ordered list. I want to make this mark up consistent. You may have heard of the census module. It allows you to actually bond the content type settings ... sorry on the field settings you can actually set your block level elements for that particular field. This would be a way you could actually get national five compliance, For example, you could set a body content to be an article or maybe that wouldn’t be right actually would have be section. I wanted to check it out to see if it was relevant but in fact they ... I could use the Display Suite extras in my case.
As soon as I enabled the Display Suite extras I can allow to override the defaults field templates and when I click field display, I can actually add in the various elements such as a dividers as the outer wrapper, an ordered list for all the field items and then each field item can be a list item.
I tried to actually put in the same CSS as well just to see if I could actually get its look exactly like I did before and so I did get that but then it doesn’t look consistent except for example to find out more link of course I have to redo this one as well and then I’ve also lost my classes too. In order for me to get the most out of this, I think the best thing would be to set headings three on the labels and then set the field elements and to remove the classes, and I can actually use then as my theme to set how these display.
That at least makes me mark up a lot cleaner so I don’t have a lot of dividers and extra classes that I don’t actually need. What I can do for the remaining steps is just to adjust any remaining fields, five classes are needed and hear about the event date doing the same thing with heading three and paragraph type for example. Overall then at least this mark is consistent and when I do add CSS it’ll be a lot easier to manage.
I might think of it as well when I look at content that doesn’t fit my model I might think of maybe taking the body, the body field and limiting how much text can be imported, maybe how long the body fields display for. To improve this, we’re actually using the bar tic scene now. Keep in mind you should never edit and course theme you should make the subtheme and then you can add CSS filing to improve it.
As I said before after you’ve created your content type and put it upon your site you should definitely think about who is going to edit this content. Is it all users, authenticated users and then how do people become authenticated? If I go to People’s Permission Role, I can see the default of anonymous users, authenticated users and administrators. Administrators would be actually one type of authenticated user in this case.
When you go to your permission’s page then you can see all the permissions available per role. In this case, I’ve actually given authenticated users the ability to create and edit their own ... and delete their own content. Whereas administrators inherit everything that the authenticated user got and then they have some additional permissions available. The account settings as well, I’ve over written it and allowed that visitors can actually register account but were going to require e-mail verification. This is just regular site building steps that you would do when you’re making any site. I’m also going to create a test user in this case, I put in my own e-mail address with a plus and a number two because I don’t need to have any multiple e-mail addresses for testing accounts.
When I log in as a test user, this is what that user would see. They don’t see the back end of the site because I haven’t actually given permissions to see the administration interface, so they never really leave the front end of the site which fits with the way I like to use my site as well. What I would like to do is make an improvement by adding a link to the main menu. So I go to structure > menus and click Add Link for the main menu … or it’s not going to the next slide, there it is and I can type in the pass there. About this pass, I’m just like copying and pasting when I went to the page for example. You can change the order of the links in this form and there we can see on the left if you’re that logged in and you are authenticated, you can see the link but if you’re not logged in, you don’t see the link and that’s because I’m allowing Drupal to handle the display of this information and so if you don’t have permission you won’t see the link.
This thing you can think about improvement you want to make, should items be published automatically? Should be making an approval cue? I mentioned for example Views Bulk Operations. For the interest of time I couldn’t actually include Views Bulk Operations but I think that you could actually just install it after you understand Views and see how it works as well of course that looks real content editors and real content/ That’s when we’re going to actually add in some sample content now. And this is called Developer module and this one is called Developed Generate and this is going to allow us to actually create a blog content once, I’m going to make events I screen shot the wrong thing, creating events and you know create a certain number of nodes. Notice Drupal’s generic term or any of the content type, any instance of the content type. So after I view that I’ve got a whole list of Latin events, I mean I don’t even speak Latin and I got the Latin content on my site but the truth is of course you want to at least edit some titles so they stick with the content especially if you’re going to ... testing with users or any of your stake holders and also make sure in the case of events so we want to make sure that a couple of events are at least in the same month as well.
Let’s make that a event listing page. A little we have now on the left on the front page, we see the listing of teasers which is fine if you click on a venue like “kitchen closure” you see a listing of the teasers as well so that’ll what we get by default. What we’re going to do next is enable the Views module and as well the date Views module which is included with date. I’m going to go through all the modules that we showed here at the end of the session. To go to Structure Views and add and you see what ... what you see here actually is called the Wizard and whenever you go to Views the first time you see the Wizard and after you create the view you don’t see the Wizard again. So you can only really edit, the wizard in this mode.
So we’re going to create a view called events, we’re going to select content of type events and then create a page where we have a ... of fields, we we’re just going to save it at the stage and oh and sorry as well as we’re going to create a menu link. And that can even set how many items display in this case. So let’s just see after we say that this is what we got out of the box a very simple table it’s only got one column and it’s only got titles. Using the gear here on the upper right, I can click to edit view and this here is the views configuration frame which after some practice you’ll get more and more familiar with various programmers concerned with right now, include, the format settings which we’ll look at, the fields themselves the columns are actually display and filter criteria as well.
So the first thing we are going to do is add additional fields, so that’s right here and the, under the field option, click add, ... sorry click add, and go type in event and this will be if you know if you have a complex site, lots of fields, it’s easy to just sort through with this word event. I can see the field that are available. Notice that if I can select three fields, it actually cue them so I can configure each in turn so I’m going to have the label say when, for this event date field, the image, I don’t need a label, I can set the image style again, and control where it displays to and as well as I want to show the venue content and have a label as well. So labels will actually appear at the top of your columns, so you know you may not want labels in some cases, but if you have a column you want to sort on a label it can be really helpful. So I want to set the default ... for the date, I mean I can see here, it’s got like dates showing up randomly at the stage. I want to as well sortable columns, I’ll see if we can choose how they can view it. I don’t want the image first on the list, them I’m going to go on the fields, re arrange, and drag and change the order of the fields, as well when I go to the format, table settings I can actually change the default order and I change the default sort so that it actually sort on the event date, and allow the venue to another column to sort on. So when I preview it now, excellent at least you see events 2009-2010 2011 they are showing up in the order they were, you know they were added or sorry the order of the events.
However, I don’t want events showing from 2009 and 2010 I want to show events from now and to the future. So we’re going filter off the past events and we’re going to add the filter to allow you just to select just one venue. So let’s add the expose filter first. We’re going to click add filter criteria ... change the select venue sorry, the field type and change to the drop down menu, and then expose the filter to the visitors, expose the filter and when you preview you can see just by selecting from this drop down menu, it will just choose the content as needed. So that’s a lot easier than for example creating individual listing for each individual venue. And we already have that, you know the venue listings? But this table just makes a lot quicker.
As well we’re going to create that date filter to get rid of those past events, so go to add filter then ... date and make sure you’re selecting date, date node and not the content event date field because this has completely different option, working very differently, in the next step you’ll actually select then your event date.
We’re going to have a relative date, and after selecting a relative date you can type in now, and just make the option is greater than now. We have another option in the filter so it will only show, or sorry in the listings that we’re only showing 50 events so we’re not going to have events from now ‘till infinity we’ll limit the selection which is important when you’re querying content on your site.
So here after I do that I can see that I’m only seeing events in the future, perfect, quite satisfied with that now. I mean this here can mean would be a good enough on you know, good enough events listing. I could change for example, I don’t necessarily have to have this be on a table I don’t need to make the columns sortable, I don’t have that many frequent events so it’s probably not that necessary but this is just what Drupal is doing, and what Drupal and Views are doing out of the box, there’s another module though called Calendar and so after you enable the Calendar module as well, I should have shown that up here, at the top as well that we’re enabling another module called calendar. That you’ll actually get views from the ... views that you ... from template so what it is doing here is actually scanning all the fields that I have available and it recognizes that I’ve got this event date and it is actually offering me to create a template based on that field. And so I’m just go to the steps of renaming the view and just after I ... even after I create this event calendar I’m just going to save it and see how it works, down the preview area of the views you can also see for example you’ve got a full display of calendar here, look fine, we’ll view it on the site and you can see the password generated automatically we got months, weeks for example, and by day, and then by year. So this is just what it does out of the box, this will just create these displays for you automatically, I think for example ... site they made the, you know, don’t have the week view or maybe they don’t need the year view for example you can remove those displays if you wanted to .
So I can customize this for example adding title and oh another thing I should show you of course is few, to check out the blocks that come available with this views template, we’ve got the upcoming block for example which creates a bulleted list of upcoming events and that’s not really appropriate for my site but you know it’s nice that it does that. And we can check out this view events calendar and that’s that mini calendar that I was looking for if I go and if I was on the site and I click back and forth it would just scroll through those pages ... or scroll through those months I mean.
We can just preview and see how that looks. If I’m viewing the ... If I’m actually viewing the calendar and I just click on say May 16th, it will show me that full day agenda and even what’s happening and you can also make sure to check the URL paths this is as well customizable, but you can see /day/ and then the date. You know I don’t have a high frequency of events on my site so I don’t know if I need this day long agenda but and this will be really useful on a lot of different sites.
There’s so many ways that you could actually improve this at this stage you know adding a share this button, a bookmark option, allowing people to register for events, sign up. It’s really so many different directions you can take this that sort of where I’m pushing the boat out here and suggesting places you can learn more.
We have training events that are happening in May and June, lots of partners all over the world at this stage, and hopefully lots of names you recognize from their participation and promotion of sponsorship at events, and we’re really trying to make training available all over the world, as best as we can and so definitely check out our calendar and see what’s available near you, as well, DupalizeMe, has an excellent series actually done by Karen Stevens herself as maintainer of the calendar modules and this is available now and they are actually adding to and extending it weekly and this is where if you get a lot more detailed information about handling events and displaying calendars on your site. She goes into a lot of detail about date configurations, it’s really good.
Melissa from Open Sorcery as well is having a course on Full Calendar. Full Calendar is an alternative to the Calendar Module and she’s actually going to do this live online training on May 17th and she’s accepting registrations now so definitely please go check that out too. There’s some great tutorials out there, I really like this one from CMS Quick Start because it goes into more detail of course how to style your event calendar so definitely check those out. I can make these links available on my blog post as well. If you’re also brand new to Drupal, please join udemy.com/learn–drupal and I’m going to be doing a basic introduction of Drupal there. It’s based on our Hello Drupal Course and you can found out you know more site building basics and essentials there.
Okay so you’re probably curious now what modules actually appeared in the making of this webinar. Date Entry was handled by the Date Module, related links were handled by the project called Link, the Filterable Event List was done by Views, the Calendar Grid Display was done by Calendar unsurprisingly and what fields appear where was Display Suite, that’s for /ds on Drupal.org there. And the we also actually have looked at the or discussed the fences module as well, and you might see that might be useful for your needs. And Supporting Cast modules such as token, pathauto, Ctools and Devel will be modules that if you’re developing in Drupal you probably already have on your site, and if you don’t you definitely have to check them out, you know these were probably basic requirements for your sites and develop as a host of great tools as your developing your site. So we look at the questions now.
So the questions, will the methods from today’s webinar be useful in the Drupal Garden environment? So Drupal Gardens can do parts of this, absolutely yes. Drupal Gardens has date entries but it doesn’t have the Calendar module as of right now so you can just something like the events listing that I showed where you have that sortable list of events in that table you know where you choose venue? You can definitely do that in Drupal Gardens. But you wouldn’t be able to do that say with the Calendar Module in that month by month display.
Let’s see, can you import a CSC file of current events to populate the calendar? Yes you can, there’s actually a couple of different solutions for you to be able to pull in external data. Let me see, I actually will all respond to you after this to find out what’s the best solution would be for events. I was going to leave that maybe I can reply to you offline.
Two related features, using Drupal command in terms reservation and allowing users to sign up and register for events. So it’s actually definitely a common request would be to have sign ups for events and on the calendar page ... on the date page sorry I think actually there’s a list to the sign up modules which actually integrate really well with those modules. So I’m just going to pull up the link and send it to you. So there’s actually a sign up which works in registration. So hopefully that works right. But you know, go to the Calendar Module and you can see a list of related ... maybe I can send this, ooh, ok sorry I’m having a little bit of a problem.
Okay, let’s see, someone is asking about the Calendar Tutorial, like I said this is definitely for people who you know for example, people who were recently at one of our Hello Drupal trainings, and I wanted to answer her question in a way that she would be able to understand it as someone who is brand new to Drupal. So I would definitely say... I would recommend that you check out the Drupalize Me tutorial as well for much more detail. So what’s the name of that module? It’s called Display Suite, so I can get the links for you, Display Suite. Okay, yes... oh... okay, I see I can’t actually... I think I’m having difficulty replying I’m sorry.
Katie: Heather sent something the link can I answer it?
Alright I just realized I can actually select the question in order to reply. Okay, so ... okay how did I create test content as well? That is this module called ... and we’ve got module there’s a sub-module included ... generate and in that case you can actually both generate a lot of sample content of develop generate.
Let’s see here, so is there an option for the entry of multiple or repeating dates? Absolutely there is, okay, if you actually ... sorry, I just need to find it here. So I handle repeating a dates? Yes you absolutely can, I didn’t show that because it will actually bring up some other issues, where you’re controlling how the content is entered in so I didn’t go into the detail of that but yes you can do that,
Can it be used any themes? Yes, you know some of the bigger contributed themes will have taken in account the display of these fields and on the calendar display. Calendar obviously comes with its own CSS files sheets or CSS so it actually controls the display which would require say if you want to integrate it with another system you know you have to do some overwriting but yes in essence yes,
Are the same methods available for Drupal 6 or are they only available for Drupal 7? Most of the techniques would be the same for Drupal 6. There’re a lot of good tutorials out there for Drupal 6 already, the things that are mainly different have to do with the way views works with date. You know you solve for example handling dates starting from now. In Drupal 6 that’s managed a little bit differently. And it’s I suppose in, I guess the whole field system is different. With Drupal 6 as well you use the module called CCK with that and it’s yes, it’s more or less you can do the same but it would be different.
How do we pull in iCal and exchange events? Well there’s actually in front of Calendar page there’s a module link to there, called date iCal. I think that’s more for a one-way transfer of events so that ... it’s always easy to get events from Drupal into iCal or from Drupal into your Google Calendar. It’s more difficult to actually exchange events between those two different systems. And as far as I know, this may not be complete for Drupal 7 but I could be wrong. So let me just check the Drupal iCal. Let me just check ... I’m actually looking on the Drupal site right now to figure this out . So I would say I have to look that up and it looks like there is a version for Drupal 7.
Okay, so ... alright, just checking here. We hosted calendar that list hundreds of independent events, can each event organization have its own log for its own event and not have access to any other event on the calendar? Yes you can absolutely do something like that. It sounds like you’ve got event organization should be able to create their own content and only be able to edit their own content. You saw demonstration of that you know that’s how Drupal works out of the box. If you want to hide content from different users, you know so that only those people in that organization can see those events, you might want to find a content access module that suits that need. You could for example use taxonomy access control and maybe how the relationship between the events and a certain taxonomy term for an event organization and then control which roles can see which content.
Let’s see, how is the approval process set up that we mentioned in the webinar? That is a brilliant module called use Views Bulk Operations. If you’re brand new to Drupal, I’m actually going to look it up online here, here we go ... give you the link. So Views Bulk Operations actually allows you to make a view where you can have a table list for example, and you can have certain operations such as Delete Content, Change the Author, Change Taxonomy Terms for example. And then you would be able to select multiple items just like you created that or just like we created that event listing, that could be connected to Views Bulk Operation then I can bulk manage my events that way. I would recommend you check out some screen caps for that. I think I’m losing my voice a little bit. I will drink some water.
Cool ... so let’s see for the other questions. How can a user have his own event calendar? A nice thing you could do, it depends on how your users, you want to have your users on manage their events. If you say a user has their own events calendar, maybe you mean that they can enter their own events, personal events and they can only see their own events or maybe they can see other people’s events. And you can actually do that with a system you saw today meaning users would be able to, I’ll send it to the users to be able to submit events to the site and then you could control who can see things. There’s actually something called a Contextual Filter which we didn’t see it’s on the right side of the Views User Interface. Well one of the contextual filters you could add is the user who’s actually viewing the page. So I could actually have an option to click on a link for my events and when I click on that link it could check which user ID I was and then match my user ID to the author you know of the various events and then just show me the events that I created. So that would be one solution to check out the contextual filter. We have some tutorials for Views actually on Drupal Garden for Views which go into that specific thing you could say for example have author blah, you know who actually wrote certain events or you could have like I said a list of my own events.
You showed example of a calendar with color coded events, is that with calendar out of the box or is that done with additional module? Yes, that is actually that’s actually included with calendar out of the box but I think if you want ... you know what I actually recommend in fact, it’s mentioned back here, a really good tutorial on this would be this one here, on this CMS QuickStart which goes into all the details of actually styling your events so it also goes into color coding as well and Drupal 7 so that definitely the next place you want to go. Okay, I think that’s about all I can get you today, I can follow up any other questions in our blog post after this, and make sure I can get some of those questions answered.
Katie: Great thanks Heather, so I’m just going to go over a couple more things. Just so that everybody who is on the line today knows, we are hiring so if you do love working with Drupal and you’re interested in the new opportunity, we’re hiring in both North America and Europe and we’re looking for engineers, designers, client advisors, sales and marketing, as well as financial operations. So you can see a full list of opportunities acquia.com/careers. As a reminder we did record today’s events, and the recording will be posted within the next 48 hours acquia.com/resources/recorded_webinars. If you do have any additional questions, feel free to reach out to us firstname.lastname@example.org over there or of course on twitter. And Heather you had mentioned that you are going to do a blog post about this as well afterward?
Heather: Yes I want to include any of the links to that I mentioned afterwards like look that up.
Katie: Perfect so folks can go and check out our blog and get that information as well. So great job Heather thanks very much for sharing the content with us today and thanks to everybody who participated for all the great questions and comments so if you have any other questions feel free to reach out and that’s it so we hope you had a great day.
Heather: Excellent, thank you so much Katie
Katie: Thanks Heather. Bye bye.