Drupal Content Creation Checklist

  • user warning: Got error 28 from storage engine query: SELECT node.nid AS nid, node_revisions.body AS node_revisions_body, node_revisions.format AS node_revisions_format, node.title AS node_title, RAND() AS _random FROM node node LEFT JOIN node_revisions node_revisions ON node.vid = node_revisions.vid WHERE (node.type in ('quote')) AND (node.status <> 0 OR (node.uid = 0 AND 0 <> 0) OR 0 = 1) ORDER BY _random ASC LIMIT 0, 1 in /var/www/jg-soft.com/modules/acquia/views/includes/view.inc on line 755.
  • user warning: Got error 28 from storage engine query: SELECT node.nid AS nid, node_data_field_images.field_images_fid AS node_data_field_images_field_images_fid, node_data_field_images.field_images_list AS node_data_field_images_field_images_list, node_data_field_images.field_images_data AS node_data_field_images_field_images_data, node_data_field_images.delta AS node_data_field_images_delta, node.type AS node_type, node.vid AS node_vid, RAND() AS _random FROM node node LEFT JOIN content_field_images node_data_field_images ON node.vid = node_data_field_images.vid INNER JOIN term_node term_node ON node.vid = term_node.vid LEFT JOIN term_node term_node2 ON node.vid = term_node2.vid AND term_node2.tid = 41 WHERE (node.status <> 0 OR (node.uid = 0 AND 0 <> 0) OR 0 = 1) AND (node.type not in ('project')) AND (node_data_field_images.field_images_list <> 0) AND (term_node.tid = 13) AND (term_node2.tid IS NULL) ORDER BY _random ASC LIMIT 0, 1 in /var/www/jg-soft.com/modules/acquia/views/includes/view.inc on line 755.

When creating a new node in drupal, it occurred to me that I do the same set of things every time. However, it seems like every time I go to do it again, I forget a step or two, and then I have to fix it later. I should just do it right up front. Here I'm going to list the set of steps I take to be thorough in my content creation.

  1. Create the content type in CCK, adding all the proper fields that I'll need.
  2. Set the Basic Display Fields settings for the teaser and the full node.
    Note: I don't set the Token search settings because I've never needed to. Maybe I should?
  3. Set the RSS Display Fields settings for the teaser and the full node.
  4. If search is enabled, set the Search Display Fields settings.
  5. Create a template for the node in my theme directory like node-my_node.tpl.php.
  6. Theme the node add/edit form for this node. That includes making sure all the settings are configured the way I need them, like comment settings, publishing options etc. At this step, many times I'll need to hide some of those extra "meta" fields.
  7. Theme the teaser view.
  8. Theme the page view.
  9. Theme the unpublished teaser and page views.
  10. Create the node preprocess logic in a custom module somewhere, or in my template.php file.
  11. Theme the preview. I often overlook this step, but it is always necessary.

All in all, this set of steps usually takes about 4 hours over the life of the node. If I do it all at once and it never has to change, it'll usually take only about 2 hours.