Full Site Buildout: Part 1 - Putting the Puzzle Together

Part 1 of a series: Building out a full Drupal site in a weekend.

Before you start building your website, you need to get all the parts of the site together, and have a good plan for what you'll need and how you'll do it. For many organizations, this can be a huge hassle, as you'll have to go through planning meetings, make diagrams, have all kinds of changes, and end up pre-stressed... and that's before you start working on putting the site together!

Luckily, for this website, the requirements are pretty simple: I can do whatever I want. But I can't get started from that point, so I put a few requirements down on paper, then grabbed everything I needed.

Requirements:

  1. The site will have many users—hopefully hundreds, and possibly (but unlikely) thousands. The site must be able to handle 10-50 logged in users at the same time.
  2. The site will have many content types, but there will be two or three main ones for the majority of the site's content:
    1. Article (sorted by main section)
    2. Website Example (also sorted by main section)
    3. Blog (free-tagging)
  3. Each user will have his own blog, and the blogs will be aggregated on the /blog page. Blogs will also share a free-tagging taxonomy with all the other content types.
  4. There will be a forum, with four or five areas for people to discuss relevant topics.
  5. There will be the ability to post videos, MP3s, etc. This functionality will likely not be used for a while though.
  6. Users should be able to register and start posting content quickly and without hassle. The website should be extremely easy to use.
  7. Moderators should be easily able to remove offensive content.

After looking over the requirements, there were a few important modules I picked out for the initial build-out (in addition to about 20 others):

  • Fasttoggle: To help administrators quickly remove offensive posts, promote items to the front page, etc.
  • Advanced Profile Kit / Advanced Forum: Easily the best way to get a forum running on Drupal quickly.
  • CCK + Views: No site should ever be without these two powerful modules.
  • Masquerade: To help me as I build the site, so I can see what kind of things users will be able to see / not see. Very useful tool!
  • Filefield + ImageField + ImageCache: The easiest way to handle pictures on your pages and views.
  • Fivestar: An easy way to let even anonymous users vote on content, and help promote the best content to where it belongs: the top of the list.
  • Zen: The best theme system for quick Drupal theming, imo.

To put it all together, I unzipped everything, put it in the proper place inside my drupal directory (using Drupal 6.12), and installed the site on my Macbook with MAMP. MAMP (like WAMP) is an easy way to emulate a LAMP stack right on your computer, without having to deal with any messy settings. After you set up the site, it's easy to transfer it out to your live server (which I'll do Monday); just transfer the database, copy over the files, and you're done!

Coming soon... Part 2: Theming the site, building functionality.

Comments

I hate to say it but you probably will want to avoid APK if you want to get this done this weekend. It's very touchy and folks are having a lot of trouble with it and I simply don't have the spare cycles until July.

Michele

Have you tried using the flag module for offensive, favorite, etc. functionality? It's built very generically and is worth checking out.

You might also want to check out the devel module as it provides all kinds of great functionality for development and performance testing including a masquerading option

@ Michelle: Well, I'll try it, and it it gives me some pushback, I'll move on quickly ;-)
And I'm in no huge rush on this website, so please feel free to take your time. I know you need it! (Thanks for what you do).
@ Michael Dance: I do have Devel installed; I usually don't get around to touching it until I'm coming closer to finishing the site, since I plan out most of what I'm going to do beforehand. I use it more to debug, or to find an odd theme function or two.
Never tried Flag, though... will have to grab it and see how it works.

There's been a bunch of folks in the queue having troubles so I took an hour today to walk thru installing APK on a fresh site to see if I could figure out what was wrong and it actually is in pretty good shape. There is one known bug with the user tracker view but, otherwise, worked fine for me. So maybe you'll have good luck with it. :)

Michelle

@ Michelle - I haven't quite had a chance to put it through its paces yet... I'm working on more community aspects of the site. But I will soon!