well after 3 months working on and off on this project I’m happy to present DrupalSN.com (Drupal Social Network) to the Drupal community.
What is it?
DrupalSN is essentially a Drupal showcase both in terms of the site itself and also as a place where Drupal developers and designers can showcase their Drupal projects all in one place. I hope Drupal developers and designers will use the site as a way to gain exposure to complement their portfolio
It’s also meant to be a bit of fun where people can interact and see how Drupal can effectively be used for a social network.
I hope the site can complement Drupal.org and Drupal Groups in a fun and different way but ultimately the goal is to promote Drupal!
How was it done?
It’s running on Drupal 5 and a completely custom theme which was designed from the ground up. I’m no designer so feel free to comment on the design I’m sure it can be improved!
I’ve tried to include all the standard social networking features like buddies, profile information, content commenting and profile commenting. I choose to make the user profiles users rather than nodes purely because of personal preference although I am using usernode.module to provide a community search page.
User status ala Facebook
You may have noticed I shamelessly copied the Facebook “is” status functionality in a custom module I made allowing users to keep each other updated with what they are doing using a quick status message.
This is something I developed for another personal site (http://adrenalinehub.com) that I wanted to clean up and use again. It displays the last X amount of people to look at your profile and it aims to link users together.
This is another simple custom module which that calculates a users “profile completeness” based on the number of profile fields they have filled in and the number of blank ones. This module also provides users with a TODO list of things which they can work through in order to complete their profile and get the most out of the site.
Guide Profile Setup
This is another custom module which initially guides users through the process of setting up their profile. I noticed this is quite common on other community sites so thought I’d give it a try.
Role based sign up
If you sign up to the site you’ll notice I have 3 different types of user that you can sign up to be depending on how you use Drupal. Drupal was absolutely perfect for this type of sign up. I used autoassignrole.module, logintoboggan.module and a small custom module to create this functionality.
Also if you have tried the site you may notice that different user roles have different profile fields to fill out. To achieve this I used a hacked version of the user_types.module (I need to clean this up then I will release it under a different name) and also used a patch to the profile.module (I do not advise editing core modules unless you fully understand the implications) to allow a multi select profile form item, see http://drupal.org/node/29901#comment-342818.
In this part of the site users who signed up as a Freelancer or Company can submit their Drupal projects for the rest of the community to see and rate. I hope that freelancers and companies will use it as a place to showcase their work to potential clients and for clients to find suitable Drupal freelancers or companies to work with.
I made the project submission form a bit more user-friendly by overriding the form theme and adding some ajax loading icons.
This is a non-community part of the site where I’m simply using the simplefeed module to grab Drupal news/RSS feeds from various sites around the internet. A list of feed providers can be found here http://drupalsn.com/site-credits.
The site opens up more once you’ve signed up so I hope you’ll consider signing up and having a look.
If there is any functionality you noticed that I’ve not mentioned here, feel free to comment below and I’ll try and answer.
A full list of modules used can be found here http://www.drupalsn.com/modules_used.php
The key modules used on DrupalSN are:
Views, CCK and ImageCache
These provide the base of the content on the site, with CCK creating the node types and views being used to display content lists and a search facility.
Imagecache is used for all image rescaling and crop throughout the site.
This module provides all the functionality for the Drupal World part of the site, it handles the grabbing of the external feeds and creates them into nodes.
Again if there’s functionality on the site and you like to know what module(s) I’ve used, just drop a comment below and I’ll try to answer.
Why I used Drupal
Well I couldn’t not use Drupal for a Drupal community but I honestly wouldn’t considering using anything else anyway. The access control system works perfectly for the role based system I wanted and the modular nature of Drupal means I can easily and rapidly build new modules and functionality as the site (fingers crossed) grows!
- First of all I hope that a lot of the Drupal community will sign up and give it a try, I’d really like to build up a directory of Drupal companies and freelancers that will prove useful for anyone looking for a developer.
- Once the bugs have been ironed out I want clean up a lot of the modules and give them back to Drupal.
- I'm also hoping to create a docs section of the site where I will document how certain elements of the site were created as well as create a tutorial section to the site that will specialise in social networking techniques.
Ok, I’ve probably bored everyone to death but I really like reading site write ups so hopefully this will be useful to some out there. Please feel free to sign up to the site, test it and let me know any feedback or if you find any bugs.
If you really like the site here are some badges to help promote the site http://drupalsn.com/promote.
Thanks for reading
ps. i've inserted an img tag of a screen garb if you could change the input filter that would be great!