Get updates and news:
Want to get Lullabot article, videocast, and podcast announcements delivered right to your in-box? Let us know your email address (we won't share it) and we'll let you know when anything exciting happens.

Subscribe to our weekly audio podcast, our periodic videocasts, or both. Just choose your favorite podcast-listening application or service and click away!


Drupal Podcast 64: Do Nodes Still Matter?

  • Artist: Lullabot
  • Title: Drupal Podcast 64: Do Nodes Still Matter?
  • Album: Drupal Podcast
  • Year: 2008
  • Length: 61:21 minutes (14.57 MB)
  • Format: Mono 22kHz 33Kbps (VBR)

Earl Miles joins Lullabot's Nate Haug, Jeff Eaton, Kent Bye, John VanDyk, and Jeff Robbins for a discussion about the relevance of the node and node-based solutions for user profiles and comments given the advances in Views 2 and future versions of Drupal.

Links mentioned in the podcast:
http://drupal.org/project/acquia_marina
http://mollom.com/download
Parents Click bought by Lifetime
http://www.markboultondesign.com/news/detail/cap_d_or_not_splash_or_not/
http://www.doitwithdrupal.com
http://drupal.org/project/jqp
http://drupal.org/project/simpleviews
http://drupal.org/project/views_bulk_operations
http://www.lullabot.com/videocast/building-views-fivestar-and-votingapi

Comments

View in Espanol

I believe Vista is the Spanish word for View. I could be so very wrong though.

Yes views is vista in

Yes views is vista in Spanish. Visión is vision.

Well then

babelfish LIED to me.

I'm used to that, though.

I skip the first 10 minutes of every Lullabot podcast

Ok, I don't. But that shirt is great nonetheless, and it needs to be linked to right here:
http://webdesignshirts.spreadshirt.com/us/US/Shop/Article/Index/article/...

...yeah, they do have a point :P

You skipped the first 10 minutes?

and missed THE BEATLES. Short cuts, eh?

Great episode

Aw come on :P The beginning is always fun. Geeks get to have a good time too ;)

Anyhow guys AWESOME episode :) Fantastically interesting to learn about the possible future of nodes. I was especially excited to learn about the future of CCK being able to add fields to all sorts of things besides nodes at some point (especially profiles).

I'd be interested if anyone could expand just a bit on why comments as nodes might still be recommended in certain situations (as was mentioned)... would you mind hinting at a few possible scenarios where comments as nodes would still be beneficial? I'm curious since I'm converting a site with about 1 million comments to Drupal and (though I've not considered making the comments nodes) it seems like in general making the node table so huge could have performance consequences (well, to my feeble non-developer mind haha). Any advice on that would be appreciated.

Comments as nodes -- sometimes

In particular, I think forums shouldn't use comments. Instead there should just be forum posts. You start a new topic with a forum post and you reply to existing topics with forum posts.

This ensures that the UI for posting is the same, whether or not you're replying. This is really important for permissions, administration and user experience. Right now, with the comment system you simply cannot hide the fact that comments and nodes are fundamentally different, have different features and a different look (particularly on data entry). It's also difficult to administer comments because they're a different node type.

The queries to find new posts in a forum are horribly inefficient because they have to check comments and they have to check nodes; also, comments don't have individual 'read' states, but nodes do. So if you touch a node, you've read all the comments, even if there were 5 pages of comments that you haven't seen.

Comment navigation is absolutely horrible, especially when you combine paging and threading. It's hard to go back and find new posts with the threading, and with paging it's hard to link directly to new comments. All of this is actually quite easy with nodes because each node has an individual read state. You can have a 'new' operation which figures out which node is newest in the topic chain and starts there (or maybe a topic or two before it so you have some context).

Fundamentally, though, I think forum posts and forum replies are the same data, and the difference between them is that a forum post is a reply to nothing where a forum reply is a reply to something. If you change a forum reply so that it's a reply to nothing, it is automatically promoted to being a forum topic. That, I think, is a very important distinction.

Note that I think blog-style comments are probably well served by remaining, simply, comments. They don't generally need the kind of added features that forums do. That's an important distinction as well.

Thanks Earl

Thanks for the detailed reply Earl, that does help me understand. Actually that sounds at least "similar" to how the the database of the custom forum system I am converting to Drupal from works (which despite its inadequacies in other areas, functions much much faster than Drupal's forum). Every "starting post" of a thread in addition to the posts/replies are stored together in a "post" table that contains everything, whether initial post or replies the structure is the same - however there is a "thread" table that has info about which of those posts are "the main topic" and the rest are treated as replies to the appropriate topics. There is a "forum" table that keeps track of post/comment counts, latest posts per forum, etc, so that none of that has to be looked up or counted from a huge table on the fly.

I'm sure you guys know how to do things best in Drupal, though if it would help in any way I'd be more than happy to release the source code of the custom CMS/forum to look at. You can observe its speed (even given nearly 1 million replies) in the footer of http://forums.neverside.com ... if you're interested let me know and I'll send you the code.

Again thanks :)

Inspired!!

What a great podcast!! How do you guys manage to know about all that stuff?!

By the way... while listening to the "lullacast" i was wondering if there is some module that can generate data entry forms from some markup (say xml)? If not, do you think it would be useful?

making it easy to code for all kind of thingies

A lot of stuff is still built for nodes only - the problem is that it's too hard to code stuff for every thing out there in drupal. The APIs around nodes, users and comments are just too different.
So a generic drupal oject which unifies the main APIs would be an important thing too have.

Too long

I really think it will be beneficial if you do some editings on your podcasts... perhaps have a full version but also include a 15 minutes summarized version... It's fine to listen to the whole 60 min for the first time, but there are some really good info in there and if someone wants to revisit those info, it's so much better to just listen to a short version instead. My 2c

Good idea, but doubt they have time themselves

I doubt the Lullbot folks have time to do that, but I wouldn't be surprised if they'd be more than happy to allow anyone else to do it for them, and Lullabot could post the files for people to enjoy :) Lullabots - what do you think? I could sometimes help with this if you're open to it.

I started trying to do this kind of thing for Drupal Dojo videos, but it took a lot more effort (working with video versus just audio).

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <h2> <h3>
  • Lines and paragraphs break automatically.
  • Use <!--pagebreak--> to create page breaks.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options