diff --git a/src/site/xdoc/issue-tracking.xml b/src/site/xdoc/issue-tracking.xml
index 369b988..0d623b7 100644
--- a/src/site/xdoc/issue-tracking.xml
+++ b/src/site/xdoc/issue-tracking.xml
@@ -43,35 +43,35 @@
 -->
 <document>
   <properties>
-    <title>Commons DbUtils Issue tracking</title>
-    <author email="dev@commons.apache.org">Commons Documentation Team</author>
+    <title>Apache Commons DbUtils Issue tracking</title>
+    <author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
   </properties>
   <body>
 
-    <section name="Commons DbUtils Issue tracking">
+    <section name="Apache Commons DbUtils Issue tracking">
       <p>
-      Commons DbUtils uses <a href="http://issues.apache.org/jira/">ASF JIRA</a> for tracking issues.
-      See the <a href="http://issues.apache.org/jira/browse/DBUTILS">Commons DbUtils JIRA project page</a>.
+      Apache Commons DbUtils uses <a href="https://issues.apache.org/jira/">ASF JIRA</a> for tracking issues.
+      See the <a href="https://issues.apache.org/jira/browse/DBUTILS">Apache Commons DbUtils JIRA project page</a>.
       </p>
 
       <p>
-      To use JIRA you may need to <a href="http://issues.apache.org/jira/secure/Signup!default.jspa">create an account</a>
+      To use JIRA you may need to <a href="https://issues.apache.org/jira/secure/Signup!default.jspa">create an account</a>
       (if you have previously created/updated Commons issues using Bugzilla an account will have been automatically
-      created and you can use the <a href="http://issues.apache.org/jira/secure/ForgotPassword!default.jspa">Forgot Password</a>
+      created and you can use the <a href="https://issues.apache.org/jira/secure/ForgotPassword!default.jspa">Forgot Password</a>
       page to get a new password).
       </p>
 
       <p>
       If you would like to report a bug, or raise an enhancement request with
-      Commons DbUtils please do the following:
+      Apache Commons DbUtils please do the following:
       <ol>
-        <li><a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310470&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">Search existing open bugs</a>.
+        <li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310470&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">Search existing open bugs</a>.
             If you find your issue listed then please add a comment with your details.</li>
         <li><a href="mail-lists.html">Search the mailing list archive(s)</a>.
             You may find your issue or idea has already been discussed.</li>
         <li>Decide if your issue is a bug or an enhancement.</li>
-        <li>Submit either a <a href="http://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310470&amp;issuetype=1&amp;priority=4&amp;assignee=-1">bug report</a>
-            or <a href="http://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310470&amp;issuetype=4&amp;priority=4&amp;assignee=-1">enhancement request</a>.</li>
+        <li>Submit either a <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310470&amp;issuetype=1&amp;priority=4&amp;assignee=-1">bug report</a>
+            or <a href="https://issues.apache.org/jira/secure/CreateIssueDetails!init.jspa?pid=12310470&amp;issuetype=4&amp;priority=4&amp;assignee=-1">enhancement request</a>.</li>
       </ol>
       </p>
 
@@ -80,7 +80,7 @@
       <ul>
         <li>the more information you provide, the better we can help you</li>
         <li>test cases are vital, particularly for any proposed enhancements</li>
-        <li>the developers of Commons DbUtils are all unpaid volunteers</li>
+        <li>the developers of Apache Commons DbUtils are all unpaid volunteers</li>
       </ul>
       </p>
 
@@ -92,9 +92,9 @@
       <p>
       You may also find these links useful:
       <ul>
-        <li><a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310470&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">All Open Commons DbUtils bugs</a></li>
-        <li><a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310470&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=5&amp;status=6">All Resolved Commons DbUtils bugs</a></li>
-        <li><a href="http://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310470&amp;sorter/field=issuekey&amp;sorter/order=DESC">All Commons DbUtils bugs</a></li>
+        <li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310470&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=1&amp;status=3&amp;status=4">All Open Apache Commons DbUtils bugs</a></li>
+        <li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310470&amp;sorter/field=issuekey&amp;sorter/order=DESC&amp;status=5&amp;status=6">All Resolved Apache Commons DbUtils bugs</a></li>
+        <li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;pid=12310470&amp;sorter/field=issuekey&amp;sorter/order=DESC">All Apache Commons DbUtils bugs</a></li>
       </ul>
       </p>
     </section>
diff --git a/src/site/xdoc/mail-lists.xml b/src/site/xdoc/mail-lists.xml
index 5133881..cdb0c80 100644
--- a/src/site/xdoc/mail-lists.xml
+++ b/src/site/xdoc/mail-lists.xml
@@ -41,14 +41,14 @@
 -->
 <document>
   <properties>
-    <title>Commons DbUtils Mailing Lists</title>
-    <author email="dev@commons.apache.org">Commons Documentation Team</author>
+    <title>Apache Commons DbUtils Mailing Lists</title>
+    <author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
   </properties>
   <body>
 
     <section name="Overview">
       <p>
-        <a href="index.html">Commons DbUtils</a> shares mailing lists with all the other 
+        <a href="index.html">Apache Commons DbUtils</a> shares mailing lists with all the other
         <a href="http://commons.apache.org/components.html">Commons Components</a>.
         To make it easier for people to only read messages related to components they are interested in,
         the convention in Commons is to prefix the subject line of messages with the component's name,
@@ -58,24 +58,27 @@
         </ul>
       </p>
       <p>
-        Questions related to the usage of Commons DbUtils should be posted to the
+        Questions related to the usage of Apache Commons DbUtils should be posted to the
         <a href="http://mail-archives.apache.org/mod_mbox/commons-user/">User List</a>.
         <br />
         The <a href="http://mail-archives.apache.org/mod_mbox/commons-dev/">Developer List</a>
-        is for questions and discussion related to the development of Commons DbUtils.
+        is for questions and discussion related to the development of Apache Commons DbUtils.
         <br />
         Please do not cross-post; developers are also subscribed to the user list.
+        <br />
+        You must be subscribed to post to the mailing lists.  Follow the Subscribe links below
+        to subscribe.
       </p>
       <p>
         <strong>Note:</strong> please don't send patches or attachments to any of the mailing lists.
-        Patches are best handled via the <a href="issue-tracking.html">Issue Tracking</a> system. 
-        Otherwise, please upload the file to a public server and include the URL in the mail. 
+        Patches are best handled via the <a href="issue-tracking.html">Issue Tracking</a> system.
+        Otherwise, please upload the file to a public server and include the URL in the mail.
       </p>
     </section>
 
-    <section name="Commons DbUtils Mailing Lists">
+    <section name="Apache Commons DbUtils Mailing Lists">
       <p>
-        <strong>Please prefix the subject line of any messages for <a href="index.html">Commons DbUtils</a>
+        <strong>Please prefix the subject line of any messages for <a href="index.html">Apache Commons DbUtils</a>
         with <i>[dbutils]</i></strong> - <i>thanks!</i>
         <br />
         <br />
@@ -96,7 +99,7 @@
           <td>
             <strong>Commons User List</strong>
             <br /><br />
-            Questions on using Commons DbUtils.
+            Questions on using Apache Commons DbUtils.
             <br /><br />
           </td>
           <td><a href="mailto:user-subscribe@commons.apache.org">Subscribe</a></td>
@@ -114,7 +117,7 @@
           <td>
             <strong>Commons Developer List</strong>
             <br /><br />
-            Discussion of development of Commons DbUtils.
+            Discussion of development of Apache Commons DbUtils.
             <br /><br />
           </td>
           <td><a href="mailto:dev-subscribe@commons.apache.org">Subscribe</a></td>
@@ -185,10 +188,10 @@
             General announcements of Apache project releases.
             <br /><br />
           </td>
-          <td><a class="externalLink" href="mailto:announce-subscribe@apache.org">Subscribe</a></td> 
-          <td><a class="externalLink" href="mailto:announce-unsubscribe@apache.org">Unsubscribe</a></td> 
+          <td><a class="externalLink" href="mailto:announce-subscribe@apache.org">Subscribe</a></td>
+          <td><a class="externalLink" href="mailto:announce-unsubscribe@apache.org">Unsubscribe</a></td>
           <td><i>read only</i></td>
-          <td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/www-announce/">mail-archives.apache.org</a></td> 
+          <td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/www-announce/">mail-archives.apache.org</a></td>
           <td><a class="externalLink" href="http://markmail.org/list/org.apache.announce/">markmail.org</a><br />
               <a class="externalLink" href="http://old.nabble.com/Apache-News-and-Announce-f109.html">old.nabble.com</a><br />
               <a class="externalLink" href="http://www.mail-archive.com/announce@apache.org/">www.mail-archive.com</a><br />
