Index: drupalorg_handbook/drupalorg_handbook.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drupalorg/drupalorg_handbook/drupalorg_handbook.module,v
retrieving revision 1.28
diff -u -r1.28 drupalorg_handbook.module
--- drupalorg_handbook/drupalorg_handbook.module	6 Jan 2011 04:06:01 -0000	1.28
+++ drupalorg_handbook/drupalorg_handbook.module	15 Jan 2011 01:47:19 -0000
@@ -33,7 +33,7 @@
         break;
     }
     $node->content['body']['#value'] .= $extra;
-    
+
     if (drupalorg_crosssite_section() === 'documentation' && isset($node->book['bid'])) {
       // Prepend the handbook meta data to book bodies.
       $node->content['body']['#value'] = drupalorg_handbook_meta_data($node) . $node->content['body']['#value'];
@@ -90,7 +90,7 @@
       }
     }
   }
-  
+
   $modified = format_date($node->changed, 'custom', 'F j, Y');
 
   return theme('drupalorg_handbook_meta_data', $info, $modified);
@@ -199,15 +199,15 @@
     $result = drupalorg_handbook_get_recent_updates($count);
     while ($page = db_fetch_object($result)) {
       $row = array(
-        l($page->title, "node/$page->nid") .' '. theme('mark', node_mark($page->nid, $page->changed)) . ($page->log ? "<br />". check_plain($page->log) : ''), 
-        theme('username', $page), 
+        l($page->title, "node/$page->nid") .' '. theme('mark', node_mark($page->nid, $page->changed)) . ($page->log ? "<br />". check_plain($page->log) : ''),
+        theme('username', $page),
         t('%time ago', array('%time' => format_interval(time() - $page->changed))),
       );
       if (user_access('view revisions')) {
         $row[] = l(t('Diff'), "node/$page->nid/revisions/view/latest");
       }
       $rows[] = $row;
-    } 
+    }
     $header = array('Page', 'Edited', 'Updated');
     if (user_access('view revisions')) {
       $header[] = 'Diff';
@@ -220,7 +220,9 @@
 }
 
 /**
- * License and quick links blocks for docs.
+ * Implements hook_block().
+ *
+ * Defines license, next steps, and doc home page info blocks for docs.
  */
 function drupalorg_handbook_block($op = 'list', $delta = 0, $edit = array()) {
   switch ($op) {
@@ -230,6 +232,10 @@
           'info' => t('Handbook License'),
           'cache' => BLOCK_CACHE_PER_PAGE,
         ),
+        'next_steps' => array(
+          'info' => t('Handbook page next steps'),
+          'cache' => BLOCK_CACHE_PER_PAGE,
+        ),
         'info' => array(
           'info' => t('Documentation home info'),
           'cache' => BLOCK_CACHE_PER_PAGE,
@@ -246,6 +252,18 @@
           }
           break;
 
+        case 'next_steps':
+          $arg = arg();
+          if (drupalorg_crosssite_section() === 'documentation' && $arg[0] == 'node' && is_numeric($arg[1])) {
+            return array(
+              'subject' => t('Next steps'),
+              'content' => '<p>' . t('Need more help on this topic? Ask in the <a href="/forum">Forums</a> or on <a href="/irc">IRC</a>.') . '</p>' .
+              '<p>' . t('Does this page need corrections or updates? Edit the page if you\'re logged in, or <a href="@issue-link">file an issue</a>',
+                array('@issue-link' => url('node/add/project-issue/documentation', array('query' => array('title' => 'Documentation problem with node/' . $arg[1], 'component' => 'Correction/Clarification', 'categories' => 'bug'))))) . '</p>' .
+              '<p>' . t('Want to contribute to documentation? <a href="/contribute/documentation">Learn more about the Documentation team</a>.') . '</p>');
+          }
+          break;
+
         case 'info':
           return array(
             'subject' => t('Help Us Write Documentation'),
@@ -297,7 +315,7 @@
     while ($node = db_fetch_object($result)) {
       // Fake the created time for the theme function, so we can easily theme it.
       $node->created = $node->changed;
-      $recent_updates .= '<h6>'. l($node->title, 'node/'. $node->nid) .'</h6><p class="submitted">'. theme('node_submitted', $node) .'</p>'; 
+      $recent_updates .= '<h6>'. l($node->title, 'node/'. $node->nid) .'</h6><p class="submitted">'. theme('node_submitted', $node) .'</p>';
     }
     $recent_updates .= '<p>' . l(t('More updates…'), 'handbook/updates') .'</p>';
     cache_set('drupalorg_handbook_recent_updates_' . $count, $recent_updates);
Index: drupalorg_handbook/drupalorg_handbook.install
===================================================================
RCS file: drupalorg_handbook/drupalorg_handbook.install
diff -N drupalorg_handbook/drupalorg_handbook.install
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ drupalorg_handbook/drupalorg_handbook.install	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,41 @@
+<?php
+// $Id: $
+
+/**
+ * @file
+ *   Install and upgrade functionality for drupalorg_handbook.module.
+ */
+
+/**
+ * Implements hook_update_N().
+ *
+ * Turn off Handbook comments.
+ */
+function drupalorg_handbook_update_6500() {
+
+  // Turn off adding new comments on existing book pages.
+  $return[] = update_sql("UPDATE {node} SET comment = 1 WHERE type = 'book' AND comment != 0");
+
+  // Make no comments be the default for new book pages.
+  variable_set('comment_book', 0);
+
+  return $return;
+}
+
+/**
+ * Implements hook_update_N().
+ *
+ * Turns on the new block.
+ */
+function drupalorg_handbook_update_6501() {
+
+  $return = array();
+
+  // Turn on the new 'next_steps' block. The existing Handbook blocks are
+  // Book Nav (weight -39) and License (weight -38). So we need to move License
+  // down. To make things easier for the next patch, leave some space.
+  $return[] = update_sql("UPDATE {blocks} SET weight = 0 WHERE module = 'drupalorg_handbook' AND delta = 'license' AND theme = 'bluecheese'");
+  $return[] = update_sql("UPDATE {blocks} SET weight = -20, status = 1, region = 'right', visibility = 1 WHERE module = 'drupalorg_handbook' AND delta = 'next_steps' AND theme = 'bluecheese'");
+
+  return $return;
+}
