As part of the website redesign, we're adding new sections for user generated content. We needed to keep this content separate from the rest of the site, so that any user could edit the user sections, but not the rest of the site. For basic content types, this is simply a matter of defining a new content type based on the standard drupal "node", and then assigning the correct permissions to that new type. But what if you want to do something similar to a more advanced content-type such as a book? One could extend the book module to support a similar derived content feature (best solution). But that can take a fair amount of time, and with no guarantee of changes being accepted upstream, you face the possibility of either running outdated module code, or having to reapply your edits for every update. A quicker, and much simpler method, especially for those with little programming experience, is to make a few, essentially cosmetic changes to the book module. These changes consist primarily of changed the names of the tables the module stores its data in, and the internal name that drupal uses to identify the module and its components. And while your modifying, you can easily alter the human-readable names and descriptions. And its all as easy as Find & Replace.
Comment from Matthew Isaacs on May 9, 2007 - 12:19pm
I found a module this morning that looks like it will provide this missing access control functionality to the book content type. See http://drupal.org/project/bookexpand for more info. It just came out today, however.