Chapter 15. Putting It All Together

Reading this book has given you the foundation of knowledge on which to continue to build your Drupal skills. If you are new to the concept of a web content management system, you may not be able to jump in and build a highly complex site as your first endeavor with Drupal. But like all things in life, you have to start somewhere, and you now have the tools and knowledge to begin your journey. For those of you who had content management experience, hopefully the book helped to cast a light on how Drupal works so you can correlate what you know from other CMS platforms with what Drupal provides.

Now What?

Learning anything new takes practice, and with practice comes comfort, and with comfort comes the ability to do new and exciting things. Learning Drupal takes time, study, practice, and patience. One of the best ways to learn Drupal is to find a real-world opportunity to build a web site and do it in Drupal. Whether the site is for your child's sports team, your church, a community group, a non-profit organization, or anything else under the sun, having a project to focus on that you know will benefit a person or organization gives you incentive to learn, which helps in the learning process. How else can you keep up-to-date with your Drupal knowledge?

Look At Other Drupal-Based Sites for Ideas

Although it's hard to look at a site and immediately detect that it is a Drupal site, there is an excellent resource that will help you find sites that were built on Drupal. Dries Buytaert, the creator of Drupal, maintains a fairly up-to-date list of very high-profile web sites that are built on Drupal. You can find that list on his personal web site at http://buytaert.net/tag/drupal-sites. Dries does an excellent job of capturing a broad spectrum of sites from various industries and sites from all around the world. The list is updated constantly, so it is a good idea to bookmark that page and to visit it frequently.

By scanning through the list of sites that Dries has compiled (currently well over 100), you can quickly get a sense for the types of sites that people have successfully built on Drupal. By looking at other sites, you can get inspiration for design (the visual look of the site), layout (how the pages are structured), organization (how content is displayed), and the features and functions that have been deployed. Looking at other sites is a common starting point for many people who are embarking on a new Drupal project.

Keep Tabs on Drupal and Contributed Modules

One of the benefits of using Drupal is that it is a constantly evolving platform. As new concepts are defined on the Web, Drupal is often one of the first content management systems to employ those capabilities. Keeping up with the changes is relatively simple: just check http://drupal.org/project/modules and look at the latest modules and updates posted to the site. (See Figure 15-1.)

List of modules on Drupal.org

Figure 15-1. List of modules on Drupal.org

When visiting the page, you'll notice a list of sort-by options in the right column. One of those options is "Last release." Clicking on this option sorts the list of modules in date-descending order, with the last modules posted to the site listed first. Depending on how frequently you visit the site, you may only have to spend a minute or two looking through the list of new modules to see what is available. There is also an RSS feed for module updates that you may want to subscribe to. If you see something of interest, you can click on the title for that module to visit the modules homepage on Drupal.org.

Get Involved in Your Local Drupal Users Group

There are hundreds of Drupal User Groups all around the globe, including regional user groups as well as groups that are focused on specific topics or industries (such as Drupal in Education, Drupal in Libraries, Drupal in Government). Your local Drupal Users Group is a great place to meet others in your community who are also new to Drupal, and to learn, as most groups provide training as part of their periodic meetings. To locate a group near you or a group that is focused on an area that you are interested in, visit http://groups.drupal.org.

A Methodology for Building Your Site on Drupal

While there isn't a formal "Drupal Methodology" for building sites on Drupal, there are several industry best practices and processes that you may wish to follow as you embark on the journey of creating a new Drupal web site. The process described in Table 15-1 may seem overwhelming and more complex and involved than what you think you need to build your new site, but from experience it's good to at least think about the steps listed and apply and perform the tasks that you think are appropriate, based on the scope and complexity of the site that you are building.

Table 15-1. A Methodoloy for Building Your Drupal Site

Phase

Task

Activity

I

 

Starting Your Project

The tasks listed below are focused on helping you think about and define what your site is going to be. Drupal is a lot like a stack of lumber: you could build virtually any type and style of house with an appropriately sized stack of lumber. You typically wouldn't start picking up boards and nailing them together without first knowing the details of the house that you are going to build. Think of this phase of the project as defining the blueprint of your new site. In this phase, you're documenting key aspects of your site on paper, and not in Drupal. Once you have an understanding of what it is you're going to build, you can embark on the construction activities.

 

A

What is your new web site all about?

Write down, in narrative form, what the purpose of your new site is and, in general, describe the audience that you intend to target with your site. Think of this document as your "elevator pitch," meaning if you met someone in an elevator and they asked you what your web site was about, you could recite this document verbatim before the two of you left the elevator. This activity forces you to define in concise terms what it is you are building and who is going to view the site.

 

B

Identify who is going to visit and use your web site

List the various types of visitors who you intend to target with your new web site. Examples of visitor types for a library site might be children, teens, young adults, adults, jobseekers, and senior citizens. A favorite technique is to use a blank piece of paper and on this paper draw a "box" representing a browser window with your web site in that browser window. Draw a number of stick figures around the box and label each one with the type of visitor that "person" represents.

 

C

Identify the content that you are going to deliver to your visitors

A common mistake in the web site construction process is the "field of dreams" mentality: "if I build it they will come." Well if "they" come to your site, what content are you going to present to "them" so they stay on your site, look around, and bookmark your site for future visits? You may wish to use a blank piece of paper for each visitor type, drawing a stick figure on the left and listing the content that this person would be interested in seeing on your site. There will likely be duplication between various visitor types, and that is okay, but it is important to step into the "shoes" of each visitor type to think about what content you are going to provide each visitor that will make them pay attention and return to your site in the future. Examples of content types might be, for a library website, book reviews, movie reviews, music reviews, recommended reading lists, and a list of upcoming programs at the library.

 

D

Identify the functionality that you are going to deliver to your visitors

Content is typically only one aspect of what constitutes a web site; there may be interactive features that you want to deliver, such as blogs, surveys, videos, audio, discussion forums, online forms, e-commerce, RSS feeds, or other interactive features. In this task list all of the interactive features that you wish to provide to your visitors.

 

E

Define the sites structure

Examine the types of content and functionality documented in the previous steps; you will start to see logical groupings or categories. You may see logical groupings based on a topic or subject, or you may see groupings based on specific visitor types. Using a library site as an example, you might see that there is a logical grouping of content across all visitor types that is focused on book reviews. You might also see a logical grouping of content that is focused on senior citizens and their use of community resources. Each of these logical groupings may, and probably should become a major page on your web site.

 

F

Define custom content types and taxonomy structure

There may be types of content that do not fit the generic Drupal page content type with just a title and body. An example might be that you identified "Events" as a type of content. An Event has a title, a start date, a start time, an end date, an end time, and a location. It might be advantageous to create a custom content type for events that enforces the entry of those additional details rather than relying on the author to remember to enter those values in the body of a generic page. In this step, you should create a list of custom content types and the attributes (such as start date, start time) associated with each content type.

While defining content types, it's also time to think about taxonomy and how you are going to categorize content on your site.

 

G

Define the navigational structure of your web site

With an understanding of the visitor types, the content that they will want to see on your site, and the logical groupings or major pages that will make up your site, you can now define the navigation (menus) for your site. If you know that a specific visitor type is a primary visitor of your web site, you should make it easy for that visitor to find the information that they are seeking. The typical mechanism for doing that is to provide some form of menu or menus. In this task you would identify all of the links that you wish to provide to your site visitors and how those links should be organized (as menus). Using the library example, you may decide that you want a primary menu at the top of the page that provides links to About the Library, Locations and Hours, and How to Contact the Library. You may decide that you want a secondary menu that links visitors to pages for Books, Movies, Music, and Events. You may decide that you want another menu that helps to direct specific visitor types to pages that are focused on their specific interest areas, such as links for youth, teens, adults, senior citizens, and business owners. You can take the concept to another level of detail by defining drop-down menu items for certain menu links; for example, under the Books menu you may want to provide a link to Recommended Books, What's New, and What's on Order.

II

 

Setting Up Your Drupal Environment

Now that you have an understanding of what you're going to build, the next step is to set up your Drupal environment to begin the construction process.

 

A

Decide where you are going to host your new web site

You can easily build your new web site on your desktop or laptop and then deploy that site on a hosted environment, or you can choose to build the site in the environment where you are going to host the production version of your web site. Either approach works well. However, at some point in the near future you are going to want to deploy your site with a commercially viable hosting provider or your organization's own hosting platforms. To find a list of commercial hosting providers that support Drupal, visit http://drupal.org/hosting.

 

B

Install and configure Drupal

Following the step-by-step instructions outlined in Appendix A, install Drupal on either your local desktop/laptop or on your hosting providers environment.

III

 

Visual Design

Picking or designing your Drupal theme is one of those activities that you can choose to do early in the process, mid-way through the development process, or near the end of your efforts. For most people, having a sense of what the site is going to look like helps to visualize the layout as it will look in its final state. There may be mitigating circumstances where you can't pick or design the theme up front, such as the case where the organization you are building the site for doesn't have their branding completed (including logo, colors, iconography, fonts, and so on). In that case it is still possible to continue with the construction activities using a generic theme.

 

A

Look for an existing theme that matches what you are trying to accomplish

There are hundreds of themes that are available on Drupal.org and there is likely one that comes close to the layout and design that you would like to use on your site. To see the list of themes visit www.drupal.org/project/themes. If you can't find a theme that matches your requirements, you can use one of the various "starter" themes listed on the Drupal site (such as Zen) as a place to start. Revisit Chapter 6 for detailed instructions on how to download and install a Drupal theme.

 

B

Implement your sites specific design elements

If you pick an off-the-shelf theme from Drupal.org (versus creating one from scratch), you will likely want to change the themes logo, colors, and so on. The topic of theme development is beyond the scope of this book; however, you can read up on the concepts behind Drupal themes and which files you will want to look in to make changes to customize the them at http://drupal.org/theme-guide.

IV

 

Downloading and Installing Contributed Modules

In step D, Phase you documented the functionality that you want to deliver to your site visitors beyond just content (such as blogs, RSS feeds, video, polls, forums, and e-commerce). In this Phase you will search for, install, and enable the modules that you need to address the desired functionality.

 

A

Identify the modules required to address the desired functionality

Some of the functionality may be address by Drupal 7 core modules (such as blogs, the book module, forums, and the like) while other functionality may require searching for an appropriate module. To look for modules visit http://drupal.org/project/modules. In the left column you will see several categories of modules. You can start by browsing through the appropriate categories listed in the right column on http://drupal.org/project/modules.

If you're struggling to find the right module, a good resource to use is the Drupal.org forums. The community is extremely helpful, and posting a quick question asking for advice on which module to use for a specific feature or function may cut down on your research time as well as picking the wrong module for the job.

 

B

Download and install required modules

Once you've identified the right modules to address the required functionality on your site, follow the instructions listed in Chapter 8 for installing, enabling, configuring, and setting permissions for each of the modules.

V

 

Creating Custom Content Types

If you identified custom content types in Phase I, E, now is a good time to create those content types. Using the list of content types and the list of attributes for each type, follow the instructions in Chapter 10 for creating new content types.

VI

 

Creating Views

There may be pages on which you want to provide a list or table view of content. Now is a good time to construct those views to support creation of pages in the next step. The process for creating views can be found in Chapter 11.

VII

 

Creating the Physical Pages

Use the techniques described in this book to create the actual pages (for example, use the Panels module to create complex page layouts). Visit Chapter 12 for a description of how to use panels, and Chapter 7 for a description of using blocks. Create the various pages that you defined in Phase I, task E

VIII

 

Finishing-Up the Menus on Your Site

With the pages in place, you're now ready to finalize the menus on your site. Revisit the navigational structure you defined in Phase I, task F to ensure that you've addressed all of the navigational requirements for your new site. For a description of how to create menus visit Chapter 5.

IX

 

Finalizing the Configuration

At this point, the site should be configured and ready to go. In this phase, make sure that you have created all of the user roles, have assigned the appropriate permissions to those roles, and you have configured how users accounts will be created. Visit Chapter 3 for a description of how to define roles and assign permissions.

X

 

Creating Content

Now that we have the site configured, content types created, views defined, panels created, and user roles and permissions defined its the time to create content on your site.

X

 

Testing Your Site

With your site nearly ready for production, now is the time to test to make sure that everything works as you expect it to work. Make sure you test the site, as an anonymous user (not logged into the site). It is also a good idea to create test accounts for each of the user roles that you have defined and to visit the site while logged in to each account to ensure that the roles and permissions are working as you had envisioned.

XI

 

Deploying to Production

It's now time to deploy your site to your production-hosting environment.

 

A.

If you created your site on your desktop or laptop you'll need to copy the entire Drupal directory to your production web server, and you'll need to backup your database and restore the database on your hosting environment. For additional details on this process please see Chapter 13.

 

B.

If you created your site on a hosting providers platform you are already there and don't need to move your site.

XII

 

Administering Your Site

As described in Chapter 13, monitor and manage your new Drupal web site.

Summary

In this chapter I covered the methodology for creating a new Drupal site, linking the methodology back to the steps that I covered throughout the rest of the book. Although every web site is different, the steps outlined in the methodology work for virtually any type of web site. It's important to think through everything described in the methodology, and in fact I would suggest that you find a quiet corner and walk through the methodology before starting to build your new site. The methodology forces you to think about what you are trying to accomplish before you build it, minimizing the risk of creating your web site and then finding out that you missed the boat completely.

Your Drupal journey has just begun. Congratulations on taking the first step by completing this book. Drupal is an amazing platform and one that takes time to fully digest. I would suggest continuing the learning process by picking up Pro Drupal 7 Development, third edition, by Dave Reid and John van Dyk (Apress, 2010). Although you may not want to be a developer, the book covers several topics that are relevant to site administrators. For a list of other Drupal books please visit www.apress.com.

If you have a desire to learn more about programming in PHP or CSS, I suggest picking up PHP for Absolute Beginners by Jason Lengstorf (Apress (2009) and Beginning CSS Web Development by Simon Collison (Apress, 2006). Both books are fantastic resources and are written for those who are starting to learn development for the web.

I look forward to seeing your new Drupal sites up on the web. Best wishes on your journey, I hope we cross paths at an upcoming DrupalCon!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.218.25.67