Building one Drupal site is a fair amount of work in and of itself. But what about working with multiple Drupal sites? Sometimes you have a few sites that make sense together, either from a maintenance perspective, or due to an overlap in content or users. There are a number of different ways to approach this in Drupal, and which path you follow varies considerably depending on the exact use case you need to fulfill. In this lesson we'll get a good look at the problem multiple sites can pose, and list out some common use cases. Then we'll take a look at three different broad categories of solutions, with some specific architectural approaches. The rest of this series will walk through managing multiple sites using Drupal core's built-in multisite system.
If you are interested in working with the Domain Access project instead of core multisite, you should look at the Introduction to Domain Access series.
When working with domain names and getting a website to show up in your browser, it can be a little confusing to sort out which bits of the puzzle are where. You need to be able to properly configure the domain name server (DNS) so your browser can match up a domain name with a web server, and then make sure the Apache web server knows which files to direct that incoming domain name to. In this lesson we're going to walk through the process from the browser request to the website files. We'll take a look at the Apache documentation on virtual hosts (or vhosts) and discuss where to find this configuration. Then we'll take a look at some example vhost files to see what's going on in there.
Additional resources
In this exercise you will demonstrate that you understand the CSS patterns used for smaller elements of Drupal such as fields, and can create selectors which override them appropriately. You will also override template files to create your own markup and suggest new template files.
In this exercise you will demonstrate your ability to attach JavaScript to themes, and use Drupal behaviors to enhance the functionality of a website.
In this exercise you will demonstrate that you understand the concept of responsive CSS and the methods which can be used to implement it in a Drupal theme.
Create a custom module and alter the content on a node page using a hook and existing theme functions.
Identify and use preprocessors by creating a custom breadcrumb trail on a page, and reduce and refactor code in custom modules.
Create a new module for movie imports, which will display a form when the user navigates to a page.
Make SQL queries in Drupal, make HTTP requests to external websites, and use this data to validate a form.
Use a form submit hook to pass information down the form API and create a node programmatically.
Create an image file programmatically and attach a file to a node.
Check and create taxonomy terms programmatically.
Create an install hook to pre-define a list of films to import.
Create a custom Drush command, which makes use of re-usable functions within our Movie Import module.
Create an administration form to save information about how the movie importer works by using variables.
Create a permissions hook to secure access to pages within Drupal.
Learn how to use Features to manage configuration changes and understand the configuration change workflow in a team environment.
Manage text formats and filters and add a WYSIWYG editor.
Configure basic settings which affect performance, and perform basic analysis to understand what might be affecting website performance.
Use hooks to update the database tables and alter form elements.