How to enhance Drupal functionality?

Specifically for Modules If there are any problems with specific module or questions about it, so you have two places to start your search: Contributed Modules Handbook or Core Modules Handbook. Module downloads page is another resource to look for bugs, problems or questions in contributed modules. To see if someone has already asked the question, click on “Bugs and feature requests” under your particular module. If that doesn’t help, you should go to the forums. Concretely for Themes You might go with your thoughts back to the past and find out that in case of using old versions of Drupal some themes don’t seem to show up. You needed to download and install them, if they run by the phpTemplate Engine. There is no worries in the case of using Drupal 7, because the phpTemplate became the default theme engine. If you face some problems with changing and implementing with particular themes, check out the page with Theme downloads. The Forums Forums is just really nice resource, because here your question will reach a lot of people, usually in the “How to…” section. Be polite, and make sure that you’ve searched for your answers already. If you can’t find answers quickly, don’t be shocked. There are chances, that someone else has already asked and answered your question, but certainly you have to understand, that search may not find it right away. Advanced customization To customize your install of Drupal by changing the code is the next step in the case, when your answer was not anywhere listed above. Congratulations, you’ve entered customizing the code to match your needs. It will be useful for sure to look at the Contributer’s Guide before start, and your results may become a great benefit for everybody. There is a Theme Guide and a Module development guide. Keep in mind, that application program interface (API) also can be very useful. It is interactive repository of information on all the modules, functions, variables, constants, etc. All from the listed above is used in the core Drupal code, and it’s excitingly helpful if you want to figure out the purpose and relationships of different parts of Drupal. You will be very surprised if your new module, function, phpcode snippet, etc. become valuable for the whole Drupal community. The best ways to reach that goals – add it to PHP page snippets, post it in the forums, or apply for getting access and add it there.