So, I've lept into drupal with a big splash, and I'm creating what is a bit of an ambitious website (for me, not by programmer/web-dude standards).

I am beginning to understand taxonomy. The latest issue: Content Types! Eek!

Needed: Some thoughts on the advantages and disadvantages of creating a new Content Type as opposed to simply creating a new vocabulary or vocabulary term.

Example: Lots of my entries will be about people. Each "people" entry will be a profile with an image, links to websites, etc. The vocabulary terms will include "Friend," "contributor," "artist profile," "team," etc. On the other hand,

If I create a new Content Type for "people" entries, does that give me more options for formating and displaying these nodes? Will it be a pain in the butt for reasons I haven't thought of? Other types of entries include things like FAQs. I will want my FAQs to be displayed very differently than "people."

Let's for now assume that FAQs and People nodes will both have the same format: title, text field, etc.

I ask this because changing nodes from one content type to another appears to be a bit complex, and I'm about to enter a lot of nodes, and I don't want to have to go through a lot of trouble later.

Thanks so much!

nick

Comments

Michael M’s picture

Why don't you use the flexinode module? It allows you to make nodes using your web browser. If you just don't then read the following:

>If I create a new Content Type for "people" entries, does that give me more options for formating and displaying these nodes?

YES

> Will it be a pain in the butt for reasons I haven't thought of?
Yes, you will have to learn php.

> Other types of entries include things like FAQs. I will want my FAQs to be displayed very differently than "people."
You will need to create two modules, one for people and the other for faq's.

Creating a node type, you can do anything with that node. You can add as many fields you want. After you create a 'person' or 'people' node type, you can categorize them with the taxonomy feature.

The only problem that I see is that you will have to lean PHP. If you want to start, take a look at this example node:
http://drupaldocs.org/api/head/file/contributions/docs/developer/example...

----
http://LandCondos.com

dmitrig01’s picture

>> Will it be a pain in the butt for reasons I haven't thought of?
>Yes, you will have to learn php.
No, you will not. Just install flexinode. That is easy.

>> Other types of entries include things like FAQs. I will want my FAQs to be displayed very differently than "people."
>You will need to create two modules, one for people and the other for faq's.
You will not need to create new modules. You will just need to create new content types with flexinode.

Michael M’s picture

Wasn't the first sentence about flexinode?

----
http://LandCondos.com

styro’s picture

Try thinking of content types as what 'something' intrinsically is, where as terms are properties that can be applied to 'something' to further describe and/or categorise it.

So if these 'things' need to function differently and/or have different fields stored with them, then you might want separate content types. If they just need to be described differently or collected together, then using terms would probably be better.

Of course, it isn't a black/white thing - there's a bit of grey area in the middle.

Does that make sense?

--
Anton
New to Drupal? Please read this
Also: Forum posting tips

cog.rusty’s picture

If you need those additional options for entering special elements in the nodes, then new content types are necessary. A conversion to "standard" nodes would be a problem anyway.

If all you want is special formatting for the way they are displayed and listed, this can be done with categories as well.

Generally, content types are for creating content (for example, the user sees "create story"), and categories are for listing content (no matter how it was created).

But the question is, when do you need a new content type? I can think of 3 use cases:

1. The nodes must contain special form fields. Then you definitely need a new content type.

2. Possibly plain vanilla nodes, but they will be automatically handled in a special way. This is the apporach taken by the blog entry type (the nodes are automatically listed in users' blogs), the book page type (they are automatically attached to an outline with navigation), the forum topic type (they are assigned to a special taxonomy vocabulary and displayed in a themed forum page), and many content types defined in contributed modules (such as events).

You can do similar things for convenience, to achieve better control. Imagine that you want to give some users the ability to promote some of their posts to the front page, but you don't want to give them 'administer nodes' permission. You give them 2 content types, one autopromoted and one not, and they can choose.

3. For usability. Imagine that you have a vocabulary with dozens of terms and you make it required for 'stories' (and probaly other content types). A user clicks "create story" and must choose from a huge dropdown list and you have to trust the user. In this case you may want to break the vocabulary to smaller ones and make them apply to different content types. This may look like a hack, but it works.

Dave Cohen’s picture

Another reason:

4) Access Control: If you want some users to be able to create/edit "friends" and other users to create/edit "clients", consider making them different node types, even if they are both "people". That is the simplest way to associate different permissions with them.

(oops, just noticed this is essentially the same as #2.)

nickwoolsey’s picture

...but perhaps I should have worded my question like this:

"Is there any reason I should NOT go about creating a new Content Type for different kinds of entries?"

It makes perfect sense to create a new content type every time you need a node with a unique set of fields. My question was more about new Content Types that are essentially the same as Stories. This has helped clarify that, and given me food for thought I wouldn't have otherwise thought of. Awesome!

Thanks to all of you. Yes, I'm using flexinode. It's so easy to create new Node Types that I thought I was getting carried away :)

playpoi.com