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