Before you build any website, it’s important to plan.
However, it’s difficult for you to plan a Drupal site at the moment because you have little or no experience with Drupal.
So, in this chapter we’re going to suggest some things you should plan for before you begin building a Drupal site.
We’re also going to recommend a workflow that will help you carry out your plan successfully.
At the end of this chapter, you should be able to
Understand what’s involved in a website plan
Understand what’s involved in a project management plan
Understand what’s involved in a development plan
Understand what’s involved in a maintenance plan
Start to think about the website, project management, development and maintenance plans for the site we’ll build in this book
Planning means different things to different people. Your role in the project, your experience, and your skills all influence your approach to planning:
If you are a project manager, your thoughts might go directly to scheduling and budgets.
If you are a designer, your first thoughts might lean more toward how each page of the site will look.
If you are a content manager, content development workflows might come to mind followed quickly by how the content will be organized on the site.
If you are a developer, your idea of a plan might be which development methodology you want to use or which strategies are best for implementing the design created by the designer.
There are many things to consider when you plan. For example, if the schedule is tight and the budget is low, the planned design might not be possible. To take another example, if you do not have the appropriate skills on your development team, you might need to change your development strategy to one that meets most of your planned design, leaving the more customized functionality to a time when time, skills, and budget allow.
There are general guidelines, but each plan must be customized to your situation.
To plan a Drupal site, you need four types of plans:
Website
Project management
Development
Maintenance
Now consider a brief introduction of each type of plan. For a more detailed view into planning Drupal websites, check out Cindy’s other book called Drupal: The Guide to Planning and Building Websites.
This plan focuses on defining the content and functional requirements, as well as the design (visual, structural, layout, and interaction) aspects of the site. The website plan conveys what you want for your site after it is built. It influences the schedule, required budget, and skills, and provides a way to manage expectations for all involved. The more detailed the plan, the higher probability that you will get the site you want, assuming all things equal.
A website plan commonly includes a requirements document and a design:
Requirements, which includes but is not limited to the
Types of content required
Communication strategies the site needs to support
Strategies that will support visitors finding the content they need
Features that add value to users’ experiences
Roles of your users and what they will be allowed to do
Performance expectations based on projected use
Security requirements
Design, which includes but is not limited to the
Wireframes for the homepage, the landing pages, and the different types of content
Interaction plan describing the behavior of the objects included in the wireframes
Style guide to be used when rendering the visual aspects of the site
Theme region plan required to support the layout strategies assumed in the wireframes
Graphic rendering of the finished pages
For this type of plan, you should consider the resources required to meet the website plan and the maintenance plan:
What skills will you need?
What order will the website planning and development tasks be accomplished?
When can the site be launched?
How much will it cost?
How will you monitor progress?
How will you manage expectations if a requirement or design feature cannot be met as originally requested?
These are only some of the questions that fall into the realm of project management. With these questions, you can start a discussion with those involved in the website project, whether you are the client, the developer, or the designer.
The project management plan can include one or more of the following:
Schedule
Budget
Skills
Expectations
Development plans are a source of much discussion among people who build websites. As you’ve seen, a simple development plan could be this: Install Drupal.
For professionals, entire methodologies have grown up around development plans. Two of the most famous are Agile and Waterfall.
The development plan can document your content strategy. For example, if you add events to your site, you can enter all the event information into one text field or split the information into different fields, such as date, location, and price.
What would influence your decision? For a simple site, it might be sufficient to have all the information in one text field. For a larger, more complex site you may need to filter or sort events by date, location, price, host, and more. To filter and sort in this way, you need to make sure that information is entered into different fields.
Another aspect of a development plan is when each strategy will be implemented. For instance, will each section of the site be implemented one at a time? Or will aspects of each site section be implemented, thus implementing all sections at the same time but in varying degrees of detail?
In the end, the development plan should convey what is needed to implement the requirements and design in the website plan and meet the project management expectations regarding schedule and budget. For example, development plans can include one or more of the following:
A list of different types of content along with their data fields, features, and user permissions
A list of features needed on your site together with the modules required to provide those features
A strategy for the design of your site
A development methodology
A test plan that covers each aspect of testing, including integration, regression, security, usability, and accessibility
Maintenance tasks are typically performed after the site is officially launched, but that doesn’t mean you start planning your maintenance when the site is about to go live. At least three types of maintenance tasks need to be planned:
Routine monitoring maintenance
Planned update maintenance
Site management
The way you plan to perform each type of maintenance can influence development strategies. For instance, if you plan to maintain the content on your site by allowing particular people to manage specific types of content, the development team needs to be aware of that and provide the necessary functionality.
As mentioned in the previous chapter, we’re going to build a site called Drupalville. By the end of this book, our plan is for the site to look like Figure 2.1.
The site we’re going to build has multiple types of content. Here’s a list of the types of content that we’ll add to our site:
News articles
Static content
Blog posts
Documentation
Information about Drupal companies
Events
Discussion forums
Information about useful Drupal websites
Information about useful Drupal user groups
The site will also have these types of communication:
The content communicates the message.
Drupal’s default emails communicate account settings actions.
Comments are allowed for users to respond to the content.
Social media links provided can help visitors to share pages of the site with others.
Polls enable users to respond to questions.
Contact form so that users can reach the administrators on the site.
We’re going to provide the following to help visitors navigate the site:
Menus
Dynamically generated lists of content that can be filtered
Breadcrumbs
The content, communications, and navigation requirements previously listed hint to many of the features planned for the site. The following list reinforces that which has already been implied and adds additional features. The list could be quite extensive if you include all the default functionality on the site:
Weather: A block that displays the weather
Sharing capability: Functionality that enables users to post to social media sites and email
Forum management: Functionality that organizes forums and their displays
Polls: Functionality that manages the availability and access to the polls
Contact Forms: Enable users to submit an inquiry
Search
Site map
There will be several different groups of users:
Anonymous visitors who can only look at the site
Authenticated users who can log in, post comments, and join the discussion forums
Bloggers who can write blog posts
Company editors who can manage the Drupal company listings
Moderators who can manage the comments and discussion forums
Administrators who have free reign to do anything on the site
To help you visualize what our Drupalville site can look like at the end of this book, here are screen shots of the landing pages you will be building:
News articles: Displayed in a teaser list layout with comments and social media links. You can see these articles in a slideshow on the author’s homepage. There’s a preview in Figure 2.2.
Blog posts: Displayed in a blog layout with comments and social media links. There’s a preview in Figure 2.3.
Events: Displayed in a calendar layout, as shown in Figure 2.4.
Discussion forums: Displayed in a bulletin board layout, as shown in Figure 2.5.
Information about Drupal companies: Displayed with detailed, business directory-style information. There’s a preview in Figure 2.6.
Information about useful Drupal websites: Displayed with the name of site and the topic they address, as shown in Figure 2.7.
Drupal user group listings: Displayed with location information, as shown in Figure 2.8.
Project management plans aren’t usually conveyed in four bullet points, but here is a quick summary of what we’ll need to complete this book’s project successfully:
Schedule: You’ll build this site at your own pace. Someone working quickly may finish this book in two days or less. Someone without so much free time can build the site successfully, but more slowly.
Budget: Zero. You won’t need to spend any money to build the site for this book.
Skills: Zero. You’ll learn everything you need to know to build the site.
Expectations: Your first Drupal site does not come with very complicated expectations. Your Drupalville site won’t be the most beautiful Drupal site in the world and it won’t make you a million dollars. However, we do expect that it will be a giant step towards helping you learn Drupal.
In this book, we’re going to use a specific development plan. Figure 2.9 shows the plan that we’re going to use and refer to throughout the book. Here are the chapters in which each step is detailed. Not every chapter contains a step, but the book does follow the order of the plan:
Planning (Chapter 2, “Drupal Planning Explained”)
Installation (Chapter 3, “Drupal Installations Explained”)
Content types (Chapter 5, “Drupal Content Explained”)
Fields (Chapter 6, “Drupal Fields Explained”)
Themes (Chapter 9, “Drupal Themes Explained”)
Blocks (Chapter 10, “Drupal Blocks Explained”)
Views (Chapter 11, “Drupal Views Explained”)
Layout modules (Chapter 12, “Drupal Layout Modules Explained”)
Users (Chapter 13, “Drupal Users Explained”)
We recommend that you follow this plan when building your first few Drupal sites.
In a few months’ time, when you’re more experienced with Drupal, you may find ways to improve this plan, skip some steps, or even rearrange some steps. That’s great. However, as a beginner, you should follow these steps closely until you reach that more experienced stage.
Because the site we’re creating is only designed to help you learn, we don’t necessarily need an ongoing maintenance plan. At the end of this book, you have two options:
You can delete the Drupalville site that we’ve built.
You can maintain the Drupalville site using the techniques shown in Chapter 14, “Drupal Site Management Explained.”
Now that we’ve discussed planning, you’re ready to build your first Drupal site.
Turn the page and let’s continue with the next step in our Drupal plan: installation.