A few notes from a new Drupal user
My name is Willy Smith, and one of the hats I wear is as webmaster for SSC (publisher of Linux Journal, among others). I've just gotten past the knee of the learning curve on using Drupal for two of our sites, Linux Gazette and A42.com. Dries asked me to write an article some time ago to share my experience.
I will start off by giving my background and basic attitudes about web site design. My own experience is very limited - I was hired by SSC in June of 2003 to do an experimental site, WorldWatch, which is now static but which ran on PHP-Nuke. Previous to that I had only done one website with a Windows program called Fusion; after that experience, I decided that I hated doing websites and played stupid if anyone asked me if I knew anything about it. I still know just enough HTML to let me do my job function, and have no desire to become an expert at it. My programming level for PHP is also rank beginner, although I am enjoying that experience and will make a major effort to become proficient at it. I have 30 years of programming experience, but most of it was writing real-time control and communication programs in assembler. I had some experience with databases, but it's from the late 1970's with mainframes. Although I've been a Linux user since 1999, I hadn't used it much on my desktop until last year. All this is to say that although I'm an experienced computer professional, most of what I'm doing is relatively new to me. I hope this will be encouraging to others who are just starting out.
It took me a month or so to get comfortable with PHP-Nuke, and I never tried to do anything fancy with it. But since I was primarily interested in content on the WorldWatch site, this didn't bother me and I did not pursue trying to make it anything more than it was "out-of-the-box". Eventually I felt frustrated by the limited functionality of this CMS. By the time I first started using Drupal, I was very excited that I would be able to do new things with it, and spent a lot of time playing around with it on a test site. When SSC asked me to take over the Linux Gazette site, which was already running, it made me very nervous because the site was already live. SSC had already spent a lot of time investigating Content Management Systems (you can read about that process in the Publisher's Blog at Linux Gazette here). But after a month (and with Dries' help), I am very happy with where we are and where we are headed.
The single most important thing I can advise you about designing a site with Drupal is that you should try to simplify the framework as much as possible. Because of its many features and flexibility, you can usually find several different ways of doing things. It pays to think about this carefully, to try on different ideas and find the best way for your purposes. The taxonomy in particular has a lot of power, but can quickly make your site difficult to manage if you make it complicated. It is easy in general to make the site complicated with Drupal, so the first temptation is perhaps to go overboard. The art is to make it simple, which is possible by thoughtful planning once you understand how it works. The most important example of this is that a great amount of care should be taken in designing the choices which a person who is submitting an article will see. Our experience is that the user will ignore too many choices, or perhaps will not understand what you are trying to do. Perhaps you have noticed that many visitors to sites are seemingly not even able to find the shift key on their keyboard, so asking them to understand taxonomy is really too much. Another serious consequence of undue complication is that the overhead for the webmaster/editor will be increased, and there will be problems later as site traffic goes up.
In the cases of both of the sites where we're running Drupal, my main goal right now is to let them run for a while and see what happens. Only then will I make more changes, even though there are already things which immediately come to mind. Drupal has a lot of tools which let you analyze what's going on with your site. So now I try to spend as much time as possible not only seeing what people are posting and how they are using the system, but also going through the statistics to see where people are coming from and what they are doing while visiting the site. I think that this should be a main consideration if you are investigating your options for a CMS. You may know what you want your site to be as far as appearance, functionality and content, but being able to analyze it and adapt it to changes which will surely be mandated to accomodate your readers and make your site popular is equally important in the long run. Drupal excels at this.
I would also recommend that you put your Drupal site up on a staging server to try it out, before you go live on the web. I spent a month just playing with it, posting articles, organizing and reorganizing taxonomy and books, and doing various other things before I felt comfortable. It was good to know that I could accidentally or on purpose delete things and make mistakes without affecting people who were visiting the site. It also gave me confidence to be able to navigate the substantial menuing system with all its "breadcrumbs". I also let some other people try it out, and they gave me useful feedback.
Drupal is an excellent system. I haven't found anything that I want to do yet that I can't functionally get done somehow with it. There may be some things which need to be polished, or some irritating minor points about the user interface, but I expect that these things will be changed over time as more people will have the same ideas and necessities. In particular, I look forward to having more functionality in how books are generated. There is a lot of potential in this module, and we hope to contribute to its development.
I will be happy to discuss these and other issues or answer questions on this forum.