I'm working on site with a large amount of content, and a large portion of it will allow wiki-like editting by anonymous users. I want to be able to control which nodes can be edited, and which nodes are "site nodes" which contain blocks and PHP code in their content and shouldn't be editable by users. I've been trying to figure out the best way to organize something like this. Should I create a custom content type for these pages? Or, should I use taxonomy, assigning them to a "site" vocabulary?

Thanks!

(I can post more details about what I'm doing, if it would help. I tried to keep it short, since my previous posts were virtually ignored.)

Comments

cog.rusty’s picture

My rule of thumb is "content types for creating content and taxonomy for listing content". It's not a gospel - just more natural and easier in most cases. First, only content types can provide "post here" functionality reliably. With taxonomy you have to present to the user a tree of choices. Access control by taxonomy using the contributed modules also requires attention, while with content types it is just a check box.

patrickharris’s picture

Good advice I think.

talkingwires’s picture

Thanks for the reply. What you say makes a lot of sense. My test site has five vocabularies right now, and expecting the users to know the correct "site vocabulary" when making new Wiki pages might be a little much. With a custom content type, there'd still be room for error, but at least it wouldn't be lumped in site navigation pages. That was an issue I hadn't considered.

I've got two more questions, if you don't mind. First, say I have a "news" and an "articles" content types. I want display all the nodes tagged with "North Carolina". This is fairly trivial to do with the Views module, isn't it?

Second, I've been using the Liquid Wiki module, since the ability to pull any node into the Wiki seems to really gel with the Drupal way of doing things. Do you think it would be possible to create an "Articles" content type, but set the permissions so that only those assigned to the Wiki or created from an existing Wiki node are editable by everyone? That way I could have one content type for articles, but some of them, created by me or some unpaid staff writer, are uneditable by everyone else.

Thanks!

cog.rusty’s picture

I can talk only about the Views question. I don't know Liquid.

If you have a 'news' and an 'ariticle' content type and a 'North Carolina' category in a vocabulary which applies to both content types, then

- The standard taxonomy module can list them all regardless of content type, and it can also list the branches under 'North Carolina' up to a specified depth.

- With 'Views' you can set up more sophisticated listings, by content type or by other parameters (author, time, and much more.)

talkingwires’s picture

Thanks for your quick reply. I have just one more question. I've made a custom content type called "article", with a field called "body". How when I go to make a new "article" node, the "body" field is only one line tall. How do I make the text field bigger, and even better, give it the Ajax sweetness of the default page node's "body" fields?

StevenSokulski’s picture

That depends on how you made the custom content type. Use the Content Construction Kit, Flexinode, or hand coding by PHP?

venkat-rk’s picture

You should choose the text area form element (instead of text field) for the 'body' field of your content type and while doing so, set the number of lines to a large number. For example, a text area field with 25 lines will give you quite a big body area.

What you mean by ajax sweetness? Dragging and increasing/decreasing the size of your 'body' field? I think that happens automatically.

talkingwires’s picture

Exactly. Call me stupid, but somehow, I'd overlooked that field. Thanks for the reply, though.

venkat-rk’s picture

Glad that helped.