Overview
This chapter introduces the concept og free software. It also introduces content management systems, and using extenions to extend what Drupal can do for your website.
Table of contents
- Introduction
- What Drupal is
- What Drupal isn't
- What Drupal Can Do for Your Site
- Examples of Drupal websites
Drupal contributed extensions mentioned in this chapter: Blog, Poll.
Introduction
When people first started to explore the World Wide Web (WWW), if one wanted to create a fully featured website with forms, a blog, and a message board, one needed to know how to write HTML (and possibly JavaScript and CSS), and to accomplish anything dynamic, you needed to know yet another language such as PHP or ASP. And to have dynamic content, one probably would need to know SQL, the language that allows websites to store and retrieve information from a database. Or you needed have the funds to hire a programmer to build a website for you.
Today, we have entire robust and powerful web applications, supported by communities of web developers. Enter Drupal. Drupal is, along with a lot of others, a web application that do nearly all the work for you. You can build an ambitious website with Drupal without ever writing a single line of code. Indeed, that's the ultimate goal of Drupal: To free you from the inner workings of the code and instead let you focus on the layout and content of your site. There are a lot of other, similar web applications that also accomplish this, but Drupal is one of the best free software web applications for quick, code-free website creation.
Before we get into the setting up and use of Drupal, we think it's helpful to start by introducing the features of Drupal. After all, there's no sense in setting it up you don't know what it can do for you. The more you understand about what Drupal is, the better you can plan and use it to your advantage.
What Drupal is
The official Drupal website, Drupal.org, describes Drupal as a “free software package that allows an individual or a community of users to easily publish, manage and organise a wide variety of content on a website.” This is a great description of this application. It is free, as long as you follow certain rules that we mention later in this chapter. Drupal allows for a wide variety of content, making it extremely flexible and customizable. The fact that more than one individual can publish and manage content makes it a Content Management System (CMS). We explain each of these important characteristics of Drupal in more detail a little bit later on.
Free
Drupal is distributed as free software. This means that you can get a copy of the program and install it on your web server, modify the appearance of the pages and layout to suit your needs, and add your content to it without paying for the program. It seems too good to be true!
Software designated as free software source essentially means it is “free”, but it does have certain legal obligations associated with it. For example, if you were a programmer and made changes to the code itself and then provided the new code to other people, there would be certain rules you would have to follow under Drupal's license. You can learn more about free software licensing here.
If you want to contribute tro Drupal, you can add to the efforts of the many great programmers who have created this software by visiting the contributor guide on Drupal.org or you can help one of the contributed projects you use on your own website by sponoring its continued maintenace.
Flexible
Drupal sites are completely flexible. This means you can do things like:
- Add and remove pages: Drupal wouldn't be of much use to anyone if it were stuck with a specific set of pages. Drupal gives you complete flexibility to create as many pages as your site will need, as well as freedom to choose where page links will appear, and to delete those pages if they're no longer useful to you.
- Modify the layout of your pages: With the use of blocks, you can place custom content into specific regions on your web pages. You can put all your content in one column or choose multiple-column layouts. Remove or replace the default Drupal logo: By default, your Drupal site will be branded with the official Drupal logo. You can easily remove it or replace it with your own logo.
- Hide content and pages from certain users: You can, if you choose, allow only logged-in users (or even a subset of users) to see certain pages on your site. You can even hide content within a page from certain users.
- Allow users to choose their own layouts: You can let individual users choose their own layouts. When they log in, they'll see whichever layout they chose. This is a great way to make the visitors to your site feel welcome.
Customizable
One of the best things about Drupal is the ease with which you can customise your site's features. Drupal comes with lots of great features you can turn on or off with the click of a button. If you want to add a forum, poll, or blog, for example, you'll find they are features included with the Drupal application that you can easily include or exclude from your site. Your site can contain precisely what you want it to, and you can turn off features you don't want. Even if the rest of your life is an out-of-control mess, you can rest assured that your Drupal website will be exactly the way you want it.
What's better than free stuff? More free stuff! Beyond the features included with the program, many web developers have created and made freely available thousands extensions you can download and install! We recommend you take a minute to check out the contributed extensions here. You'll find some great add-ons are in there. If you aren't already excited about the potential Drupal offers yet, you will be. For example, free modules allow you to integrate Facebook and Twitter information into your site, turn your site into an online store, or create photo galleries. We tell you about some especially useful and interesting third-party modules later in this ebook.
A Content Management System
At its heart, Drupal is all about managing content. Drupal belongs to a class of applications known as web Content Management Systems (CMS). These applications are designed to separate the content on a website from the presentation of that content. In other words, you can manage the text and graphics on your site through the Drupal interface as easily as you can create a Microsoft Word document.
After you set up your site, you don't have to worry about looking at HTML code and putting your desired text into some sort of web format. You can simply type in a text box on a form and click a button. BOOM! Your new content will show up on your site. That, friends, is what they call easy. Behind the scenes, Drupal handles the conversion of your text into a format viewable on the web. Drupal will also, in the case of a blog-style page, save any old content previously published and provide a link to it for your users.
But the real power of CMS applications is that you can give specific users the permission to easily post, edit, and/or delete content on your site, while at the same time, deny them the permissions required to change the layout or features of your site. You can even allow certain users to create content, but not allow it to be published on the site until you've had a chance to approve it. All this control allows your site content to be maintained, while your site structure remains safe from possible harm.
What Drupal isn't
Drupal is a great application for creating a robust WCMS. But it is not perfect. You may encounter a few difficulties as you work with it:
- Drupal isn't easy to install: Probably the most difficult part of
building a Drupal website is installing Drupal and its environment.
This ebook is sponsored by the hosting company HNM AS.
It recommnds that you purchase managed hosting from this company.
If you want to learn how to set up Drupal yourself, you need to look elsewhere.
Chapter 2 covers hosting options and how to purchase managed hosting. - Your site isn't automatically ready to go after you have Drupal up and running:
Drupal itself only provides an empty vessel for your content.
To adapt it yo your use-case, you need to modify the configuration of the site,
change the layout, and add your own content. You will also have to
spend time deciding on the best site structure for your website.
We show you how to customise your site, in great detail, in the sections 2 and 3. - You have only a limited capability to change the appearance: The main appearance Any modules you use will have some configurable options, but there may be things you want to change that aren't configurable. This isn't unique to Drupal: It's the case with any free software WCMS application you encounter. The developers of modules generally do their best to anticipate what you might want to configure, but they can't read your mind. Fortunately, the beauty of free software is that you have the code available to tweak until your specific needs can be addressed.
We
don't discuss programming in this ebook, but after you get your site
running, you may want to learn more about the code side of
Drupal.
In Chapter 23, we recommend some sites where you can get programming
help if you choose to delve into the messy business of modifying the
code.
- Drupal's interface can be a bit confusing: Drupal administration menus are not intuitive – which is why you are reading this ebook, right? We show you where everything is and explain Drupal's language for its onscreen things throughout this ebook. Don't worry. We'll be gentle.
What Drupal Can Do for Your Site
From web polls to blogs and shopping carts, your site can be full of great features without any need for you to get into the actual web programming side of things. We're sure you'll agree that this is a very good thing. As you look through the features, think about creative ways you can use them for the sites you're building.
You won't have to build all these features at once; you can always add new features to and remove features from your site at any time.
All the screenshots in this section is created using Drupal's default theme, "Bartik". You'll learn what a theme is and how to change it in Chapter 3.
Polls
A poll is a question posed to visitors to your site that users are allowed to answer on the site. Polls are great for getting your community of users involved in discussions. Drupal has a simple interface that allows you to create custom polls.
After a registered user has voted, she sees a tally of the current voting results, such as the one shown in figure 1-1.
The Poll module is a built-in module with Drupal 7. In Drupal 9, this content type is no longer in core, but lives on as a user contributed project.
Poll used to be part of the Drupal core, but it is a user contributed module in Drupal 9.
Blogs
One of the primary reasons web Content Management Systems are extremely popular is the ease with which you can create blogs (see figure 1-2). Drupal provides fullfeatured blogging, complete with:
- Automatic archiving of past entries.
- A simple-to-use interface for creating new blog entries.
- An option to tag blog posts with one or more keywords
- A link to other blog posts by the same author.
- An optional comment system for site visitors to contribute their thoughts.
You may use set up Drupal blog just for yourself. But a drupal blog can also ne used as a multi-author blog, featuring the writings of multiple authors.
Blogs aren't used just to broadcast your ideas. Companies use corporate blogs to keep the content on their sites fresh. Instead of having to create new HTML web pages every time they publish a press release, for example, they can blog the information.
Not only is it incredibly easy to create blog entries, but you also develop a history of all your blog postings over time. All this information, and any other content posted on your site (including forums, static pages, and comments), can be made searchable – an incredibly useful feature!
Blog used to be part of the Drupal core, but it is a contributed module in Drupal 9. You'll learn more anabling and configuring it in chapter 9.
Forums
A blog (weblog) is generally used to share large amounts of information with your users – with the information flowing one way, from you to your site visitors. A forum, by contrast, is most often used to allow your site visitors to discuss amongst themselves. If it's important to you to build community interaction and encourage communication among the users of your site, you should consider adding a forum.
A Drupal forum consists of a set of discussion topics, as shown in figure 1-3.
You may also see a small star on the speech-bubble icon on the left og the topic. It indicates that there are postings you have not read since you last visited the forum. In the colum "Replies", you can see the number of replies and the number of new replies since your last visit. This let you to pick up on a discusion no matter how long you've been away.
When you drill down into a topic, you'll see the conversation about the topic (see figure 1-4). Each conversation has an opening statement (you crete the opening statement by creating content of the type "Forum topic"). After a forum topic has been created other community members forum topics may add to the conversattion by posting omments (replies to the Forum topic post).
Like many of Drupal's features, the forum configuration settings give you a great deal of control over the permissions you give your users. You can either:
- Maintain complete control over discussion topics.
- Allow your users to create topics.
You can even delegate specific people to be forum moderators and help you share the workload.
Assigning people to specific tasks on your site not only splits up the workload, but is also a great way to build a sense of community among the visitors and users of your site.
Contact forms
Okay, the contact form may not be the most exciting feature of a website, but it is an important one: Your site visitors need a way to get in touch with you. In the past, if you didn't have programming skill, you might have used an HTML mailto link on a web page – those embedded email addresses are harvested by spammers and will result in you getting unwanted junk email.
Drupal takes care of the contact form for you and creates a web form (see figure 1-5) that keeps your email address secret:
- The form sends the content to your email address, or wherever else you tell Drupal to send it, when the form is submitted.
- You can configure the form to send a custom confirmation message automatically to the email address of the person who submits the form.
You can't change the fields in this form (without programming), but you can modify the text and add information, such as a contact address, a map and directions, and a phone number.
Contact is yet another a built-in module you just have activate.
Examples of Drupal websites
Are you excited about your website? Well, you should be! Using Drupal isn't just a great way to build a site; it's also a superb venue for showing the world how creative you can be. Below are links that let you take a closer look at some websites that have been built using Drupal. Take a look to get some ideas about what can be done with Drupal.
Drupal.org
This website, drupal.org, is the home of the Drupal community. It is built with the web application it promotes. You can see many of the features we mention earlier in this chapter – blogs, forums, and a search box – make the scene, along with quite a few more.
Showcasing Drupal websites
These links lead to pages tht showcase Drupal websites:
Most of the featured sites have substantially customised their appearance, but the code behind them is all Drupal.
Last update: 2022-03-23.