Drupal is an open source content management system which is fully extensible through a huge range of community developed modules. It’s the system which powers the demo site I put together for The Information Authority last year, and it is as happy providing a platform for personal blogs as it is multi-user social networks. I will be focusing here on how it can be used to create a social media based community, allowing the sharing of various types of media including text, audio, video and images.
The open source nature of the platform means that not only is it cost free, but you also have carte blanche to edit the source code however you see fit, as long as you are willing to make the changes available to anyone else who might want them. So, if Drupal doesn’t do what you want, all you have to do is edit it so that it does – or get someone else to.
Some well known uses of Drupal include The Onion and Spread Firefox.
Drupal comes with a number of functions which are operational without having to track down additional modules. They include:
- Stories – the ability to post short news items to the site
- Pages – static pages with content that won’t change much
- Blogs – every user on a Drupal has their own blog, which can be viewed separately or aggregated together
- Forums – built in forum system allows for discussions on different topics
- Books – collaboratively author online collections of pages
- News Aggregator – built in aggregator which pulls together RSS feeds under various categories, making the latest news available to users
- Polls – simple polls on which users can vote
- Tagging – the powerful taxonomy feature allows all content to be tagged and presented as a tag cloud
- Profiles – you can specify fields for users to complete to build up a profile on the site
- Document uploads – all types of content (blogs, stories, pages, forum entries) can have file attachments added
On top of this there is a comprehensive user rights management system to ensure that only certain members can produce or view certain types of content, ensuring that your community is as secure as you need it to be.
There is, therefore, quite enough functionality available out of the box to get a community up and running very quickly.
There is more that Drupal can do though, and all you need is to find the right modules to do it. Here are some of the ones I’ve picked out as being useful for community building:
- Photo gallery – whilst photos stored on public services like Flickr can easily be added to site posts, having your own photo gallery can be useful for privacy purposes
- Video – as with photos above. If a video isn’t on YouTube, they can upload it to your community site instead
- Audio – as above!
- Organic Groups – create groups within the community. Members can make posts visible only within groups or site-wide. Groups can be created by any user or just administrators
- Buddy lists – allow users to mark others as their buddies to help track their content etc
- Invite friends – allow users to send invites to friends not already registered
- Interests – tracks the tags employed by users to display other users with similar interests, as well as potentially interesting content
- TinyMCE – adds a wysiwyg editor to make creating content a little easier – no need for HTML tags!
- Links – create a social link directory with weblinks identified, described and tagged so others can find them
You can also change the look of your community with the freely downloadable themes from the Drupal website. Those included by default are all pretty good, especially Garland, but if you want to have a more individual looking site it might be better to find a less well known theme and customise it. Some good looking themes include:
Note that some themes require certain modules, or ‘theme engines’ installed to work properly.
Drupal lacks a proper wiki module, which is a shame. The one that does exist is Liquid, which allows you to make any content as a wiki – in other words, making it available to edit by other users. However, this is a confusing solution and not one that is recommended at this stage. The only other option is to use the books module to collaboratively author content, but again this isn’t really perfect.
Drupal is also rather confusing to administer, and the learning curve is pretty steep. The best option is to play around with it first, and take your time. Once you become used to the way of doing things will Drupal, you’ll be amazed at the power and versatility of the system.
Drupal is a free out of the box solution to creating online communities that will have you up and running in no time. The learning curve is relatively steep, but it is worth it for the power and flexibility of the system.
This post has been shamelessly regurgitated from my old blog, FEConnect 😉
One thought on “Building Online Communities with Drupal”
Most of drupal themes from http://drupal.org/project/Themes can be seen live at Drupal Theme Garden