A while ago I was involved in a Drupal implementation, which was my first in depth Drupal experience. I like the flexibility and the functionality that is direclty available, but fear the mechanism of modules (especially when updates occur in an enterprise/live environment).
Drupal works very well, but there were some mistakes I made;
- Never use the user that you initially create when installing Drupal.
The user user/1 has magical powers. Although you would not expect, it can do more than any other user. My advice: create a new administrator user account, assign it to the appropriate groups, and use this user (or any other) to administer your Drupal installation. I cannot recall where it went wrong in my case exactly, but in the mix of the Views and CCK modules I got stuck with content that could not be modified/removed by any other user dan my magical user/1. Keep this account when there is a need for a ‘God-mode’ only…
- Start in the language you use your site.
I happen to start in English, and naively changed the site locale to Dutch (my native language). It happens that all content created, is stored in the locale you create it in. Half my content ended up being English, and the other half Dutch. The English pages just did not show up, when the locale was set Dutch… Eventually I removed all content and started over again, what a waiste of time. Apparently there happens to be no tool to change the locale of my content…
- Make frequent backups of the database.
While developing your website (and playing around to define your functionality and look-and-feel), make frequent backups of your database. I had the problem that stuff got broken, and I had no clue why. It would have been nice if there was a way to compare the situation ‘before and after’, which would be possible if I could do a ‘diff’ on the SQL exported.
I am looking forward to discovering how to use Drupal in an Enterprise way. (And will be spending some time on integrating Drupal with Alfresco soon!)