What's the difference between a Page and a Story?

Submitted by Marc on Wed, 09/01/2010 - 9:42pm

Drupal creates two default content types when you install it. These are the Page and Story content types. (Note: the default content types are renamed in Drupal 7 and are not created at all if you choose the "minimal" install profile.) The thinking behind these two content types is that a Page is designed to hold information that is long-lived. For instance, you would create your "About Us" page using the Page content type. A Story is designed to be time-sensitive information that will be short-lived. You might create a Press Release using the Story content type.

Don't get too fixated on the thinking behind these content types. They are, in fact, just a couple of default content types to get you started. When you navigate to admin/content/types/list you will notice that you have the option to edit or delete each type. At the top of the page you will also notice a link to Add content type. To better understand the difference between the two content types, let's take a look at what you can do when you add a new content type. I won't provide extensive details on the individual settings in this blog. However, fear not! Most of the settings are fairly self-explanatory.

Select the link at the top of the content type listing or navigate to admin/content/types/add. First you enter a Name. This name is designed to be descriptive. Then you enter a Type. This is the name by which the Drupal CMS will refer to the content type. Finally, you can enter a Description. This is what appears in the Description column on admin/content/types/list. You may want to put some type of instructions about when to choose the content type in the Description field. The next configuration settings is where things get interesting.

The Submission form settings is where you have your first opportunity to start customizing the content type. You must specify a Title field label. If you want to have a Body field, then specify a Body field label. Otherwise, you can leave the "Body field label" field blank. Then that content type won't have a body field! You might wonder why you would want to do that. But, that's a topic for another blog post. The next option allows you to specify a minimum number of words that the body must contain by using the dropdown list. The final field in this field set gives you a text area that you can use to display instructions when someone is adding or modifying some content.

These first two field sets were pretty much the same for the Page and Story content types, with the only real difference being the Description in the Identification field set. Let's move on to the next field set.

Note: you are setting the default values for the next two field sets. Visitors assigned to certain roles will have the ability to override these values when they are adding or modifying content. (Roles and permissions are topics for other blog posts.)

The Workflow settings is where the Page and Story content types start to diverge. Both are set to Published. You can use the Published flag to determine whether to display content that has been created. However, the Page content type has "Promoted to front page" unchecked, whereas Story type has it checked. This setting really only makes a difference when you leave your Default front page set to node. This is exactly what I have done with this site, which is why my blog posts show up when you visit the URL. (My blog posts utilize the Blog content type, which is created automatically by the Blog module.) The next two check boxes (Sticky at top of lists, Create new revision) are left unchecked for both Page and Story content types.

In the final field set (Comment settings) the Page content type disabled comments by default, while the Story content type enables them with Read/Write ability. (Note: The Comment module is enabled in the default configuration. If you have disabled it, the Comment settings field set won't appear.)

So, we see that the main difference between a Page and a Story is that a story shows up on the front page of the website and allows comments and a generic page does not. If this seems confusing to you, just play around some. Don't worry, you won't break anything!