Google
   

Categories

Drupal Community Part 3

Now that you've got the basic framework for your community site and user profiles you'll want to add some modules that make your site more interactive. Giving users things 'to do' is essential for any community website.

In part 1 we already discussed some basic modules, including buddylist and privatemessage. These are pretty straightforward and don't require a whole lot of configuration.

The modules we'll discuss here are a bit more involved, and we'll talk about customizing them for your site's needs.

Your site may require different functionality than this, but these are some key features many community sites will use.

  • User-based URLs
  • Rich text editing
  • User photos
  • User blogs
  • Forums
  • A voting / rating system

User-based URLs
This is sort of a nicety, but many community sites provide a personalized url where a user's profile lives. We can do this with Drupal through the use of a module called Pathauto. Installing this module expands drupal's built-in aliasing abilities and lets us name paths in a more intuitive manner. For instance, the default path for a user profile is something like sitename.com/user/552. Assuming user 552 has a username "sk8rdude" pathauto can automatically alias the user profile to be sitename.com/sk8rdude. This can be extended to allow the users blog, and photo album to fall under that path, like sitename.com/sk8rdude/blog and sitename.com/sk8rdude/photos. The pathauto module has pretty intuitive inline guidance, but if you need help figuring it out, leave a comment, or check out the drupal forums.

Rich text editing
Unlike many other blogging / cms platforms available, Drupal doesn't include a rich-text editor by default. Using the TinyMCE module you can pretty easily add this feature to Drupal. You'll need to downlod the module and download the latest TinyMCE package as well (the module allows easy integration of the TinyMCE package with Drupal, but does not include TinyMCE itself). Follow the installation instructions on the module's page to install the module and the TinyMCE editor. Once that's done you can browse over to administer->TinyMCE on your site. Here you have the option to create a new profile. A profile is essentially a 'feature list' of sorts. You can add any number of options to the TinyMCE editor that your users will be presented with. You could use a very basic editor, with just bold, italic, and alignment buttons or you could offer them every advanced option available.

Once you have profiles set-up you can assign them to different roles. Often, you'll want administrators to have more features than your normal users. As with all modules be sure to browse over to administer-> users -> access control to make sure your modules are enabled for the appropriate roles.

Photos
The 4x and 5x branches of Drupal have a great user-contributed module available called Acidfree Albums. Download and enable this module (and any dependencies) and you can upload and arrange photos in albums. Once you've installed and enabled the module head over to administer -> acidfree albums. Here you'll see an option to 'enable user albums'. Checking this means that your site will now create an album for every user that registers on your site. Users will get one default album, which they can name whatever they like, and the ability to add children, or sub-albums. If you checked 'share albums by default', a user can upload a photo to any other users albums. Next you could visit the pathauto settings page to setup the URL paths to user photo albums as you see fit.
There isn't a 6.x version of acidfree as of this writing, but it appears that it's being worked on.

User blogs
Drupal has pretty good blogging features built right in, but to allow your users to maintain their own blogs, you'll have to enable the blog module (it's a core module, just disabled by default). The installation of TinyMCE makes Drupal a much more viable solution for blogging. Once you've enabled the blogs module, make sure you've granted proper permissions to the roles you want. Next you could visit the pathauto settings page to setup the URL paths to user blogs as you see fit.

Forums
Drupal's default forum engine is not bad. However, it doesn't look like traditional forums you may be used to. The drupal.org forum itself is the default forum style. You could integrate an install of vBulletin, or phpBB if you don't like the default Forums, but you might first check out the advanced forum module. If you install this module, read the project's page carefully, it's more involved than just extracting and enabling the module. You have to copy some files over to your theme's directory and possibly modify a template file or two.

User voting / rating
I'd recommend getting the Voting API and Fivestar to allow user voting/rating. Fivestar is a great and intuitive rating system that allows you to make any node type "rate-able". You can allow rating by content type and further by user role. Really a great and simple to use module if your site requires any kind of rating engine.

Just scratching the surface
This is really just scratching the surface of Drupal's capabilities as a community building website, or any kind of website for that matter. You'll probably eventually be checking out Views, CCK, mapping solutions and tons of other user contributed modules that further extend the reach of the Drupal CMS. I may put up a part 4 in this series in the future, though directed tutorials for the more advanced tools may be more than i care to undertake in the next few weeks. Good luck, and let me know if you get stuck on any of this, or have questions in general.


This website is powered by Drupal and hosted by: Drupal Value Hosting

Home - Powered by Drupal - Design by Artinet