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.
Additional resources
We have a lot of work to do to set up our editorial workflow. In this lesson, we’ll focus on getting the basics started, and continue with the more advanced work in future lessons. In this lesson we'll enable the main Workbench module, and configure the permissions. Then we'll take a quick look at the My Workbench area to make sure we have it set up correctly.
Additional resources
Since we haven’t been creating much content on our site, the My Workbench page is rather empty. This can make it hard to understand what’s going on and to grasp the module’s possibilities. This is a situation that you’ll encounter often when developing a site: at a certain point, you need content to test a certain feature, or to verify what a certain section on your site will look like. The Devel Generate module, which comes with the Devel module allows us to quickly generate sample content, users, taxonomy, and menu items, so testing functionality on our new site becomes a lot easier, since it will more closely resemble an actual site. In this lesson we'll enable and configure Devel Generate, and then run it to get a bunch of filler content set up on our site.
Additional resources
The next step in our editorial workflow is to combine Workbench with our News Section vocabulary to allow content management to be delegated according to existing editorial groups. To do this we'll use the Workbench Access module, which is included in the Workbench package. In this lesson we'll review how Workbench Access integrates with various hierarchies, and understand what Sections are, and the setting we have available to us.
Additional resources
Let’s extend our Workbench implementation with one of the more advanced features our client has asked for. We’ll build upon the structure we’ve created with the Taxonomy module (the “News sections” vocabulary), and use that to grant users with specific roles access to content tagged with one of the “News sections” terms. In this lesson we’ll start with a little preparation work by creating new roles and users so we can test our access control to make sure it is working as expected.
Additional resources
As you’ve probably guessed by now, we’ll create an access control mechanism that grants users with the “national editor” role editorial access to content tagged with the term “national news.” Users that have the role “cultural editor” will eventually get editorial access to content that has the term “culture” attached. In this lesson we'll limit our users to the correct section by configuring Workbench Access, setting the correct permissions, and then assigning our content to sections. This will get everything in place to finish up our access control.
Additional resources
In this introductory series you will learn how use the Domain Access project to let you manage multiple "sites" with different domain names from just one Drupal installation. Domain Access "multisite" works differently from the core multisite feature in that you truly only have one site to manage. There is just one code base and one database. Domain Access takes advantage of Drupal's node access system to give the illusion of multiple sites. In this series we start off by getting some context through several presentations that explain what Domain Access offers, and why you might use it, how DNS and Apache web servers work, and what you need to understand about the node access system. Once we dive into the hands-on work, you will configure Apache to work with multiple domain names, and get Domain Access installed on your site. Then you will configure a very basic Domain Access site, learning how to share and restrict content, change themes, and set up permissions for fine-grained access control.
Additional resources
Domain Access project (drupal.org)
This series will implement the same example as the Multisite series did, but with Domain Access instead. You can see and compare the two methods. First, let's look at some other examples using Domain Access and see what we get when we download the package from Drupal.org. We'll also talk about the features provided, along with some things to be aware of and consider when choosing Domain Access.
Additional resources
Domain Access project (drupal.org)
Domain Access can do its magic because of the Drupal node access system. In this tutorial we'll walk through the basics of how this system works, highlighting the two main methods, and then explain why this may be important information for you. We won't be diving into the code side of things, but instead outline the basic concepts for anyone who needs to interact with this system. When using a module like Domain Access, you should be aware of the Drupal context in which you are working, even if you hopefully never have to dive into the details.
Additional resources
Controlling Access to Content Overview (drupal.org handbook)
Node access developer documentation (api.drupal.org)
In this tutorial we will get hands-on with Domain Access by getting the module installed. This is a more involved process than a regular module installation, but we just need to make sure we have a few things in place first. We're going to need to make sure we have our domains functioning correctly through Apache, and then add the Domain Access include file to our settings.php. With the configuration and module in place, we'll also verify that it is working properly and take a look at our domain list.
After watching this tutorial you will be able to properly install the Domain Access module, with its additional steps, and then verify that the installation was correct.
Additional resources
Domain Access project (drupal.org)
Domain Access Configuring settings.php (drupal.org handbook)
Installing the Domain Access module (Drush instructions) (drupal.org handbook)
With the main Domain Access site installed, we now need to get our other domain names added to the site and working. In this tutorial we'll review the settings for domains, add the Alumni and News domain names, and then test that all three domains are working properly.
Additional resources
Basic Domain Access module configuration (drupal.org handbook)
One of the biggest reasons to use Domain Access is to control the content for multiple domain names. In this tutorial we'll dive into content on our three sites. We'll start by sharing content across all the domains, and then create domain-specific content. To make managing the content across our domains easier, we'll then enable the included Domain Content module. This will provide us with some nice administrative tools to keep track of things.
In addition to different content, you may also want to differentiate your domains in how they look and change some of the basic site settings to make them appear more as separate sites. In this tutorial we'll use the Domain Config and Domain Theme modules (included in the Domain Access package) to let us do just this. We'll change our settings on one of the sites to set the homepage node to the About page we created earlier. Then we'll make the Alumni site look quite different by giving it a new theme. Through this process you will understand things you need to watch out for when configuring Domain Access sites, and how to be appropriately cautious with your settings.