Preface
This book uses Drupal, a powerful and extendable Content Management System (CMS), to set up and manage a social networking website. This is achieved using a range of powerful and feature-rich social networking modules that are available, as well as creating a few of our own along the way. By using Drupal, the site can be built and extended rapidly and changed as the needs of our users and site change and evolve.
This book is packed with practical tips, not only for setting up a social networking site, but also for promoting and marketing the site, working with the site's users to help the social network grow, and preparing for growth so that our users get a reliable, enjoyable experience on the site.
What this book covers
Chapter 1, Drupal and Social Networking, looks into the basics, dealing with various social networking concepts, and also why you may wish to create a social network. You will start by looking at the concepts of social networking, Content Management Systems, and Drupal. Then you will be guided to install Drupal, look at its features, and see how it works.
Chapter 2, Preparing Drupal for a Social Networking Site, looks at Drupal in more detail, particularly at how to use its administration options, which should help you in building your site. This should prove to be a useful reference point in future. You'll be able to plan some of the static content for your site, and start to create content for it.
Chapter 3, User Content: Contributions, Forums, and Blogs, focuses very much on content; with these features in place you can now look at users, their profiles, and allow them to connect with one another to create a powerful social network.
Chapter 4, Users and Profiles, teaches how to manage users, roles, and their permissions. It talks about Gravatars and how to enable them. You'll learn how users can track the activity of each other and how to extend user profiles. Settings and rules for users will be talked about and you'll also learn how to give authenticated users a more relevant home page.
Chapter 5, Enabling User Interaction, explains how users can build relationships and friendships within the site, and how they can communicate with each other. With this, you will learn how to create a social site which is truly a network using Drupal.
Chapter 6, Social Seasoning, sprinkles in third-party social features to the site, including sharing content on other social networks, and using more advanced comment features from services such as Disqus.
Chapter 7, Module Development, rapidly teaches the basics of the Drupal 7 module system, through the creation of a suite of modules including a new bespoke content type and a map. This covers module development, extending the default content types, and allowing modules to interact with one another.
Chapter 8, Designing Our Site, discusses the default themes available to us, how we can customize it, where we can get new themes from, and the basics of the Drupal theming system. This provides the ground work for making your social network look the part.
Chapter 9, Communicating with Our Users, helps administrators communicate directly with users through e-mail, contact forms, and using the theme and reminders.
Chapter 10, Deploying and Maintaining Our Social Network, details the processes involved in taking a site from your local computer to the web. This discusses concepts including hosting, domain names, and the methods used to get the site running online. Once the site is online, it discusses how to maintain the social network.
Chapter 11, Easing Growing Pains, provides help and advice for scaling the social network and how to prepare with a large number of users. These tips speed up the site and show how to make the site more reliable when under load.
Chapter 12, Promotion, SEO, User Retention, and Monetization Strategies, looks into effectively marketing and promoting websites and social networking websites with online marketing techniques, search engine optimization, and user retention strategies. You'll also be looking briefly into how you may wish to monetize your site.
What you need for this book
For this book you will need:
A local development environment (see Appendix A)
A text editor, such as Crimson Editor (http://www.crimsoneditor.com/)
An FTP client to deploy your site online, such as FileZilla (http://filezilla-project.org/)
An SSH client if you wish to maintain your site using the command line (http://www.chiark.greenend.org.uk/~sgtatham/putty/)
Who this book is for
This book is aimed at anyone looking to create their own social networking website, including:
Businesses: Building a social network around a product or service can improve your company profile and increase customer loyalty, while an internal social network gives you employees a place to keep resources, discuss ideas, raise concerns, and keep up-to-date on company policies.
Hobbyists: Create a community around your hobbies and interests; create a local or distributed user group.
Organizations and charities: Raise your profile, promote your events, services, and fundraisers, and get help from the community in organizing them.
Families: For large families based across the country or across the globe, keep up-to-date with everyone, and let everyone know what you are up to.
You don't need any experience of Drupal or PHP to use this book. If you are a Drupal user you will find this book a great way to rapidly tailor an existing installation into a socially orientated website.
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: "To make use of friendly or clean URLs, the mod_rewrite
module for Apache, and the ability to use .htaccess
files is required."
A block of code is set as follows:
<a href="http://twitter.com/share" class="twitter-share-button" data-count="vertical" data-via="dino_space">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
<iframe src="http://www.facebook.com/plugins/like.php?href= <?php $path = isset($_GET['q']) ? $_GET['q'] : '<front>'; $link = url($path, array('absolute' => TRUE)); echo urlencode( $link ); ?> &layout=standard&show_faces=true&width=450& action=like&font&colorscheme=light&height=80"
Any command-line input or output is written as follows:
sudo apt-get install apache2
New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "This page contains download links for Drupal Core, Installation Profiles, Themes, Translations, and Modules ".
Note
Warnings or important notes appear in a box like this.
Tip
Tips and tricks appear like this.
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply send an e-mail to <feedback@packtpub.com>
, and mention the book title via the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or e-mail <suggest@packtpub.com>
.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Downloading the example code
You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the errata submission form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy
Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at <copyright@packtpub.com>
with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
Questions
You can contact us at <questions@packtpub.com>
if you are having a problem with any aspect of the book, and we will do our best to address it.