You've built the site that Bob and Sarah need to get their reviews going, but as always, there are ways to add more neat features. In this lesson, we'll look at a few modules you can look at adding down the road
- AdSense
- Display Suite
- Blog (core)
- Recipe
Additional resources
We’ve hit all of the major pieces of functionality that Bob and Sarah wanted. In this summary, we'll:
- Tour the Super Duper Chefs site
- Discuss our implementation points
- Review modules and resources
Additional resources
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.
Additional resources
To get things started we need to create a new, basic content type just for events. We just need the event name and description along with an easy way to add the event location. In this lesson, we'll create the content type and set up our permissions.
Additional resources
The main building block for the site is our new Event content type. The information that we need it to provide us with is “where” and “when.” We have taken care of the “where” part in our initial setup, and the Date module helps us answer the “when” question, in an incredibly flexible manner. Our main interest in the Date module is the ability to add a field to our Event content type to indicate date and time. However, looking at the Date module more closely, there are a few extra pieces worth noting. In this lesson we'll get a good overview of what the Date module provides by looking at Submodules, Field Types, Form Elements, and Field Settings.
Additional resources
Now that we have our basic Event content type set up, we'll enhance it by adding a date field, so that members may schedule meetings. In this lesson, we'll add and configure our new date field, and then create a new event to test it all out.
Additional resources
Now that we’ve created our Event content type and started adding content to the site, we need to tackle the Upcoming Events list requirement. This will allow members to quickly see the meetings happening in the coming days or weeks. To achieve this, we will use the Views module to create a block for the sidebar. Our view will show published events where the event’s time field is in the future, and we'll sort it chronologically so the next event is at the top of the list. We'll get to learn more about the Date Views filter to accomplish our task.
Additional resources
Although a simple list of upcoming events is very useful, our site has additional requirements for the display of the event data. As is extremely common for event management websites, this site needs an interactive calendar for browsing through past and future events. We need a classic monthly calendar view, along with a day and week views so people can see the calendar in the format they are used to seeing. We also want people to be able to download the calendar and use it in other calendar applications if they'd like. We're going to implement this feature using the Calendar module in conjunction with Views. In this lesson we'll get an overview of how the Calendar module can help us by taking a look at the Calendar View Type, along with the handy built-in iCal Integration.
Additional resources
We have our Upcoming Events block, but now we need to build out our full calendar. Although this is potentially a daunting task, involving many tables and many variations for the display (week, month, etc.), the Calendar module conveniently comes with a default view that handles most of the difficult bits for us. In this lesson we'll clone the Calendar default view to give us a good starting place, and alter the view to suit our needs.
Additional resources
The Flag module is an incredibly flexible module that allows you to create relationships between users and/or content on your site. After you create a flag, an item can be marked a few different ways, and we can use that information in our views. In this lesson we'll get an overview of Flag by looking at the various flag settings and seeing how flag works in action.
Additional resources
We're almost done with our site, but we still need to have some way for people to indicate if they are coming to an event. In this lesson we'll enable and configure an Attendance flag, adding it to our Event content type. Once we have it all set up we will flag an event to see how it works in action.
Additional resources
We now have events and people can mark if they are going or not, and the final piece to wrap this project up is to get a list of those attendees for an event. We're going to use Views again to handle this for us. In this lesson we're going to create a new View for attendees, and using relationships and contextual filters, we'll make sure it only lists the attendees for a specific event. With that in place, we'll add the view as a tab to the Event nodes so you can quickly and easily see who is attending that event as you navigate through the content.
Additional resources
The site we have built covers all of the needs for the club. Down the road, the members may want to spruce things up a bit. In this lesson we'll look at a few modules that could round out the site even more:
- Full Calendar
- Countdown
- Flag Actions (part of Flag)
- OpenLayers
Additional resources
In this chapter, we have looked at building an event management site for the Aurora Book Club, making use of the Date field, the Calendar plug-in for Views, and the Flag module for handling attendance. The book club now has a handy calendar that is displayed on the site and available in iCal format. They also have an easy-to-find list of all the attendees for each event. The site is simple and easy to use, yet fits all of the club’s needs quite nicely. In this summary we'll take a tour of the Aurora Book Club site to see what we've built, and discuss our implementation points. Then we'll wrap up with a quick review of of modules we talked about in this series.
Additional resources
Drupalize.Me Guide: Using Drupal Book by O'Reilly Media
Up next: Using Drupal Chapter 7: Managing Publishing Workflows
When many people are involved in your site publication workflow, things can get complicated quickly. In this series, we’ll build out a full editorial workflow process for a new site.
In this lesson, we're going to look at the use case -- what is the project that we're building, and what are the requirements that we need to meet? Then we’ll discuss which contributed modules and aspects of the core we’ll use to meet the needs of our client in this use case. We’ll set up editorial teams so each team can work on its own section, and allow administrators to change the default publishing settings for each content type. We’ll use different parts of the Workbench module to help us ease this entire workflow that we need, and create roles and users who only have access to specific topics.
Additional resources
One of the basic tools for any news site, and most sites with a lot of content generally, is taxonomy. Taxonomy may sound like a big, fancy word, but it’s just a technical term for a way of organizing and classifying things, like content on a website. If you’ve sorted your family photo album, filed your email in folders, or argued with a friend about whether a band is punk or ska, you’ve already worked with taxonomies! If a site has a lot of content, editors need a way to group it into categories. By doing so, they make it possible for users to easily navigate the website and find the content they’re looking for. Additionally, assigning content to categories, whether by using a predefined set of sections or a free-for-all tagging system, opens up all sorts of interesting possibilities. For instance, site builders can expose content with similar tags on article pages. Or they can turn the category pages into rich landing pages, pulling in all kinds of different content that has the same categories assigned to it. In this lesson we will cover the basic things you need to understand about Drupal taxonomies: vocabularies, terms, and how to use them with content types.
Additional resources
The Taxonomy module is included in core and is enabled by default when you install Drupal, along with a Tags vocabulary, which you can use to allow users to freely tag their content. In this lesson, we'll create a new vocabulary, populate it with the terms we need, and then add the vocabulary to our article content type.
Additional resources
In the Drupal Jumpstart series, you learned about Drupal paths and how to use clean URLs. One reason to use clean URLs is so that they don’t look so ugly. That helps, but still leaves the URLs lacking a bit. Having a URL with node/123 in it doesn’t really tell either humans or search engines much about the page itself. Isn’t it much better to have a URL with something like "article/new-moon-discovered" in it? That will be much more memorable, and the addition of pertinent keywords in the URL makes for better search engine optimization. In this lesson we'll look at a module that helps us automate this process, Pathauto. We'll get an overview of core path aliases, and how pathauto patterns and replacement tokens work.
Additional resources
To get those handy human-readable URLs on our site, we are going to use the Pathauto module. As we discussed earlier, this relies on the Token module as well as the core Path module. The Pathauto settings are divided over two pages: one page to set up the actual replacement patterns, and another one to configure Pathauto’s general settings. These configuration pages can seem a bit intimidating at first. Luckily, most of the defaults are what most sites will want to use anyway, so that makes our job with configuration a lot simpler than it may first appear. In this lesson we'll configure some path patterns using tokens, and then get all of our existing content using the new patterns by using the bulk update feature of Pathauto.
Additional resources
We need to create an editorial process for our site, which can seem complex at first. We need to provide some form of access control, so that editors who are responsible for the “culture” section on the site can only see draft articles in that particular section. On top of that, we need an editorial workflow that integrates with that access control feature so the editors can control which content is in which state at any given time. Lucky for us, Workbench provides exactly what we need. In this lesson we'll get an overview of what comes in the Workbench project and get a look at the main My Workbench page.