Site Construction Notes

As much as we try to make the operation and maintenance of our websites intuitive, there is a need to document how a site has been constructed and why certain decisions have been made.  We used the Drupal contributed module Site Notes to meet this need on Drupal Version 5 and 6 websites.  Let's look at an easy to use, and perhaps more flexible way to meet these needs in Drupal 7 and the future.

The Site Notes module served a need in older versions of Drupal.  It is, however, a single use tool and relying upon it makes our sites a little more difficult to upgrade to new releases.  I think there is a better approach that is more flexible and does not introduce a reliance upon a module that only serves this one purpose.

Our new approach relies upon two main modules and a handful of other modules that we include on just about every site we develop such as Dates, Chaos Tools, etc.:

  • Views:  The most commonly used contributed module and installed on virtually all of our websites.
  • Internal Nodes:  A very useful module to create nodes whose content will be displayed via views.  It allows authorized site users to view and handle nodes while preventing anonymous, or otherwise unauthorized, users from viewing the nodes directly.

Here's the process (see below if you'd like to use a feature):

  1. Install, enable and configure permissions for the Views and Internal Nodes modules just like any other Drupal module.
  2. Create a new content type, we'll call it a Site Construction Note.  Note the following settings:
    • Published, Not Promoted to front page
    • (Optional) Don't Display author and date information.
    • Comments closed
    • Menu:  User Menu, if any
    • XML SiteMap: Disabled (only applicable if you have the XML Sitemap module enabled).
    • Internal Node setting: Access denied - 403
  3. (Optional) Add a Link Field; not required; Unlimited number of values
  4. (Optional) Add a File Field; not required; Allowed file extensions: txt  pdf jpg jpeg gif png patch, etc; Unlimited number of values;
  5. Create a View with both a page and block display.  Nothing very special here.  For the page we'll display a list of fields with titles, updated date and a teaser view of the body.  For the block we'll just display a list of fields with titles and updated dates.
  6. Put the block somewhere where it will be convenient for your site maintainers.  E.g., you may add it to a sidebar on the front page or maybe in a footer area on all pages.  The page view can appear as a menu item in a user menu or a special menu you provide for site maintainers. Optionally, you can put a link to the page in the footer for the block.

I've taken these content types and views and created a feature.  You can download a copy of the feature using the link below.  Please see the warning about using Troutreach Features before installing this feature on any of your websites.

Happy documenting!