As we all (Drupal developers) know, Drupal is a powerful CMS. Why?

At this moment writing there are more than 2,5 million users on Drupal.org, 23.678 full modules,  9.925 sandbox modules are hosted under Drupal.org and going on! This is a huge number for an Open Source CMS community and it is a common though that these numbers are the big advantage of Drupal community.

Let's come to the real problem now: Should I create my own module for a project? I can regularly see developers coming from other CMS platforms or with strong knowledge of PHP etc when they decide to create a module - that usually already exists on Drupal.org projects list - when they simply have to dive a bit more into Drupal. They totally don't follow that we call "the Drupal Way".

This is by far the worst scenario. Open source is built upon this fact: Everyone can use and build on others' code.

So, before you decide to create your own module think a lot about the issues below (they are not ordered by any priority):

  • Are you sure there is no Drupal module to do your job?
  • Did you search enough?
  • Did you ask enough people?
  • Do you really know how to build a module?
  • Are you sure that the problem you are about to solve needs a new module and not some combination of existing Drupal modules?

Assuming all the above I came up with a flowchart diagram. It is a Drupal module generalized guide for solving a Drupal work issue either with a custom module, a combination of other modules or by hiring a developer (yes, we must confess it, good Drupal developers do have strong skills not for every kind of Drupal functionality).

Get the large image diagram below and feel free to express your opinions about the proccess.