How to Build a Drupal Social Network
Part 1: Modules Needed
Before we begin, you should have a decent amount of drupal experience. It's helpful to learn the content type / view relationship, and how to expose node-create forms to non-administrators.
The Essentials
1. Content Consturction Kit (CCK): This module extends Druapl's content types by allowing any user definable fields and granular permissions on those fields. This is what you will use to customize the user profile content type, or collect user generated data like photos and videos.
You should also have some of the sister modules that usually run with this in acquia, like image field, file field, imagefieldcrop, imagecache, contemplate, etc.
2. Views: Views is a query building tool that will help you cut down on your build time, and is a very essential component for any advanced drupal site.
3. Content Profile: This allows you to pair a content type with a user account. Thus, creating "user profiles" that are official drupal nodes. Since the default drupal profile system is very limited, this is a good solution that works seemlessly with views and CCK
4. Rules: This lets you easily "tie modules together" without having to break into PHP. Rules & Heartbeat is what we'll use to set up the facebook style activity stream!
5. Heartbeat: This is a great little module that keeps an "activity log" on a per user basis, and lets you set up permissions for the various activity that gets logged, and integrates with views to show that activity. Learning this thing is not going to be easy, but it's well worth it and is the only way to get a true, facebook or twitter style activity stream / wall gizmo.
6. Privatemsg: Pretty straight forward user-to-user messaging
7. Facebook-style statuses: Wall/Status posts that can be directed towards other users. Integrates with rules and heartbeat, which is essential.
8. User Relationships: This is how you make "friends". Relationships can be mutual two-way, or one way.
Other great tools
Admin: To make your life easier
Devel: For clearing caches and generating dummy content
Flag: Let's you make "like" buttons
Diff: Good revision tracking
CAPTCHA: Spam sucks.
Posted on November 20, 2010 - 4:49pm









Comments
Add new comment