I am a php developer using mostly CakePHP, magento, and wordpress. I want to create a community driven website aimed at the volunteering community that will let users sign up, create profiles, add previous voluntary positions, let organisations sign up and post jobs, etc. Is this something that drupal can handle? Is this what drupal was built to do?

I'm just wondering how drupal deals with custom methods. Say I wanted to have a user request a reference from someone, I'd have to write methods that did this. Would that be possible in drupal?

2 Answers 2


Yes, Drupal can do that. Part of that functionality is already built into Drupal core, and you can extend that with contributed modules. Both core and contributed modules can be downloaded from www.drupal.org. Two popular contributed modules you'll want to learn more about are CCK and Views.

Drupal is designed to be flexible and extensible without having to modify the core files. Instead, you install modules. Modules extend Drupal using the concept of implementing hooks, which means that you write a function that will respond when Drupal invokes a hook. For instance, if your module implements hook_menu, your module will respond when Drupal core builds up the menu structure.

If you cannot find a module that does what you need, you can write your own, building on functionality provided by Drupal core and other modules. However, a lot of functionality is already available, so maybe you do not need to write any custom code at all.

I advise you to download Drupal, experiment with it on a local server and figure out which modules you need for your site. When you run into trouble, ask more specific questions here, or on one of the support channels listed on drupal.org.


Two modules you'll probably want to help with this functionality:

Content Profile @ http://drupal.org/project/content_profile Webform @ http://drupal.org/project/webform

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.