Intro to Drupal

Intro to Drupal: Build a Simple CMS

Dec 17th in Other by Steve Jamesson

Drupal's popularity has lately been rising. It's a great platform for setting up content management systems and community driven sites. Here, I'll give a general overview of Drupal and build a simple site for a fake client. We'll begin with outlining the client's needs, installing and configuring a few modules, creating user roles and assigning permissions, and finally we'll add in some content. We won't go into theming, as it's a bit out of the scope of this article.

PG

Author: Steve Jamesson

Steve Jamesson is a web developer currently living in Asheville, North Carolina. He specializes in front-end coding, content management systems, and big-picture thinking. When not coding, he's usually sampling some good beer, though the two often occur simultaneously.

A fake client

Let's start off with a fake client.

SmartMarks is a small marketing consulting firm, with 4 employees. Each employee would like their own blog. The site will need a few pages in addition to the blogs:

  • Home
  • About
  • Contact
  • Links
  • Blogs

Shannon, the business owner, wants full control over the site. The rest of the employees (Bill, Jean, and Terry) should only be able to write blog entries, but Bill may publish links.

The contact us form will accept the user's name, phone, email, and a short message. Submissions of the contact form should be sent only to Shannon.

Sounds pretty simple, huh? Well with Drupal, a lot of this core functionality is already built in. We'll use as much of the core functionality as we can, and we'll add in a few other modules to make building this site a breeze!

Install some stuff

First, start out by installing Drupal. I'll be developing this one on my local machine, but you can install it anywhere you wish. For this tutorial, I'll be working with Drupal 6.x.

To install Drupal, simply download (http://drupal.org) and unpack it, create your database, and visit http://localhost/ (or your own dev URL). Installation should be relatively simple for ya.

You'll need to create a config file. You can copy /webroot/sites/default/default.settings.php to /webroot/sites/default/settings.php. Be sure to make it writable to the server. Also, leave a copy of sites/default/default.settings.php where it is; Drupal will use it during installation.

After your config file is created, you can go ahead and install Drupal.

On the next screen, you'll setup the first account for the site. This is the main administrator, or super user. This user will have permission to do anything and everything on the site.

And you can go ahead and specify a few server settings. If your server is configured for mod_rewrite URL rewriting, then you can go ahead and enable Clean URLs now. This will change your URLs from something like /?q=node/3 to just /node/3.

After successful installation, you can visit the site and login as the superuser.

Get some modules

For this site, we'll be using a few contributed modules. We'll have to download those and activate them before we can use them.

All modules that you'll install will be placed in the directory /webroot/sites/all/modules. If the modules directory doesn't exist there, just make a new one and name it modules.

Make sure to download the modules compatible with the version of Drupal that you're using. I'm using Drupal 6.x.

Admin Menu

This module is a must have for working with Drupal. It's not totally necessary, but it will save you loads of time.

Download it over at http://drupal.org/project/admin_menu and place it in /webroot/sites/all/modules

PathAuto & Token

Next, go grab a copy of PathAuto and Token. PathAuto is a module that will have Drupal automatically generate nice URLs. PathAuto requires Token to work.

Meta Tags (Nodewords)

Originally titled NodeWords, the Meta Tags module allows users to specify common meta tags, like meta keywords and meta description.

Get a copy of this module over at http://drupal.org/project/nodewords

CCK (Content Construction Kit)

CCK allows you to easily create new content types, without ever having to write any code! We'll use this for the company's external links section.

Get CCK at http://drupal.org/project/cck

Views

The views module allows you to configure custom views for displaying content. They're very useful when you have complex content types and categories. Here we'll use Views to display Links.

Get the Views module at http://drupal.org/project/views

Install some modules

After you've downloaded and unpacked the above modules into /webroot/sites/all/modules, you can go ahead and install them.

Visit http://localhost/admin/build/modules to turn some of them on.

For this site, we'll need to install the following. Simply check the boxes and click "Save configuration".

  • Administration - Administration Menu
  • Core - Blog
  • Core - Contact
  • Core - Path
  • Content - Content
  • Content - Text
  • Other - Meta tags
  • Other - Pathauto
  • Other - Token
  • Views - Views
  • Views - Views UI

Content Types

Before we work with users and roles, we'll create our Links content type. Each Link will need a title, URL, and short description.

What's a node?

Almost every piece of content in Drupal is stored as a single node. All nodes have a title and an optional description. By creating content types, you can add fields to the content type to extend the node.

In our case, each Link will need one additional field that's not provided by default, the URL.

Create a Link content type

We'll create a content type called Link. We'll then add a field to the content type called URL.

Visit http://localhost/admin/content/types/add

In the name field, enter the human-readable name. In the type field, enter a unique name for the type. The system will use this name internally. You can make it up, but generally it'll look like a variable name, lowercase and underscored. Also enter a short description of the content type.

Next we'll modify slightly this content type from the general node. In the "Submission form settings" group, instead of "Body", we'll title the body field "Short Description".

Next, we'll edit the "Workflow settings." Allow the link to be published by default, and disable automatic promotion to the front page.

And finally, disable comments on the Links.

Save the content type. If you visit the "Create Content" page, you'll now see the new content type, Link.

Additional fields with CCK

So we've got our base Link content type set up. But we need to add an additional field to each Link: URL. Visit http://localhost/content/types and "Manage fields" for content type Link.

Add a field titled "url", and name it "field_url". Choose text data and text field.

Save it. Another page will come up, with some more options. The defaults are ok for this, so just contine by clicking "Save field settings". After this, the Link content type should appear like this:

Views

Now let's set up a view for our new content type, Links.

Views can become quite complex, but for our example, we'll keep it very simple. We'll make a page view that displays Links. Plain and simple

Visit http://localhost/admin/build/views to get started. Click the tab "Add" to create a new view.

Name the view "Links" and choose type node.

The next few pages can grow quite complex, but be paitent. A bit of practice will get you more comfortable with views.

Firstly, we'll want our Links view to be a full page. So add a page display.

We'll have to make some settings next. Change the name and title of the view to Links. Set the "Row Style" to node, and choose to display teaser and links.

Make sure you're clicking "Update Default Display" every time.

Set the Path to "links". This will be the URL path and our page view will show up at http://localhost/links.

Then set a menu for the view. Choose "Normal menu entry", title it Links, and put it into Primary Links. (More on menus a bit later).

The Basic Settings area should be similar to this by now:

And finally for the view, we'll need to setup a filter. The filter will allow us to restrict the view to only display nodes of type "link".

Add a filter by using the "+" button at the top of the Filters box.

Scroll down until you find the filter titled "Node: Type". Check it's box, then add it as a filter.

Choose a node type of "Link".

At this point, our whole view should look very simliar to the following.

Save the view. We'll come back to it later.

Users, Roles, & Permissions

Next we'll set up some user roles and permissions, and then we'll create some real users. Refer to the site requirements above to refresh on what our users need to be able to do.

User settings

Only SmartMarks staff will be able to have accounts. Public registration will not be necessary for this site. So we need to restrict regsitration at http://localhost/admin/user/settings and disallow public registration.

Roles

We'll need a couple of roles. Since Shannon wants full control, we'll need an Admin role. Since Bill can modify certain things that others can't we'll setup a Manager role. And finally, the rest of SmartMarks' employees will need to belong to an Employee role.

Visit http://localhost/admin/user/roles to get started.

Create a role titled Admin.

Repeat the process to create two more roles, Manager and Employee. We should have something like this now.

Perimssions

Next, we'll define permissions for each of the roles. Visit http://localhost/admin/user/permissions to set up permissions. Set them up like so.

You may be wondering why we didn't give Manager too many permissions. This is because we'll set Bill to also be part of the Employee role, so Manager simply needs to be able to add and edit links. All of the permissions associated with Employee will be granted to Bill.

Now that we've got roles and permissions going, we can create our sites' users.

User Role
Shannon Admin
Bill Employee, Manager
Jean Employee
Terry Employee

Go ahead and create these users at http://localhost/user/user/create, assigning roles to each of them. We should end up with something like this on http://localhost/admin/user/user:

Creating Content... Finally!

And finally we can start creating content. We're well over halfway done at this point.

Create pages

First off, let's begin with the home page. Visit http://localhost/content/add to create a new Page.

Enter the page title and some sample content for the home page. Set up a menu item for this page. You may also enter some meta tag info if you'd like.

Leave the URL alias setting alone. We'll let Pathauto handle it, and we'll set that up shortly.

Save the page and create another for the About page.

If you now visit the main page, you'll notice that we've got a menu already going. These items come from the pages we just made and from the view we made for Links earlier.

Create some Links

Next, we'll create a few links. Visit the create content page again, but this time choose Link. Create a few links.

After we've created a few links, we can visit the view for Links. Visit http://localhost/links to see our links. Here's what I've got. Remember this is coming from the view we made earlier.

Contact form

Drupal's built-in Contact module is totally sufficient for SmartMarks. We'll just need to set it up. Visit http://localhost/admin/build/contact and click "Add Category" to begin.

Add a category for "General Enquiries", enter Shannon's email as the only recipient, and set "Selected" to yes. This will cause this category to be the default for the contact form. (You could setup multiple categories to handle contact submissions for areas such as Sales, Support, etc.)

You may now view your contact form at http://localhost/contact

Create some blog entries

Last of the content, we'll make a few sample blog entries. We could log out, and then log back in as each user individually, creating a blog entry under each. Or, since you're already logged in as superuser, you can create a few entries and change the author to each user.

Visit http://localhost/node/add/blog and create a sample entry.

Under the authoring info, enter shannon. This entry will become Shannon's first blog entry.

Repeat that to create a blog entry for the other users (bill, terry, jean). Then visit http://localhost/blog to see the user blogs.

Finishing touches

We still have a few things to tidy up before we're done. We need to setup pathauto to handle automatic URL aliases, finish our menu, check out each user account, and then we'll add a few blocks to demonstrate a little about blocks.

Menus

Let's start with menus. We've already created a few menu items beneath the Primary Links menu. We did this when we created the view for Links and when we created each static page.

Visit http://localhost/admin/build/menu. Here you'll see several menus available. Choose Primary Links.

Choose "Add item". We'll create an item for the Contact form.

Note that the path is relative to the site root. So don't enter "/contact"; just enter "contact".

Repeat the above to create another menu item for user blogs, using a path of "blog". Then visit the tab "List items" to view all the menu items within the Primary Links menu. Now we can reorder the items using the drag and drop handles on the left.

Make sure to save!!!

Now our primary links in the header should be complete and sorted.

Pathauto

Next up, we'll setup pathauto to handle our nice URLs. Visit http://localhost/admin/build/path.

Before we configure paths, let's remove any existing URL aliases. You can do this by visiting the tab "Delete Aliases", then just go ahead and choose all aliases and delete them.

Now we'll setup the automatic aliases under the tab "Automated alias settings".

Open up "Blog path settings" and check the box to have the system "Bulk generate aliases".

Now open up the "Node path settings." Here we'll set up a few rules to handle paths for different node types. Use the replacement patterns (this is where the Token module comes into play) to set up appropriate paths. Make sure your URL alias scheme will produce only unique URLs! And be sure to have it "Bulk generate aliases."

Then save. Then view "List" again. You should see new aliases made for all of our existing content.

A note about URL aliases: Don't forget to delete aliases if you change your URL scheme and regenerate aliases. Deleting and recreating aliases may seem a bit scary, but the more you do it, the more confident you'll become in your URL scheme.

Blocks

Shannon just informed us that she wants the site to highlight the company's recent office move. This is a good opportunity to go over blocks.

A block in Drupal is simply a 'chunk' of content, be it a list of nodes, some static HTML, a few images, or whatever. We'll set up a simple block to hold the notice about the office move.

Visit http://localhost/admin/build/block. Add a new block by using the tab "Add block".

After adding a block, you'll have to assign it to a region for display. Assign it to the left sidebar on http://localhost/admin/build/block, and don't forget to save!!!

You may also sort them with the drag handles, like menu items.

You should now see the new block displayed in the left sidebar after save.

Check user accounts

Now we're almost there. Just want to login as the users to make sure they've got the right permissions and that they can access the links to allow them to get stuff done.

Log out of the system and log back in as Shannon. Shannon is our administrator, so let's make sure she's able to create/edit all content. After logging in as Shannon, we should see a link to create content.

Go through and login as each user. Just take a look to make sure each one has the permissions and links available to get stuff done. If they don't, try going back to administer user permissions, and verify that they've been granted the correct permissions. Or also make sure you've correctly assigned roles.

Set the home page

We also need to tell Drupal to use our home page as the default home page. You can do this under http://localhost/admin/settings/site-information.

Before you change this data, though, we need to grab the node id of our home page. Visit our welcome page at http://localhost/welcome-smartmarks. Click or mouse-over the "Edit" tab; we just need the node's ID.

Our home page has a node id of 1, so we'll use that for the default home page. Visit http://localhost/admin/settings/site-information and enter some data. At the bottom, you'll see a field for the default home page. Enter "node/1". Note that we're using the node id becuase of pathauto. If we were to change the URL alias of the home page, then we won't have to change its node id, since it will remain the same. Drupal will automatically print out the correct URL alias.

Summary

This overview only scratches the surface of what Drupal can do. Hopefully I've given you a good overview of how to get started with the system in building this very simple CMS.

Themes

Drupal supports multiple themes, and each user can even chose their own theme.

Building a custom theme is out of the scope of this tutorial. But you can download and install some contributed themes. A good starting place is over at Theme Garden. Download and unpack themes into /webroot/sites/all/themes, then enable and configure them at http://localhost/admin/build/themes. Note that whenever you activate a new theme, you'll have to visit the blocks page to assign blocks to the theme's regions.

If you're ready to start building a theme, you might want to check out the Theme Guide.

Good luck!

Good luck in your Drupal ventures, and feel free to ask questions! Also check out http://drupal.org for more information and helpful articles.


Related Posts

Check out some more great tutorials and articles that you might like

Enjoy this Post?

Your vote will help us grow this site and provide even more awesomeness

Plus Members

Source Files, Bonus Tutorials and
More for $9 a month for all TUTS+
sites in one subscription.

Join Now

User Comments

( ADD YOURS )
  1. PG

    Ben Reid December 17th

    Wo! Need to spend some time with this one.

    Never been over keen on Drupal but might look into it after this.

    ( Reply )
  2. PG

    insic December 17th

    wow! drupal, i a drupal fun before i have my own CMS.

    ( Reply )
    1. PG

      Phil May 28th

      me too, i learn drupal before, but now mambo and joomla..

      hi, your are so cure (~_^)

      ( Reply )
  3. PG

    Phillip Raffnsøe December 17th

    Thanks for this wonderful tutorial! I’ve been wondering for several weeks how i should build some friends and my website.

    I tried several CMS’s. Wordpress is too… well bloggish, Joomla is too bloated for me, and straight HTML is too static for our needs.

    So looks like I’ll have to look at Drupal a little! Again thank you very much for this tut!

    ( Reply )
  4. PG

    grzesiek December 17th

    i hate drupal – it`s too complicated. it takes ages to do some simple tasks and its hard to fit your layout in it. in drupal, you have to install like
    twenty modules to achieve what you want (most of them are poorly supported).

    wordpress is far more flexible and simple. save yourself frustration and switch to wordpress.

    ( Reply )
  5. PG

    chris simpson December 17th

    More of a Joomla person myself, but will look into this.

    @mods – Noticed a typo – “Fniishing touches” heading.

    Nice! :)

    ( Reply )
    1. PG

      Phil May 28th

      good job@!

      ( Reply )
  6. PG

    Furley December 17th

    Drupal is a solid system, but there is definitely an intial learning curve to get over. if you can take the time to familiarize yourself with it, you’ll have a pretty flexible system for content management.

    great tutorial!

    ( Reply )
  7. PG

    Alex December 17th

    Good post on Drupal. I’ve tried it a couple of times, but have never had the same sort of development speed as I do with WP. Maybe I’ll give it another try.

    Also, there’s a typo in the Finishing Touches header…currently reads “Fniishing touches”

    ( Reply )
  8. PG

    Andrea December 17th

    Hell you wont really to make me creazy.. now i really don’t know what CMS choose: make my own, build one with a framework like CAKE, making something with Wordpress or Joomla and now looking to Drupal.. you make me to know all of them.. but i am so low on time…

    ( Reply )
  9. PG

    Chad December 17th

    I see contract jobs for Drupal and I sort of shy away from them. This tutorial is another milestone into why I think Drupal just makes things more complicated then they need to be. Thanks for the tutorial because at least now I know where to start if I happen to have someone that is completely dedicated to using Drupal. Still looks like I have a lot to learn though.

    ( Reply )
  10. PG

    Kevin Quillen December 17th

    Wordpress isn’t as scalable as Drupal.

    ( Reply )
  11. PG

    Kevin Quillen December 17th

    I love how my comment got filtered out because I had some links in it. All they were were some examples of custom Drupal based sites our company has done to prove that Drupal isn’t ‘complicated’ or ‘hard’ to use.

    We do custom programming and create modules and themes for each client, extending the functionality and performance of Drupal tenfold while cutting our development time by 75%.

    ( Reply )
  12. PG

    Steve Jamesson December 17th

    Funny how your eyes can check spelling of most of the content, but it skims right over the HUGE headings! :)

    Kevin’s right; Drupal is much more scalable than Wordpress. So is Joomla. Wordpress is by far one of the easiest systems to use, even as a CMS. And it’s got one of the friendliest administration areas, especially if you’re developing the site for a client.

    But for sites that require extensive permissions, content types, even taxonomies, Wordpress just can’t keep up. Wordpress is, and always will be, a blogging platform. It’s great, no doubt. But it’s still a blogging platform.

    ( Reply )
  13. PG

    Matt December 17th

    @grzesiek : I think both wordpress and drupal are excellent piece of software each in their own category.

    Wordpress is not (not) a CMS. I tried once to manage a rather big project with it before descovering drupal and it was like walking through the Valley of Hell.

    Drupal is a scalable, powerful, customisable Content Management System. A true one, hard to learn but a killer once you know. It saved my a** on numerous projects.

    I now use the 2 of them frequently but each one for specific puproses. For clients who needs to “speak” with an excellent “blog” app I go with wordpress.
    For clients who needs special content type with numerous writers and workflow validation and manage a community of readers I go with Drupal.

    ( Reply )
  14. PG

    milos December 17th

    hi, thanks for this great rundown on drupal, ive always been a bit wary of jumping into this cms.
    any chance you could make a post on theming of a drupal site. am currently using wordpress which rules for theming.

    ( Reply )
  15. PG

    Anji Mayfield December 17th

    I would love to see a demo of the completed site that was built with this tutorial.

    ( Reply )
  16. PG

    Wazdesign December 17th

    Hey, I have Used Drupal some time ago. But not comfortable enough.
    I love wordpress. i thinking of using it again.

    ( Reply )
  17. PG

    Olivier December 17th

    Very happy to see more and more about Drupal on Nettuts !! Nice tuto…

    We just developped a new whislist site based on Drupal with a friend. Have a look @ http://www.Kadolog.com (sorry, only in French for now…)

    ( Reply )
  18. PG

    shane December 17th

    First off great tutorial on Drupal, well done. It sure sheds some light on getting started with Drupal. About Drupal, I recognize it is a truly powerful CMS but sure seems a bit complicated. I am a modx user and things just seem that much simpler in modx (but then again your own tools are always easier to grasp than others).

    ( Reply )
  19. PG

    mkjones December 17th

    This is a great example as to why I stopped using Drupal and went over to 100% WordPress.

    75% of this tutorial is wasted with Drupal set-up and management. Work that really shouldn’t be so difficult and time consuming. For example, path-auto, why has this never been imported into the Drupal core! Everyone uses it, yet you have to get hold of it, upload, install, configure and die a little bit inside while you wait.

    And look at the Drupal admin interface. Its like ‘Checkbox City’ a truly horrible user experience.

    For a project such as the one in this tutorial anyway, use WordPress.

    ( Reply )
  20. PG

    Lee December 17th

    We need more Tutorials on Drupal!!!

    ( Reply )
  21. PG

    Sam December 17th

    Thanks for the tutorial. Drupal is not for everyone. If you just plan on a blog with a few pages, then Wordpress is the way to go. However, if you want additional features like social networking, groups, forums and much more drupal is the way to go. It has a higher learning curve in the beginning.

    Check out spreadfirefox.com to see what you can do with it.

    ( Reply )
  22. PG

    calvin December 17th

    Haven’t read the article yet, i’m sure it’s great.

    I just wanted to comment on the picture of the author. classic.

    ( Reply )
  23. PG

    Steve Jamesson December 17th

    @milos – I’ll try to work up a tutorial on theming drupal. It’s a bit more involved, but it’s not really not that much more difficult than theming wordpress. The drupal theme system is actually pretty powerful, and it’s really fast. There are no template tags; instead, like wordpress, drupal outputs PHP variables directly into the template files.

    Wordpress does rule in many ways. If the site can be built in wordpress, then by all means you should stick with it. You should start considering drupal or another CMS when you first realize that wordpress can’t keep up. As an example, what if you had two category lists:

    * Tastes
    * * Sour
    * * Sweet
    * Food
    * * Apple
    * * Peach

    Wordpress can’t handle queries where an item meets two of these terms, such as: “Show me all sour food”. In wordpress, you’d have to setup endless category trees, resulting in lots of manual work and huge potential for inconsistencies.

    It’s in these kinds of situations where you should consider breaking out of using wordpress and looking into more powerful CMSs.

    ( Reply )
  24. very interesting tutorial! thanks a lot!

    ( Reply )
  25. PG

    grzesiek December 17th

    WordPress is not scalable? That`s bul***t! Just install WP Super Cache and it will scale well even on hight traffic sites. And we can even compare response times between Drupal and Wordpress. So this argument is hilarious.

    ( Reply )
  26. PG

    Matt December 17th

    @mkjones : The “clean URL” functionnality is in core to allow you to set friendly url (If i am correct)

    Anyway, if you are that time stressed on a project for a module install to annoy you you definitely need to go on worpdress.

    Yes, it is “check box city”. This is why Drupal is highly customisable.

    ( Reply )
  27. PG

    grzesiek December 17th

    Wordpress can’t handle queries where an item meets two of these terms, such as: “Show me all sour food”.

    Not true. Just setup tags. You can filter posts with tags: food + sour :) ))

    ( Reply )
  28. PG

    Kevin Quillen December 17th

    WP does not scale because it is not a CMS. Don’t try to fool yourself into thinking it is.

    When you’re developing and selling/producing projects for clients, the only logical choice you can have is Drupal or Joomla. Wordpress simply will -not- cut it. Training between the two also showed that Drupal was a lot more straightforward for the average Joe client, because we stripped the interface down to only what they need.

    On top of that… Drupal has a core Blog module to replicate most of WP.

    Trust me, we did the work and research comparing the two.

    ‘Super Cache’ may help with things like Digg-effect, but it is not a be-all end-all silver bullet to scaling issues.

    ( Reply )
  29. PG

    Matt December 17th

    @grzesiek : Scalable in terms of traffic, I agree with you, it can be. But scalable in terms of content types for example (other than a “page” or “article” one) it can’t cope with it. It’s an excellent blog system, not a content management system. And Drupal is not an excellent blog app, damn not, too complex.

    As I said I use them both and did not find yet the one tool that rule them all.

    ( Reply )
  30. PG

    Kevin Quillen December 17th

    “And look at the Drupal admin interface. Its like ‘Checkbox City’ a truly horrible user experience.”

    Better than not having granular security and options whatsoever.

    It doesn’t come out of the box setup to your needs. A default config will work, but for serious project use, it -will require configuring-. Are you guys real developers or hobbiests (sp?)? Lot of whining goin on.

    ( Reply )
  31. PG

    Steve Jamesson December 17th

    @Matt – the built in clean URL only changes paths from /?q=node/2 to /node/2, effectively removing the query variable ‘q’. This is different from URL aliases, where you could assign something like /about-us to /node/2.

    @grzesiek – sure, I’ll give you that. But tags aren’t (core install) applicable to pages. Only to posts. This can become complicated and tricky, especially if you’re using pages to represent a different content-type. But if it works, it works!

    ( Reply )
  32. PG

    David Hellmann December 17th

    wordpress > drupal!

    ( Reply )
  33. PG

    Kevin Quillen December 17th

    Wordpress is a blog, it is not a CMS.

    Here is a site that is managed with Drupal:

    Mission Metallica

    Wordpress wouldn’t be able to do that.

    ( Reply )
  34. PG

    Nick Brewer December 17th

    I am using Drupal to develop a site at the office, but personally find it over complicated, and the markup bloated. However, I see its application with larger more complicated projects.

    I still find it easier to push Wordpress to its CMS limits, than to use Drupal for everyday projects. I would highly consider a custom coded solution rather than drowning in Drupal.

    ( Reply )
  35. PG

    Chad December 17th

    I’m just curious to why no one has mentioned Expression Engine in all of this. That is a tutorial I would really like to see. I do realize that yes you have to pay for Expression Engine, but from everything that I read that it is robust and very scalable.

    ( Reply )
  36. PG

    pe5to December 17th

    for a full featured site you have to have the TinyMCE( or some other WYSIWIG) module and the enable file upload. Also Imagecache to control image presets for CCK and Views. Would be nice to see something here about Druplash/Druplex ( Drupal +Flash/Flex via swfAddress).

    ( Reply )
  37. PG

    Zy December 17th

    Well who is better? Drupal or WP? I think this is a question in terms of religion!

    There is no one single answer to this.

    WP is good for some tasks that qualify for user needs, like blogging, posting a few images, display fancy comments, preview some flickr feeds and that’s it!

    Therefore Drupal does other heavy things, which is needed for heavier functions or even bigger applications (Yes we can use Drupal as an application framework!).

    In fact.. WP does not fit here to compare with :) Here we could talk only about Cake PHP, ExpressionEngine, or something to compare Drupal with.

    In my own practice, I used Drupal to develop various websites for 2 years now, and I can say, that Drupal is perfect for any task, that client could go for. But it’s time consuming.

    My own experience with CMS’s are as follows:
    Drupal: 2+ years,
    EZ Publish: 3 months,
    SilverStripe: 1 month,
    Joomla: 1 year,
    CodeIgniter (core of the ExpressionEngine CMS): 2 months

    From this example, all of you must understand, that only if you try some number of available different applications / software nowadays, only then you can compare them and state your opinion.

    And by the way, quote from WP main website: “More simply, WordPress is what you use when you want to work with your blogging software, not fight it.”

    Done.

    ( Reply )
  38. PG

    Jim Jamesson December 17th

    Comparing Drupal to Wordpress is comparing apples and oranges. Drupal and Wordpress are two different platforms for two different purposes.

    Wordpress has it’s place, and so does Drupal. There is no such thing as:

    Wordpress > Drupal or
    Drupal > Wordpress

    So like, Wordpress is good for some things, while Drupal is better for others. I feel as though anyone that is hellbent on Wordpress being better than Drupal has the following thought process:

    a) Wordpress will work better than Drupal for this particular project

    or

    b) I do not have the skillset to realize the full potential of Drupal, Wordpress seems much easier so I’ll go with it.

    ( Reply )
  39. PG

    Kevin Quillen December 17th

    ^Winner

    ( Reply )
  40. PG

    xQlusive December 17th

    A really stunning and complete intro guide! Thanx !!

    ( Reply )
  41. PG

    Zy December 17th

    Where is my comment ?

    ( Reply )
  42. PG

    M.A.Yoosuf December 17th

    great, i thought if making it, but you did it ;) , also if you can complete the theme part, that will be helpful for every one

    M.A.Yoosuf
    http://yoosuf.awardspace.com/2008/11/drupal-cms-how-to-develop-a-custom-theme-part-1/

    ( Reply )
  43. PG

    M.A.Yoosuf December 17th

    @David: yo are correct

    ( Reply )
  44. PG

    Jason December 17th

    I’ve done an equal amount of sites on Drupal, and Wordpress.

    As both a designer and a developer, the user interface on Drupal frustrates the hell out of me, a computer savvy person, to no end. The choice to use it is an evil out of necessity: because it is more scalable, robust, and agile than Wordpress; and when you do learn to think in its clunky and convoluted ways of doing things, is very useful.

    Wordpress on the other hand, is a two click install offering a great user experience and good features to even a novice web publishing user. If choosing, I would way rather spend my time working in wordpress, but it isn’t as flexible as drupal.

    I give these scenarios:

    If developing for a small to medium size business with little web experience (that I know is going to rely on me for support too), I will always choose wordpress.

    If developing for mid to large size organizations, with capabilities to educate and train new staff members, who are going to have a number of people publishing and maintaining a site, I will always choose drupal.

    Hope that helps a bit for anybody stuck choosing them – I know it’s a time commitment to learn both, but it’ll probably save you the time in the long run when you choose drupal for a small business who is not very savvy – I’ve made that mistake already.

    ( Reply )
  45. PG

    Muffin December 17th

    Thanks for this tutorial on Drupal, I’ve been toying with it for a while now and I am continuously amazed at what I can accomplish with it. I am not a total Drupal newbie so this tutorial was elementary for me, but a great read nonetheless. I hope to see more Drupal tuts here at Nettuts, especially on theming and all other topics.

    As for those of you who think Wordpress is better than Drupal, I guess you haven’t outgrown Wordpress yet, for those of us who have, these Drupal tuts are welcome. If you like WP stay with it, no one’s asking you to switch. N

    ( Reply )
  46. PG

    Simon December 17th

    I’ve been using WordPress for years now, and it never hurts (at least for me) to try another platform.

    By far WordPress works for me. So did sNews at some point.

    Like what was said above, Drupal and WordPress are different in one way or another and has a place in the Internet.

    Nice article! This gave me a reason to take a look at Drupal. :)

    ( Reply )
  47. PG

    Mason Sklut December 17th

    I’m a WordPress guy. So, it’s nice to see what other CMS’s are out there — in case I consider switching…..

    ( Reply )
  48. PG

    Patareco December 17th

    Nice! Drupal seems like a solid CMS!

    ( Reply )
  49. PG

    Nick Brewer December 17th

    Don’t get me wrong, Drupal has a lot of potential and makes life easier for certain solutions. I am using it for a large scale site with ratings, memberships, custom featured galleries, et cetera. And while Wordpress and Drupal are different they are growing closer in achieving the same results, with modules, plugins, and hooks bridging the gaps.

    I’m no drupal ninja, but I haven’t seen that many differences in what can be achieved with Wordpress. Of course out of the box (and maybe views and cck), Drupal wins hands down.

    ( Reply )
  50. PG

    JR December 17th

    Steve – I’ve been researching Drupal for the past few days and will almost definitely be using it in the new version of a client’s site. I’m sure you can imagine how incredibly helpful this post will be to a person in my position. Thank you very much!

    ( Reply )
  51. PG

    Matt December 17th

    Drupal is complicated for novice web professionals or even someone new to Drupal. It simply takes time. Which is why Wordpress is so easy to argue. I use Wordpress as a simple CMS, but let’s face it, WP is not a CMS. It bothers me that these two systems are always being compared. It depends on the project, which you will choose. Drupal can handle anything. It’s really hard to complain about Drupal when it’s open source. I agree it’s not very user friendly, but its getting a redesign. Great things are happening with drupal.

    ( Reply )
  52. PG

    Tugu December 17th

    MySource Matrix > Drupal > Wordpress!

    joke aside, very nice thorough introduction to Drupal.

    Will have a look into it.

    Cheers.

    ( Reply )
  53. PG

    Thomas Milburn December 17th

    Drupal seems to be a good content management system. Unfortunately all Drupal sites look very similar. I’d love to see a good tutorial on how to truly use the whole potential of Drupal and create templates which are as good as Wordpress ones.

    ( Reply )
  54. PG

    Matt December 17th

    As others have said, great post and only needs to be followed up with a good tutorial on Drupal theming in order to have a pretty good coverage.

    @kevin: I don’t think you can say that Wordpress is not a CMS (it does manage content). What you can say is that it isn’t as full-featured or designed to be as scalable as Drupal.

    Also, you can’t really crank a site like Missionmetallica.com out with Drupal without a great deal of customization (and Flash!). But that is part of the big assumptions and myths about CMSs–they don’t solve all of your web site development challenges.

    ( Reply )
  55. PG

    Timothy December 17th

    Why not just build your own CMS? PHP or Ruby, some Mootools, TinyMCE… And BAM. We’ve got a solid product

    ( Reply )
  56. PG

    dmk December 17th

    I’ve played around w/ Drupal a couple of times, but it’s just too damn big! I don’t need it to do much, so I’ve always ended up using wordpress or some small and simple CMS.

    ( Reply )
  57. PG

    Eduardo December 17th

    It’s good to have alternatives to wordpress, like joomla and drupal. Thanks for the tut ;)

    ( Reply )
  58. PG

    Amr T December 17th

    mmmmmmm…. Drupal, It’s more than a CMS…
    but I’m really love what I made from nothing ‘almost ;) ‘!

    ( Reply )
  59. PG

    mike December 17th

    The Wordpress vs Drupal argument is pretty old…

    We actually use a combination of both WordpressMU and Drupal.

    Drupal for the heavy lifting CMS and Wordpress for blogs and social network projects… Both are excellent at what they do and they actually integrate pretty well together using XML-RPC

    http://drupal.org/node/74350

    ( Reply )
  60. PG

    Kevin Quillen December 17th

    “Also, you can’t really crank a site like Missionmetallica.com out with Drupal without a great deal of customization (and Flash!). But that is part of the big assumptions and myths about CMSs–they don’t solve all of your web site development challenges.”

    Well yeah. But I was making the point that Drupal isn’t some monster that is only capable of the blue garland themed websites. People think its impossible to theme for, when really, its not. You gotta spend more than 15 minutes with it to see whats going on.

    I hated it at first too, until I understood how it worked. Now we can achieve anything.

    ( Reply )
  61. PG

    Shaun December 17th

    You can convert a Photoshop PSD design directly to a Drupal theme at http://psd2cssonline.com. There are some video tutorials there to show you how it works.

    ( Reply )
  62. PG

    theneemies December 17th

    Nice coverage of core and common contributed modules. Title might need a little adjusting though – you’re using a CMS, not building one ;)

    ( Reply )
  63. PG

    Vanessa Pagan December 17th

    This is a great tutorial on how to set up a Drupal site. This cuts down on that learning curve associated with using Drupal as a solid scalable cms. Will use as a reference.

    ( Reply )
  64. PG

    Eneza December 17th

    Whoa!!! Time.. Need time to go around with this….. Its all good stuff 2 THUMBS UP!

    ( Reply )
  65. PG

    Greg S. December 17th

    Design-wise, most sites that use Drupal suck. There are always exceptions.

    ( Reply )
  66. PG

    M.A.Yoosuf December 17th

    Hmm, its being a long conversation, any way Drupal sucks in Theming part, unless WordPress support for a high quality end., and when we are comparing with WordPress and Drupal,

    WordPress for Any one(beginner- advance geek) for Any use, it has a well structured documentation and friendly forum

    Drupal for Advance users and for Advance use, still complected documentation and flow is like only for Advance users.

    so my conclusion is Drupal for limited users! and WordPress for Anyone

    ( Reply )
  67. PG

    Ignas December 17th

    Great one, but I’m waiting for the next part called something like this “Developing modules for Drupal” :) I hope I’ll see it :)

    ( Reply )
  68. PG

    Online hry zdarma December 17th

    Easy and fast. Better than WP :-D

    ( Reply )
  69. PG

    Zair Abbas December 17th

    Wow! great tutorial. Thanks.
    I know wordpress very well and a bit of Joomla.

    Now I think its time to use Drupal

    I hate Joomla btw :P

    ( Reply )
  70. PG

    Tucchus Johnson December 18th

    it’s your loss if you guys want to argue that WP is better than Drupal or whatever your dillusional head wants to conjure up.

    you will waste time arguing, as well you are wasting time trying to get it to sing and dance for you in making a site that isn’t a blog or e-zine.

    if Drupal is too much for you, too boring, too unintuitive, whatever, then ignore the tutorial and let others learn peacefully. this envato network is way too WP-centric sometimes.

    anyone who’s tried to build a community site without being a code wiz will always keep an open mind to this particular CMS.

    ( Reply )
  71. PG

    Zy December 18th

    Actually making theme in Drupal’s way is much easier task than WP :)

    Maybe I could make one tutorial on how to process PSD theme design to usable Drupal theme. It is much easier than you think.

    And here is some theme made for and running on Drupal (sorry its Lithuanian language).
    http://www.exodus.lt/

    ( Reply )
  72. PG

    Alex M. December 18th

    I’m busy looking into upgrading to a more capable open source CMS (I am a WP guy at the moment) for more complex requirements. Looking at Joomla, it seems to have a much nicer admin GUI than Drupal (which means it would be easier to hand over to a client – perhaps?).

    Any opinions in comparing the two (ie Drupal vs Joomla)?

    @Zair: Why do you hate Joomla?

    Some insider info from anyone who has used both would be greatly appreciated.

    ( Reply )
  73. PG

    Shyamali December 18th

    Like to see more Tutorials on Drupal in future too…!!!

    Thanks a lot for this..

    ( Reply )
  74. PG

    theneemies December 18th

    @Alex M. – Opinions? You asked for it – expect a deluge from commenters – http://tinyurl.com/3kjbll

    ( Reply )
  75. PG

    rkms December 18th

    Drupal is my favourite content management system. In fact, I started hosting my domain http://linuxandfriends.com on Drupal 6. But later I changed it to wordpress because for a blog I found Drupal to be too much of an effort.

    All the same, Drupal has a special place in my heart for the flexibility it offers and the rich set of themes and modules found on drupal.org.

    ( Reply )
  76. PG

    Kevin Quillen December 18th

    Joomla doesn’t have the community backing Drupal does, and is not as secure or transparent.

    ( Reply )
  77. PG

    DJ Monzyk December 18th

    Drupal is scalable, and works great for complex application. If you want a simple CMS, with SUPER easy templating and end user content creation and updates, try CMS Made Simple (cmsmadesimple.org). I use this solution all of the time for lower complexity websites.

    I much prefer it over Wordpress if the goal is anything but a blog engine.

    ( Reply )
  78. PG

    goatse December 18th

    Drupal rocks! It is so much more than just a CMS though.

    Wordpress is best for blogging and ok as a cms for small/simple sites.

    ( Reply )
  79. PG

    Steve Jamesson December 18th

    @Nick Brewer – Drupal supports installation profiles. This is pretty cool! What this means is that you can configure a website to have all sorts of functionality, then wrap it all up into one installation. For example, say all your client sites need modules like meta tags, blog, contact form, etc. You could deploy your custom drupal package in no time, without having to redo everything each time you build a new site.

    @Jason – Good breakdown. That’s pretty much how I approach it. If I can get away with wordpress, than hell yeah I’ll use it. If not, then I gotta start planning out the drupal.

    @JR – Glad to help!

    @Timothy – Agreed, but some of us are strictly designers that have had luck working with templates in wordpress.

    I’ve noticed that designers will generally stick to wordpress, where developers will prefer drupal, ee, or custom/proprietary apps.

    @Kevin Quillen – “I hated it at first too” Me too.

    @theneemies – I think it’s still a matter of building a cms, since drupal doesn’t come ready to go for your end admin out of the box. But I accept your argument and point.

    @Zy – “[Theming] is much easier than you think.” Indeed it is.

    With a drupal theme, you have to really take charge of it to make it work. If you are assertive with the theme, it’s really not that difficult.

    ( Reply )
  80. PG

    Michael Babao December 18th

    Think Drupal as an alternative to Joomla!

    ( Reply )
  81. PG

    james December 18th

    “When you’re developing and selling/producing projects for clients, the only logical choice you can have is Drupal or Joomla.”

    I want to second the guy who asked why no mention of Expression Engine? That seems like it’s the hot thing going right now, but maybe I’m wrong? I’m a fairly experienced html/css guy looking to dig into a CMS and I was planning on learning ExpressionEngine. Is this a bad idea? Should I be looking at Drupal?

    ( Reply )
  82. PG

    v-render December 18th

    huge tutorial on drupal intro ! thanks for the efforts. helped me a lot !

    ( Reply )
  83. PG

    Amr T December 18th

    Guys!, just notice that in the new version 6+, you have to set register_globals in php config to be OFF, the solution is to make php.ini with this text
    register_globals = Off
    and put it in the drupal folder “root”/

    Amr

    ( Reply )
  84. PG

    Wes D. December 18th

    Almost every CMS out there has its ups and downs. Drupal does has a frustrating setup process…that definately becomes easier the more you use it.

    This was a really good introduction to Drupal so thanks!

    also @ Kevin Quillien: Wordpress is a blogging utility, but it can be used as a CMS. Check out this link for some more info:http://css-tricks.com/video-screencasts/41-wordpress-as-a-cms/

    While it is not as in depth of a CMS as Drupal or Joomla, it does have its benefits allowing you to easily maintain a blog like format and integrate certain CMS elements fairly easy.

    ( Reply )
  85. PG

    sergi December 18th

    whoa. lot of opinions out there. that’s a good thing.

    ( Reply )
  86. PG

    Rick December 18th

    @Kevin Quillen

    Joomla has a much larger community than Joomla. Check the stats! Some of my dev friends that work at some big firms in Boston ditched Drupal as a viable solution for bigger projects too. I don’t think it’s up to snuff (though Joomla has it’s quirks too)

    ( Reply )
  87. PG

    Chris Gunther December 18th

    Interesting intro tutorial.

    ( Reply )
  88. PG

    milos December 18th

  89. PG

    Jason December 18th

    I could build the same thing custom, with Ruby On Rails, and still have free time to write a complaint about Drupal. ;)

    ( Reply )
  90. PG

    James December 18th

    @Rick, “Joomla has a much larger community than Joomla” … interesting…

    Great tutorial Steve and as usual, bravo to the Nettuts readership; the comments have once again been quite a pleasure to read!

    ( Reply )
  91. PG

    Chris Carvache December 18th

    In regards to Wordpress scalability. It is totally true that it is not as scalable as Drupal or Joomla! However Wordpress is moving towards being a fully featured CMS. The POD Plugin makes a bold attempt at this – however its not working correctly yet. I can foreshadow that once mainstream WP users understand the power of creating content types and relationships, that a plugin like that could end up in the WP core – if at very least a highly supported plugin that will share APIs with other highly supported plugins such as the role manager, shopping cart and caching plugins.

    Just theorizing :)

    ( Reply )
  92. PG

    MikeM December 18th

    Yeah, the web design studio I work with doesn’t use Drupal but this looks interesting. I have heard Drupal is a little more user friendly compared to Joomla.

    ( Reply )
  93. PG

    webdepeloper December 19th

    Joomla notorius for its limited content structure (sections & categories only) although it’s categorized as a mature CMS, then its frustrating built-in sef (search engines friendly) path function. But its number of enthusiastic users are second to none.

    Wordpress has limitation in its content flexibility. It’s definitely excellent for blogging and simpler CMS. It’s excellent in its streamlined & compact core code, theme flexibility and ease of creating plugins (modules). I must admit am very comfortable constructing Wordpress theme.

    Drupal is very flexible in content types. Not easy to start with due to its flexibility. Not very good at presenting itself. Though, I noticed some serious, complex & beautiful websites built on it, checkout http://www.observer.com/ or http://www.thejakartapost.com/ to name some.
    Must admit I start loving Drupal for more complex project.

    All have their own pros and cons.

    ( Reply )
  94. PG

    Amr T December 19th

    hi,
    when you’re “anonymous user” and check the “Links” that we made, you will not see url that we made it as an extra field for :Links”.
    so, in the user’s permission you have to check “view field_url” permissions under “content_permissions module” tab!

    Amr

    ( Reply )
  95. PG

    Kevin Quillen December 19th

    “I could build the same thing custom, with Ruby On Rails”

    And this ROR application will handle traffic how? Server farm?

    ( Reply )
  96. PG

    Zy December 19th

    Imho good question!

    ( Reply )
  97. PG

    Paul Carnevale December 19th

    I just wanted to address the comments I’ve seen on here that regard Drupal as not a viable solution for a web site or application.

    Take a look at Drupal project founder Dries Buytaert’s site where he showcases sites powered by Drupal: http://buytaert.net/tag/drupal-sites. Sanyo, Disney, Mozilla, SourceForge, ICANN, Sun Microsystems, EA, Adobe, Universal Music, Nike, FedEx, AOL, NASA and several music bands including Metallica, Pearl Jam, Beyonce, Bob Dylan, and Led Zeppelin are just a handful of sites which have been developed using Drupal.

    Drupal has been used to create several web sites and applications and is extremely stable, efficient, secure and capable of handling heavy traffic. Joomla! and Wordpress are also great systems which have thousands of hours of work put into them from their devoted communities as well. I don’t believe one should knock an open source system, no matter how much they think they may know about it.

    Even the communities themselves have tried to show that they have no hard feelings toward each other. Joomla congratulated Drupal on the release of 6.0 http://www.joomla.org/index.php?option=com_content&task=view&id=4585&Itemid=74, and Drupal congratulated Joomla on the release of 1.5 http://drupal.org/node/213524.

    ( Reply )
  98. PG

    Steve Jamesson December 19th

    @milos – Sorry about that typo… Thanks for noticing!

    @Amr T – Thanks for pointing that out.

    -

    ROR and other proprietary apps might seem like a good alternative, but keep in mind that they’re always proprietary.

    The day your client needs to scale up is a day that you’ll probably wish you signed them to a very costly contract, because it’s likely you’re not going to get paid enough to scale it! :) Then, your client’s site is kind of in limbo.

    Going with a community-supported system is a great way to reduce risks like that. Because there are so many contributed modules, you can be prepared for scaling and adding new functionality, without having to sell the client on more proprietary development time.

    ( Reply )
  99. PG

    James C December 20th

    I have to say that i love drupal, Once you get over the initial learning curve it is very easy to create new themes, or take themes from designers and implement them into the site, I have built several sites using drupal and so far have had do problem.

    Great tutorial by the way.

    ( Reply )
  100. PG

    Nino December 20th

    I’ve tried both and honestly wordpress is as scalable and I know its not meant to be a CMS, but it can be used as one. Also I don’t know why but wordpress is more “fun” to code.

    ( Reply )
  101. PG

    Kevin Quillen December 20th

    I’m just curious, how many people here handle a steady stream of clients from existing systems or starting from scratch? Why would you ever choose Wordpress to run an entire site that isn’t a blog? I’ve done that only twice, and it was such a hassle, not to mention a nightmare for training.

    Also, why would you want to use different back-ends depending on the project? It is more efficient and sensible to choose what you consider the best one and dedicate yourself to it. It will make maintenance and upgrades easier, smoother and more sane for you and your staff.

    What if you had created a breakthrough module to enhance custom applications in your Drupal or Joomla site, then wanted to carry that change over to EE, WP, CMSMadeEasy or MoveableType? It would be a nightmare because the platforms are inconsistent. The client may pay for it, but it will take twice the time to learn the other APIs to duplicate the upgrade and time is money.

    From what I’ve seen, the cleanest looking backend of them all was Drupal. Joomla is seemingly too complex for the end-user. Even I thought most of its options were too much and over the top. How long does it take to brand a WP or Joomla backend that isn’t the default theme?

    When you roll up your sleeves and get dirty, bottom line is Drupal makes the most sense, then maybe Joomla. Let the designers worry about the visuals, and the programmers worry about implementing it and the rest of the scope. Thats what they’re there for. But don’t spend 5 minutes with Drupal and get mad that it may ask you to configure its options (the horror!), or be arrogant to say “I BUILD MY OWN KTHX”. I’ve done -both- of those, and neither were conducive to a business environment.

    Fact is, we’re lucky folks work on these open source systems and release them for free. Creating, maintaining, and selling a proprietary product is difficult these days and time is always against you. When we dropped our proprietary applications in favor of a platform like Drupal, we saw improvements in development time, custom programming, UI, training and overall usability. If the client needed something specific, chances are a module existed to do just that. They aren’t perfect, no. But they provide an excellent base to start from, and any competent programmer can fill in the gaps needed for the client. There is no way a team of 2-3 programmers can keep up with the thousands that provide enhancement plugins/modules weekly.

    No system is a silver bullet though. The idea is these systems provide you with 85% of the base- the rest is up to you. Nothing is perfect. I was no Drupal lover at first either.

    The reason I am so curt/blunt in my comments is because I want to spur more discussion like this. Most of the time you hop into an article thread and its mostly bot-like spam ‘Great article!’. That’s nice, but we gotta expand and spawn discussion, creativity, and ideas. Sometimes friction gets the ball rolling! :D

    ( Reply )
  102. PG

    Paul December 20th

    All I can say is WOW! I’ve been waiting for an article like this to make it to Nettuts and you certainly didn’t disappoint. Great work sir.

    ( Reply )
  103. PG

    Jim Jamesson December 21st

    What Kevin says is totally correct.

    What Nino says about WP being as-scalable though, I disagree. We started working on a new project for ourselves, and decided for toots and giggles that we’d build the site in Wordpress AND Drupal.

    While WP 2.7 is nice don’t get me wrong, it’s still a Wordpress and we quickly hit the ceiling in terms of scalability. When you start dealing with loads of taxonomy terms, templates, and different blocks and sidebars on different areas of the site, it becomes very messy in Wordpress. Yes it can be done, but at what point do you have such a mashup of plugins and sidebar widgets and individual template files, that you are almost running the site statically.

    The difference in scalability is easy to see when comparing the same website built in two different systems. Drupal gives us far better chances of building a strong community-based website. Drupal also gives us superior control over taxonomy and templates, that in the end, I feel less time is actually going into the Drupal than did the Wordpress.

    Its almost silly to me that every time the word Drupal is mentioned, the word ‘Wordpress’ is surely to follow. I don’t know how people can even fairly compare the two systems. Drupal was unquestionably better suited for us in this case.

    ( Reply )
  104. PG

    elramirez December 21st

    I hope this is the first of a LOT to come on Drupal. This is a project that could benefit from the NETTUTS editorial / writing love. Looking forward for theming, modules, and best practices tips topics. Thanks for putting your eyes in such a wonderful project and provide your two cents on letting the world know about it.

    ( Reply )
  105. PG

    Paul December 21st

    Very cool tutorial. I’ve got everything setup and running as outlined in the tutorial, but can’t figure out how to them the Links view.

    When I go to Theme: Information on /admin/build/views/edit/link, it says it’s using views-view-list–links.tpl.php (it’s bold), but when I actually view the Links, it’s using the default Drupal view (or node template, whatever it’s actually using). I can tell because the Drupal default uses H2 tags for the title, and the View module template uses H3.

    I’ve cleared the Drupal theme cache as the View help doc says, but it just won’t show a custom view. I put it in the /sites/all/[theme]/themes directory, and like I said Theme: Information says it’s using it.

    I know this isn’t a Drupal help forum, but figured somebody here that has gone through the tutorial (or author) could provide some better feedback for this specific tutorial.

    ( Reply )
  106. PG

    paul December 21st

    One question I do have for the Drupal experts is where I should sign up for a VPS if I decide to start working with it. I’ve tried to run it before on a shared pro package and its too slugish to even be bearable. As of right now I’ve heard lots of good things about MT. Any suggestions or experience with Drupal on MT VPS?

    ( Reply )
  107. PG

    ginkoQ December 22nd

    good tutorial. thanks from Berlin.

    ( Reply )
  108. PG

    Kevin Quillen December 22nd

    Try SliceHost. http://www.slicehost.com

    ( Reply )
  109. PG

    chris December 22nd

    hi thank for the tut

    I keep getting this error any one know how to fix it

    Operations on Unicode strings are emulated on a best-effort basis. Install the PHP mbstring extension for improved Unicode support. (Currently using Unicode library Standard PHP)

    ( Reply )
  110. PG

    Kevin Quillen December 22nd

    Your server/host needs mbstring support for PHP. Are you using the latest version of PHP? 5.2.x?

    ( Reply )
  111. PG

    Steve Jamesson December 22nd

    @Paul – are you using a default theme, or did you install a contributed theme?

    If you’re using the default, then any file within sites/all/themes will not even be read or used. You’d have to install a contributed theme, then add the views template file. At that point, drupal should load your template file.

    If no template file is placed within the active theme’s directory, then Drupal will use the module’s default template. This isn’t always a file, though; often it comes directly from the module’s code.

    I’d say try installing a contributed theme, then work on theming the view.

    ( Reply )
  112. PG

    Paul December 22nd

    @Steve – Thanks.

    I took one of the Drupal default themes (Garland), moved it to /sites/all/themes/ and renamed it. It works and shows the modifications I made, so it’s not using the original Drupal theme.

    I’ll try downloading a contributed theme to see if I can get the view to change, maybe it’s something I did screwy with the one I copied/edited.

    ( Reply )
  113. PG

    chris December 22nd

    Kevin Quillen i am using 5.2.6

    ( Reply )
  114. PG

    Kevin Quillen December 22nd

    Does your server have mbstring on it? Check your php.ini file.

    ( Reply )
  115. PG

    chris December 23rd

    i took the semicolon off this line

    extension=php_mbstring.dll

    and i have told it where the extensions are

    at the very bottom of the php.ini file there some option for mbstring i have left them alone

    ( Reply )
  116. PG

    ashvin December 23rd

    great now there are other CMS than wordpress on nettuts.

    Drupal is gettin very popular..Yea now we need more tuts on drupal… want to see how it is really more scalable than the other CMSs..

    ( Reply )
  117. PG

    matus December 23rd

    nice
    two sites powered by drupal

    http://www.pipistrelli-chirotteri.com
    http://www.matus.it

    ( Reply )
  118. PG

    Sarah December 23rd

    Next Netuts Tutorial: Theming Drupal

    thanks!

    :)

    ( Reply )
  119. PG

    Paul December 23rd

    I cannot figure out how to theme the Links view we created to save my life. It would be great if there was a follow up to this tutorial on how to do just that.

    I’ve tried creating views-view-row-node–links.tpl.php, views-view-list–links.tpl.php, node-view-links.tpl.php, node-links.tpl.php, amongst other things in /sites/all/themes/[theme]/.

    Maybe somebody can explain exactly what template needs to be made/changed, and exactly how to get the CCK variables (URL, for example) to show up in that template.

    The Drupal and Views docs just aren’t helping, or I’m really stupid.

    ( Reply )
  120. PG

    Steve Jamesson December 23rd

    @Paul, you will probably need to alter template.php to tell Drupal to look for the new template. Drupal automatically looks for core overridden templates, but I don’t think it’ll do so for views unless it’s explicitly told to.

    Are you using the Theme Wizard? If so, it should instruct you to add a function to template.php. If not, then try googling a bit on theming views in general. In general, you’ll probalby need to both create a template and tell template.php to use the template.

    If you still get stuck, I’ll theme the views for my version of the site and will post something for your reference, but it’ll probably be a week or so before I can get to it.

    Maybe try installing the advanced help module. http://drupal.org/project/advanced_help

    Also, are you sure you need to override the template? Could you accomplish what you need with just CSS?

    ( Reply )
  121. PG

    james December 24th

    I would like to see a PSD > Drupal tutorial. My impression from reading these comments is that that’s a tough task. If I have to bend a design around a CMS instead of the other way around, it doesn’t sound like a good option for me.

    ( Reply )
  122. PG

    Kevin Quillen December 24th

    It’s no different than anything else. Drupal isnt voodoo.

    ( Reply )
  123. PG

    Sam December 26th

    title for next nettuts article: Why Drupal is’nt Voodoo

    ( Reply )
  124. PG

    Jimmy December 29th

    Steve, great tutes. I’m a little confused on one thing; in terms of complexity, if I have multiple users that can access the drupal cms and those users have (1)a blog (2)some links (3)other data associated with , (ie, images) how do you organize it on the site page?

    The idea is you don’t want them organizing the site’s layout, just their information. So the page would show teasers and say a pic. Is this a template customization thing?

    ( Reply )
  125. PG

    Imko December 30th

    THANKS! I was waiting for a Drupal tutorial. There are huge site’s running Drupal as CMS and you’ll never get some of the things done with them in WordPress.

    Great example of a community/blog/social network site running on Drupal is PopSugar.com

    ( Reply )
  126. PG

    Honour Chick December 31st

    awesome tutorial ;)

    ( Reply )
  127. PG

    Sean December 31st

    Drupal is awesome and easy to theme. I’d like to see some advanced theming covered though. Like how to work with Views in your themes at the code level. Like how do I create custom views on the homepage? I tend to just use blocks and stylize the content that is pushed to the frontpage as well, which suprisingly has covered most of my requirements so far. For other issues I’ve copied and pasted some contributed code I’ve found. Thx.

    ( Reply )
  128. PG

    Anjar Priandoyo January 1st

    I am using wordpress for my personal website, since it’s very easy and simple, i have been working with wordpress for more than three years. However for managing client project or search engine optimization i prefer to used drupal which became my preferences for latest one years.

    Anyway thanks for nice tutorials

    ( Reply )
  129. PG

    Loek Bergman January 1st

    Wow, this is exactly the tutorial I needed to get a grip on Drupal. Especially the information about the handy modules is very helpful.

    Thank you very much and happy newyear!

    ( Reply )
  130. PG

    Jonathan Thomas January 2nd

    Excellent Article. I’ve been running a couple drupal sites for the last year and I still learned something new.

    Drupal is a complicated beast but it can do so much more than Wordpress.

    ( Reply )
  131. PG

    Stephen Metcalfe January 7th

    Excellent article! I’d tried Drupal before with no success, but I see now exactly how I can make it work with my current project! Thx for the effort you put in to it.

    ( Reply )
  132. PG

    Navdeep January 7th

    Very nicely explained. Would be great if you convert the same into a video tut.

    ( Reply )
  133. PG

    Paul January 12th

    @Steve – Thanks for your help. Unfortunately, I have no clue what I’m doing. I don’t think Views 2 has a “Theme Wizard”. And I’d like to do more to the View than just modify it’s CSS.

    If you can provide a follow up to this tutorial, with more information on how to theme the view, that would be absolutely awesome.

    ( Reply )
  134. PG

    Jerry January 14th

    It’s very useful. Thanks from Hong Kong

    ( Reply )
  135. PG

    SEO Viet Nam January 15th

    Great post, thank. i use Joomla right now, but i think i will change to Drupal someday :D . One more time thank for share

    ( Reply )
  136. PG

    Neil January 19th

    For everyone asking for tutorials on Theming, you might want to Check out Prentice Hall publishing company’s upcoming release of a book all about theming and scripting for Drupal. I am highly anticipating this book and cannot wait to get my hands on it (it is scheduled for release in May I think).

    I am a beginner in the entire fields of CMS’s (so I am not going to weigh in on which is better) but I chose Drupal after initially settling on Joomla due to Drupals inherent support of jQuery for scripting purposes. I am getting the crash course in that at my job so I figured there was no reason to learn MooFx that Joomla uses or trying to hack jquery to work in joomla.

    I am dedicating the next few months to learning the back end data stuff of Drupal and configuring it for the project i am working on and focussing on getting the basic functionality working with teh default theme and then that book should be out and I can check it out to see if will be as great as I am hoping and allow me to delve into the front end customization I want to do. So thanks for this tutorial it is a great starting point for me to begin with in my quest to build a totally badass Drupal based site.

    ( Reply )
  137. PG

    Cam January 25th

    great post! been meaning to get back to learnin a secondary cms(used to use joomla before switching to wordpress.)

    ( Reply )
  138. PG

    Tom Lewis January 31st

    Right, i recently just started hackign around with drupal, the themeing looked simple enough, until i attempted it, and scived through there crappy wiki, Im new to Drupal, and havent made my mind up yet, i’ll have to re-read the artical to get an idea on why you have used each modual!

    ( Reply )
  139. PG

    Desu February 4th

    Now I use Drupal. Thank for a great post…

    ( Reply )
  140. PG

    didats February 19th

    i need more drupal tutorial…. please!

    btw, thanks for this great post!

    ( Reply )
  141. PG

    MrX February 20th

    Nice article, thanks.
    I’m interested in comparision of Drupal + CCK & Views & Ez Publish… ???

    ( Reply )
  142. PG

    Cam March 19th

    kevin made a good point. I am a wordpress dude and my new job is all drupal, so i am getting a crash course and i NOW see why (the backend) it is better for the user. drupal user control out the box is wonderful as opposed to wordpress where u have to use either user-roles or another plugin to get the desired results. now if i can just FULLY understand the terms i will be in good shape!

    ( Reply )
  143. PG

    Michael March 20th

    Thanks! Just what I was looking for.
    Drupal, simplified.

    I look forward to more Drupal tutorials to come :)

    ( Reply )
  144. PG

    david March 26th

    good tutorial. thanks from Berlin. facebook

    ( Reply )
  145. PG

    bryan April 28th

    GREAT Tutorial! Any web jobs in Asheville? I love that place. ;-)

    ( Reply )
  146. PG

    Reza May 2nd

    Amaze me!!!!! Even I am a Joomla user but I am an enthisiast CMS lover. Drupal that is…

    ( Reply )
  147. PG

    521nord May 10th

    more easy video tutorial stuff over at mustardseedmedia.com

    enjoy.

    ( Reply )
    1. PG

      Tracey August 14th

      @521nord – thanks so much for that link. I’m watching the videos now. I’ve just setup the content for my first Drupal site (a rehash of a static html/css site) and now I need to theme it like the original. Wish me luck!!

      Every day since discovering Drupal I thank the Drupal community for their efforts. I love the fact there aren’t 100 different module choices for the same functionality (unlike wordpress’s plugin gallery). Thank you Drupal :)

      ( Reply )
  148. PG

    Malcovitch May 22nd

    The links are just plain text – am I missing something?

    ( Reply )
  149. Nice work! Hopefully this will help me at work. -Slumberg

    ( Reply )
  150. PG

    chand June 3rd

    Hi, anybody can tell, where to go for this screen in drupal.

    “Firstly, we’ll want our Links view to be a full page. So add a page display.”

    Thanks.

    ( Reply )
  151. PG

    Drupal Themes July 7th

    This is a very good introduction.
    If you are thinking of using Drupal and need aDrupal Theme or are just looking for inspiration, checkout Themes. You will find a good starting point to theme your drupal site. If you are looking to buy a word class theme and have some money, checkout Themes 24/7.

    ( Reply )
  152. PG

    murraymint July 8th

    ok you’ve convinced me, i just installed drupal. what i need is a good book. any recommendations?

    ( Reply )
  153. PG

    ___seb July 16th

    I just say Thank U. Good tut

    ( Reply )
  154. PG

    Brandon McGinty August 9th

    Excelent tutorial, sir.
    I’ve been trying to get a handle on Drupal for a while now, and your tutorial has been a great help.
    Brandon McGinty

    ( Reply )
  155. PG

    Nic Marson August 10th

    This tutorial is great, it just saved my arse for an upcoming freelance project.

    ( Reply )
  156. PG

    Paul Featherstone August 17th

    It’s a shame there isn’t a blend of the scalability of drupal and the user friendliness of Wordpress.

    Having used Wordpress on a number of sites before trying Drupal I have to say I was surprised how many modules had to be installed just to reach parity with basic features in Wordpress e.g. WYSIWYG editor and separate backend navigation etc.

    I totally agree on the scale point though – the rather basic listing method of managing pages in Wordpress can mean using it for very large sites can become a nightmare involving scrolling through hundreds of pages!!

    ( Reply )
  157. PG

    Paul Featherstone August 17th

    Sorry..forgot to say – great tutorial too! Thank you.

    ( Reply )
  158. PG

    Riley October 15th

    Great tut, i’m just started to learn Drupal adn this was perfect.

    Thanks!

    ( Reply )
  159. PG

    Denis October 19th

    Yup …. I’m way too stupid for Drupal ;)

    ( Reply )
  1. Arrow
    Gravatar

    Your Name
    October 19th