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

Book Description

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

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

  • 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 book useful to modify an existing installation into a social website

  • In Detail

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

    Drupal 7 Social Networking 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 choose!

    Starting from the very basics of both Drupal and Social Networking, right through to more complicated aspects, you will progressively learn how to add to and expand your social networking site and add more features. You will learn how to secure your social network, deploy it on the Internet, and keep it running and well maintained. As social networking sites rely on the participation of their users, this book helps you to structure your site in such a way so that users can easily and enjoyably contribute, thus creating a powerful social network.

    A complete walkthrough for creating, developing, growing, and maintaining a Social Networking website using Drupal 7

    Table of Contents

    1. Drupal 7 Social Networking
      1. Drupal 7 Social Networking
      2. Credits
      3. About the Author
      4. Acknowledgement
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers and more
          1. Why Subscribe?
          2. Free Access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Drupal and Social Networking
        1. Social Networking: An introduction
          1. Business logic to social networks
            1. Examples: Businesses making use of existing social networks and their own social networks
              1. Dell: Twitter
              2. NameCheap: Twitter
              3. BT: Twitter
              4. Netgear: Custom
        2. Why not join or use an existing social network?
          1. Provide a service
            1. Improve business
            2. Improve communications
          2. Existing social networks
            1. Facebook
            2. LinkedIn
            3. MySpace
            4. Twitter
        3. Drupal
          1. What is a CMS?
          2. What is Drupal?
        4. Drupal as a social networking platform
        5. Alternatives to Drupal
          1. Roll your own
          2. Elgg
          3. Hybrid approaches
        6. DinoSpace!
        7. Installing Drupal
          1. Requirements
          2. Download
          3. Installation
            1. Extracting the Drupal files
            2. Creating the database
            3. Running the Drupal installer
          4. Configuring Drupal
            1. People: Account settings
            2. System: Site information
            3. Other configuration options
              1. People: IP address blocking
              2. System: Actions
              3. System: Cron
              4. Content authoring: Text formats
              5. User interface: Shortcuts
              6. Media: File system
              7. Media: Image styles
              8. Media: Image toolkit
              9. Development: Performance
              10. Development: Logging and errors
              11. Development: Maintenance mode
              12. Search and metadata: Search settings
              13. Search and metadata: URL aliases
              14. Search and metadata: Clean URLs
              15. Web Services: RSS publishing
              16. Regional and language: Regional settings
              17. Regional and language: Date and time
        8. Summary
      9. 2. Preparing Drupal for a Social Networking Site
        1. How Drupal works
          1. An abstract framework
          2. Nodes
          3. Modules and themes
        2. Administering Drupal An overview
          1. Logging in
          2. Dashboard
          3. Content
            1. Content statuses
              1. Promoted content
              2. Sticky content
            2. Creating content
            3. Comments
          4. Structure
            1. Blocks
            2. Content types
            3. Menus
            4. Taxonomy
          5. Appearance
          6. People
            1. Permissions
            2. Roles
          7. Modules
          8. Configuration
          9. Reports
          10. Help
        3. Content types and taxonomy: A detailed look
          1. Creating a new content type
            1. Adding fields to the content type
              1. Linking taxonomy to the content type
              2. Customizing how the taxonomy works with the content type
            2. Test content in action!
        4. Planning our site
          1. Static content
          2. Grouping content
        5. Starting to build our site
          1. Using taxonomy
            1. Creating the vocabulary
        6. Summary
      10. 3. User Content: Contributions, Forums, and Blogs
        1. Our site
        2. User roles: An important note
        3. Drupal modules
        4. Managing comments
          1. Comments within DinoSpace!
        5. Forums
          1. Planning our forum structure
          2. Creating and managing forums and containers
          3. Viewing our forums
          4. Creating a forum topic
            1. Taxonomies
          5. Planning: How will roles fit in?
        6. Setting up and using blogs
          1. Viewing blogs and the blog menu
          2. Using the blog
        7. Collaborative writing
          1. Creating a book
          2. Creating pages in the book
          3. Outline
          4. Permissions and roles
            1. Why not grant all permissions?
        8. Polls
          1. Adding roles
        9. Contributions in the form of pages
          1. Permissions and roles
        10. Uploaded files
        11. Roles
          1. Anonymous role permissions
          2. Authenticated users
          3. Additional roles
            1. Contributors
            2. Moderators
            3. Power contributors
        12. Summary
      11. 4. Users and Profiles
        1. What are we going to do and why?
        2. Getting set up
        3. Users, roles, and permissions
          1. User management
            1. Users: Viewing, searching, sorting, and filtering
            2. Creating a user
            3. Editing a user
              1. Suspending / blocking a user
              2. Canceling and deleting a user account
            4. Bulk user operations
          2. Roles
          3. Permissions
        4. Creating customizable user profiles
          1. Listing your dinosaurs
          2. Linking to other social network profiles
          3. Profile in action
        5. Globally recognized avatars: Enabling Gravatars
        6. Tracking user activity
        7. User centric home page
        8. Account settings
        9. Summary
      12. 5. Enabling User Interaction
        1. DinoSpace!: A review
        2. Preparation: Installing the modules
        3. Relationships
          1. Planning user relationships
          2. Managing and creating relationships
            1. Creating a relationship type
              1. Creating a two-way relationship which requires approval
              2. Creating a one-way relationship
            2. Creating default relationships
          3. Settings
            1. General settings
            2. Customizing e-mail notifications
            3. Customizing on-screen messages
            4. Sharing content
            5. Other settings
          4. Permissions
          5. Relationships in action
            1. Befriending users
            2. Approving requests
        4. Related user activity stream
          1. A template for each relationship type
          2. A rule for each relationship type
          3. Activity stream in action
        5. Contacting users
        6. Groups
          1. Groups for DinoSpace!
          2. Using the organic groups module
            1. Creating a group content type
            2. Configuring content types
            3. Formatting groups
              1. Adding some user context to the group
            4. Using panels to structure the group page
            5. Using views to pull in group content
            6. Creating a group
            7. Adding content to a group
            8. Viewing our group
        7. Commenting on user profiles
          1. The guestbook module
          2. What to look out for
        8. Summary
      13. 6. Social Seasoning
        1. Let's prepare our modules
        2. Encouraging discussion with Disqus
          1. Register for Disqus
        3. Sharing content with AddThis
        4. Leverage other features
          1. Like this on Facebook
            1. Enabling PHP in content blocks
            2. Like this page
            3. Creating the block
          2. Tweet this
          3. Find us on Facebook
          4. Latest tweets
        5. Summary
      14. 7. Module Development: Rapidly Improve your Social Network
        1. Dinosaur-friendly venues
        2. Useful resources
        3. Building our module
          1. Installation files
            1. Map installer: dino_friendly_places/dfp_map.install
            2. Venue installer: dino_friendly_places/dfp_venue.install
          2. Module information files
            1. Map information file
            2. Venue information file
          3. Module files
            1. Create the map module file
            2. Venue: no module file required
          4. Template files
            1. Map: node--dino_friendly_places_map.tpl.php
            2. Venue: node--dino_friendly_places_venue.tpl.php
        4. Module in action
          1. Install the module
          2. Creating a map
          3. Creating a venue
          4. Viewing a map
          5. Viewing a venue
        5. Summary
      15. 8. How We Can Design Our Site
        1. Drupal themes
          1. Theme management and pre-installed themes
            1. Bartik
            2. Garland
            3. Seven
            4. Stark
          2. Contributed themes
            1. Installing contributed themes
          3. Customizing the default theme
            1. Color scheme
              1. Custom color sets
              2. Color set preview
            2. Toggle display
            3. Logo image
            4. Shortcut icons
        2. The basics of creating a theme
          1. Structure of a theme
            1. Overriding specific parts of Drupal with a theme
            2. Creating the .info file
          2. Rapidly building a theme
          3. Building a theme properly
        3. Summary
      16. 9. Communicating with Our Users
        1. Getting started
        2. A look back
          1. Modules send e-mails too!
          2. Direct contact with a user
        3. Mailing lists
          1. External mailing lists
            1. Automatic signup on user creation
            2. Signup for anonymous users
          2. Alternative e-mailing options
            1. PHPList
            2. Simplenews
              1. Sending a newsletter with simplenews
            3. Amazon Simple Email Service
        4. Using content blocks to get our message across
        5. Using theme customisations to indirectly communicate with our users
        6. Inactive users: Please come back
        7. Summary
      17. 10. Deploying and Maintaining Your Social Network
        1. Installing the modules
        2. Security
          1. Security advisories
          2. Server security
            1. Software
            2. Securing the site with a firewall
            3. Shared hosting precautions
            4. CAPTCHA
              1. The CAPTCHA module
              2. The reCAPTCHA module
            5. SPAM prevention
              1. Mollom
            6. Passwords
        3. Deploying
          1. Choosing a domain name
          2. Registering a domain name
            1. Popular domain name registrars
          3. Signing up with a hosting provider
            1. Choosing a web hosting provider
            2. Considerations for hosts for social networking websites
            3. Popular web hosting providers
          4. Setting the nameservers for the domain
          5. Creating a database on the hosting account
            1. With cPanel hosting control panel
            2. With appropriate privileges on PHPMyAdmin
          6. Exporting our local database
          7. Importing our local database to the hosting account
          8. Changing the database settings
          9. Uploading the site
          10. Testing
        4. Maintenance
          1. Cron
            1. Looking up the secure cron URL
          2. Performing maintenance
          3. Upgrading Drupal
          4. Reports
            1. How can these help?
          5. Backing up and restoring your social network
            1. With cPanel
              1. Restoring the site and database
            2. Using the command line
              1. Command-line access and Putty
              2. Backing up the site and database
              3. Restoring the site and the database
            3. Do they work?
        5. Summary
      18. 11. Easing Growing Pains
        1. Basic performance tips
          1. Introduction to caching and caching options
        2. NoSQL options
        3. Can't someone else do it?
          1. Statistics
          2. Sending e-mails
          3. E-mail services
          4. Hosted Apache Solr search
        4. Using content delivery networks
          1. CDN module
        5. Code improvements and custom modules
          1. Code profiling
          2. Slow queries
          3. Compression
        6. Server performance and configuration
          1. Apache
          2. MySQL
          3. Alternative web servers
        7. Scaling our resources
          1. VPS cloud hosting
          2. Additional servers
        8. Adding redundancy to our setup
        9. Keep an eye out…
        10. Summary
      19. 12. Promotion, SEO, User Retention, and Monetization Strategies
        1. Promotion and marketing
          1. Online advertising
            1. Pay-Per-Click
              1. Search engine PPC networks
              2. Pay-Per-Action A look to the future
            2. Advertising space
              1. Warning: Keep the search engines happy!
                1. Getting penalized by search engines
                2. Keeping them happy
            3. Newsletter advertising
          2. Newsletters
          3. Social marketing
            1. Viral marketing campaigns
            2. Twitter
            3. RSS feeds
        2. Search Engine Optimization
          1. On-site SEO
            1. Headings
            2. Internal links
            3. Up-to-date, relevant content
            4. Page meta data
            5. Site speed
            6. Search engine goodies! Sitemaps and tools
          2. Off-site SEO
          3. What to look for in an SEO company
        3. User retention
          1. E-mails for the user's action
          2. User feedback
          3. Hello there!
        4. Monetization options
        5. Final tips: Web stats
        6. Modules to consider
        7. Summary
      20. A. Setting up a Local Development Environment
        1. WampServer for Windows
          1. Installing WAMPServer
          2. WAMPServer overview
          3. Configuring WampServer
          4. GD2
          5. Rewrite module
        2. Linux
          1. Install Apache
            1. Enable the rewrite module and restart Apache
          2. Install PHP
            1. Enable MySQL and GD
          3. Install MySQL
            1. Install phpMyAdmin
        3. Mac
        4. Summary
      21. B. Installed Modules
        1. Chapter 1 to Chapter 3
        2. Chapter 4
        3. Chapter 5
        4. Chapter 6
        5. Chapter 7 to Chapter 8
        6. Chapter 9
        7. Chapter 10
        8. Chapter 11 to Chapter 12