You are previewing Drupal 6 Social Networking.
O'Reilly logo
Drupal 6 Social Networking

Book Description

Build a social or community web site, with friends lists, groups, custom user profiles, and much more

  • Step-by-step instructions for putting together a social networking site with Drupal 6

  • Customize your Drupal installation with modules and themes to match the needs of almost any social networking site

  • Allow users to collaborate and interact with each other on your site

  • Requires no prior knowledge of Drupal or PHP; but even experienced Drupal users will find this useful to modify an existing installation into a social web site

In Detail

Drupal is ideally equipped to be used as a base system for creating a custom social networking site like Facebook and MySpace. While these large social networks have their place, niche social networking web sites can help promote businesses, products, projects, and hobbies of any nature.

This book provides careful instructions and clear explanations to take you through the setup and management of your social network site, covering topics from users to marketing to maintenance. It will help you create your own social networking site, suitable for whatever audience you decide!

This book will take you from the very basics of both Drupal and Social Networking right through to more complicated aspects, like creating your own custom design and features for the site. With no experience of Drupal required, the book will introduce you to this award-winning CMS and carefully take you through the steps to create a social networking site from it. As the book progresses, you will learn how to add to and expand your social networking site, adding more features and adding value for your users, and how to make your users feel part of the community. Social networking web sites rely on their users contributing to the site, and this book helps you structure a site in a way users can easily and enjoyable contribute to the site – creating a powerful social network.

The book begins with the fundamental concepts of a Social Networking site, and how we can use Drupal to create such a site. It then goes through installing Drupal before looking at expanding the out-of-the-box feature set with third-party modules designed for Social Networking. Once the web site is running, it looks at securing the Social Network, deploying it on the Internet, and keeping it running and well maintained. It doesn't stop there however; as Social Networks rely on their user base to run and become successful, the book also covers marketing the Social Network using Search Engine Optimization, Online Marketing, and a range of new Social Media.

Table of Contents

  1. Drupal 6 Social Networking
  2. Credits
  3. About the Author
  4. About the Reviewers
  5. Preface
    1. What this book covers
    2. What you need for this book
    3. Who is this book for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the example code for the book
      2. Errata
      3. Piracy
      4. Questions
  6. 1. Drupal and Social Networking
    1. Social networking
    2. Why create a social network instead of joining an existing one?
      1. Improve business
      2. Enable communication
      3. Provide a service
      4. So why create a social network?
    3. DinoSpace!
      1. What is a CMS?
      2. What is Drupal?
    4. Drupal as a social networking platform
    5. Installing Drupal
      1. Requirements
      2. Download
      3. Installation
    6. Configuring Drupal
      1. Actions
      2. Administration theme
      3. Clean URLs
      4. Date and time
      5. Error reporting
      6. File system
      7. Image toolkit
      8. Input formats
      9. Logging and alerts
      10. Performance
      11. Site information
      12. Site maintenance
    7. Summary
  7. 2. Preparing Drupal for a Social Networking Site
    1. How Drupal works
      1. An abstract framework
      2. Nodes
      3. Content flags
          1. Published and unpublished content
          2. Promoted and not promoted content
          3. Sticky and not sticky content
      4. Collaboration
      5. Terminology
    2. Administering Drupal: an overview
      1. Logging in
      2. User management
        1. Access rules
        2. Permissions
        3. Roles
        4. User settings
        5. Users
      3. Content management
        1. Comments
        2. Content
        3. Content Types
        4. Post settings
        5. RSS publishing
        6. Taxonomy
      4. Site building
        1. Blocks
        2. Menus
            1. Creating new menu items
        3. Modules
        4. Themes
      5. Site configuration
      6. Reports
        1. Recent log entries
        2. Top 'access denied' errors
        3. Top 'page not found' errors
        4. Available updates
        5. Status report final
    3. Planning our site
      1. Static content
      2. Grouping content
    4. Starting to build our site
      1. Taxonomy!
        1. Creating the vocabulary
        2. Creating terms and tags for our vocabulary
        3. Creating another vocabulary — free tags
      2. Creating content
    5. Summary
  8. 3. User Content: Contributions, Forums, and Blogs
    1. Our site
    2. User roles: an important note
    3. Drupal modules
    4. Comments
      1. Comments within Dino Space
    5. Forums
      1. Planning
      2. Creating and managing forums
      3. Creating a forum topic
      4. Taxonomies
      5. Planning: How will roles fit in?
    6. Blogs
      1. Blog menu
      2. Viewing blogs
      3. Using the blog
      4. Blog API
        1. Posting a blog entry from Microsoft Word
    7. Collaborative writing
      1. Creating a book
      2. Creating pages in the book
      3. Permissions and roles
        1. Why not grant all permissions?
    8. Polls
      1. Roles
    9. Contributions in the form of pages
      1. Permissions and roles
    10. Uploaded files/attachments
    11. Automatically generated content
      1. Feed aggregator menu
      2. Viewing the feed in action
      3. Cron
    12. Social aggregation
      1. Download the module
      2. Install and enable the module
      3. Configure the module
      4. Using the module
    13. Roles
      1. Anonymous role permissions
      2. Authenticated users
      3. Creating the additional roles
      4. Contributors
      5. Moderators
      6. Power contributors
    14. Summary
  9. 4. Users and Profiles
    1. What are we going to do and why?
    2. Install the modules
    3. Users, roles, and permissions
      1. Users
        1. Viewing/searching/sorting/filtering
        2. Creating a user
        3. Editing
          1. Suspending/blocking a user
          2. Deleting a user
      2. Roles
      3. Permissions
    4. Adding special properties to user profiles
      1. Module overview
      2. Extending our users' profiles
        1. Single-line text fields
          1. Dinosaur name
          2. Location
        2. Multi-line text fields
          1. About you
        3. Date field
          1. Dinosaur's date of birth
        4. List selection field
          1. Breed
        5. Free form list field
          1. About your dinosaur
        6. Web address field
          1. Your web address
      3. Editing our profile
        1. About you
        2. About your dinosaur
    5. Tracking user activity
    6. Settings and rules
      1. Access rules
        1. Blocking email domains
          1. With an exception
        2. Preventing swear words in our user's usernames
        3. Checking rules
      2. User settings
        1. User registration settings
        2. User email settings
        3. Picture settings
          1. Gravatars!
    7. Blog themes
      1. Enabling themes
      2. Using the blog themes module
      3. Expanding on this feature
    8. Open ID
      1. User already exists
      2. User does not exist
    9. Summary
  10. 5. Enabling User Interaction
    1. Dino Space: a review
    2. Installing the modules
    3. Relationships
      1. Planning
      2. Creating our relationships
      3. Settings
        1. General settings
        2. Email notifications
        3. Elaborations
        4. Messages
      4. Permissions
      5. Relationships in action
        1. Default relationship
        2. Creating a relationship with another user
        3. My relationships
    4. User activities
      1. Permissions
      2. Activities in action
        1. Public list
        2. Friends list
        3. Settings
    5. Profile comments with the Guestbook module
      1. Settings
        1. Permissions
      2. Site-wide guestbook
      3. User guestbooks
      4. Viewing guestbooks
    6. Contacting users
      1. User contact forms
      2. Site-wide contact form
        1. Creating the contact form categories
          1. Gathering user feedback
          2. Dealing with member disputes
          3. Dealing with copyright content reports
          4. Providing technical support to our users
        2. Adding information to the top of the form
        3. Enabling the contact form in the menu
        4. Taking the content form for a spin
    7. Groups
      1. Groups for Dino Space
      2. Organic Groups module
        1. Create group content type
        2. Configure page content type
        3. Enabling the block
        4. Creating a group
          1. Using our group
    8. Summary
  11. 6. Communicating with our Users
    1. Getting started
      1. The modules
      2. A look back
        1. Modules
    2. Communicating on an individual basis
      1. Inactive users
      2. Communicating with individuals publicly
    3. Mailing lists
      1. How to send an email to all our users?
      2. HTML emails
      3. Legalities
      4. Throttling
      5. Third-Party Services
        1. PHPList
        2. Constant contact
        3. Google Groups
    4. Direct contact
      1. The address module
        1. Users perspective
        2. Administrators perspective
    5. Content blocks
      1. Creating a content block for anonymous users
    6. Theme customizations for communication
    7. Summary
  12. 7. Improving our Network with Custom Modules
    1. Our module
    2. Drupal's modular system
      1. A module
      2. Useful resources
    3. Creating our module
      1. Content types
        1. New content types
          1. Map
            1. Database
          2. Venue
            1. Database
      2. Google Maps
        1. API key and the JavaScript files
      3. Template files
        1. node-map.tpl.php
        2. node-venue.php
      4. Module files
        1. Directories and locations
        2. .info files
          1. Map module (map.info)
          2. Venue module (venue.info)
        3. .module files
          1. Map module (map.module)
          2. Venue module
        4. .install files
          1. Map module (map.install)
          2. Venue module (venue.install)
      5. Putting everything together
        1. Installing the modules
        2. Creating a map
        3. Adding a venue
      6. Seeing the module in action
    4. Useful APIs
      1. GMap
      2. Facebook
    5. Summary
  13. 8. Designing our Site
    1. Drupal themes
      1. Themes and our users
      2. Pre-installed themes
        1. Bluemarine
        2. Chameleon
        3. Garland
        4. Marvin
        5. Minnelli
        6. Pushbutton
      3. Contributed themes
        1. Installing contributed themes
    2. Customizing the default theme
      1. Color scheme
        1. Custom color sets
        2. Color set preview
      2. Toggle display
      3. Logo image design
      4. Shortcut icon settings
      5. Global settings
    3. Creating a theme: The basics
      1. Theme structure
        1. Info file
        2. Template files
        3. Template.php
        4. Logo and screenshot
        5. Other files for themes
      2. Getting started
        1. Info file
        2. Template files
          1. Page.tpl.php
        3. Template.php
        4. Logo and screenshot
        5. In action
    4. Summary
  14. 9. Deploying and Maintaining our Social Networking Site
    1. Installing the modules
    2. Security
      1. Security announcements
      2. Securing our site
        1. CAPTCHA
          1. Math
          2. Image
          3. Text
          4. reCAPTCHA
            1. Download the reCAPTCHA PHP library
            2. Signup for an API key
            3. Enter our public and private keys
            4. reCAPTCHA in action
          5. Setting it up
        2. Mollom
        3. Legal
        4. Passwords
    3. Deploying
      1. Hosting and domain names
      2. Getting the site online
        1. Setting up the database
          1. Importing the local database
        2. Uploading the site
        3. Changing the database settings
    4. Maintenance
      1. Cron
      2. Performing maintenance
        1. Upgrading Drupal
      3. Reports
        1. How can these help?
    5. Backing up
      1. Backing up with cPanel
    6. Restoring
      1. Restoring within cPanel
    7. Summary
  15. 10. Promoting our Site
    1. Online advertising
      1. Buying advertisement space
      2. Pay Per Click Advertisements
        1. Advertisement networks provided by search engines
      3. Newsletter advertising
      4. Caution: Search Engine Penalization
    2. Newsletters
    3. Marketing materials
    4. Social marketing
      1. Viral marketing
      2. Twitter
      3. Social bookmarking
    5. Search Engine Optimization
      1. On-site SEO
        1. Meta
        2. Sitemap and webmaster tools
        3. Links
        4. Up-to-date content
      2. Off-site SEO
    6. Monetizing your site
    7. Summary
  16. A. Installing WAMP
    1. Installing WampServer
      1. Downloading WampServer
      2. Installing WampServer
    2. WampServer overview
    3. Configuring WampServer
      1. GD2
      2. Rewrite Module
    4. Summary