Drupal is an excellent framework not only for building rather big social sites as amazee.com but also for creating a very easy to use CMS for customers.
But in order to give the core components the fancy bling bling your customer probably wants, don't miss to add some extra flavor using the following modules. After our own experience these are the really crucial ones. Please note: There might be similar alternatives – so keep on searching for the solution that fits your needs best.
- CCK (Content Construction Kit)
Sooner or later you will most probably need custom fields for your content pages or user profiles. This is what CCK is the perfect solution for. Also inevitable if you are using the great Views module.
- CKEditor (and IMCE)
Well, you might be a techie and really in love with html code. But are your customers as well? So – at least for their role – you'll need a WYSIWYG editor. There is quite a variety of editors. For most of them you need the api module WYSIWYG to use them in Drupal. For CKEditor there is a Drupal port which you can install without such an api module. If you'd like to have an image and file browser as well, try IMCE. It integrates fine with most of the editors.
At least in 4-lingual Switzerland there's often now way around making your site multilingual. Internationalization is a collection of useful modules which enhances Drupal's built in language capabilities if you don't just want to say "Welcome" to your users but also "Willkommen", "Bienvenue" and "Benvenuto".
Very nice and easy to use module. Do you want to aggregate images from different pages on a preview page with Views? Or automatically resize, scale and/or crop the huge images your customers upload directly from their trillion mega pixel cameras? Imagecache will do all the work for you.
If you don't want your pages appear under their rather ugly Drupal "clean" URLs (as node/123), don't think twice and get this module. It will create search engine and user friendly URLs, customized after your liking. For Umlaut users, here's a tweak on how to deal with them.
One of the most powerful (if not THE most powerful) Drupal modules. Aggregate ANY content from ANY pages/blocks in your Drupal site and display it in ANY matter on a new page or in blocks.
Be it an order or an advanced contact form: Webforms is your friend. If you'd like to place your forms inside blocks, get the module Webformblock as well!
- Administration menu
This nice js menu sits at the top of your site and helps you access some quite nested admin sections much faster. If you're working on a site for one week it will save you about an estimated average of 53498 clicks.
- jQuery / jQuery UI
For a developer, this is a crucial module. It gives you plenty of different nice information about what is happening in the background of your Drupal installation. Indispensable when you are developing a new site, but needs to be disabled on a production site!
- Theme developer
As important as the Devel Module, but rather fitted to the needs of a web designer. Still in beta, it gives you the great possibility to get the following information for every element on your site: which theme function is used, which other can be used and the content of the argument passed to the function. Very great during development, but as the Devel Module: disable or better uninstall it on production sites.
Drupal's got all the options you need when creating content. But do your customers need all of them as well? With form filter you can just hide selected options from selected roles. Haven't you been looking for such a module for ages? We did and were happy to finally find it.
- Google analytics
Just an easy integration of the world dominating Google analytics. Enable the module and insert your GA code. That's it.
So, why wait any longer? Get the latest stable Drupal version from Drupal.org and start building cool sites! Any help needed? There are many user groups around the world, for example the Drupal User Group Switzerland (DRUGS). And if you know about a module that should really appear in the above list: Tell us!