[development] Idea: Site documenter module
Angela Byron
drupal-devel at webchick.net
Sat Apr 14 01:54:28 UTC 2007
When inheriting a site from a client and trying to figure it out,
there are a number of things one normally does...
- Go to the content types listing and take a look at what types
exist, and what the field definitions are for those types.
- Check out what roles there are, and what permissions are assigned
to those roles.
- Check out what taxonomy vocabularies exist, and to which content
types they're assigned
- etc.
This is all rather time-consuming, as it requires going to about 50
admin screens, and it's difficult to get a "big picture" of what's
happening.
Having been asked to write a document containing some of these things
on a site, I'm thinking of writing a module that basically nicely
formats a db dump into an HTML page so you can get a bird's eye view
of what the site entails. Example output might be:
---
<h1>Site documentation for Example.com</h1>
<h2>Goals</h2>
[insert site goals here; why does the site exist? who's its target
market?]
<h2>Overview of architecture</h2>
[insert overview of architecture here; how various pieces fit
together and why]
<h2>Enabled module list</h2>
<ul>
<li><strong>Custom module</strong>: A custom module for the site.
Description taken from .info file.</li>
<li><strong>Logintoboggan</strong>: Improves Drupal's login system.</li>
<li><strong>Pathauto</strong>: Provides a mechanism for modules to
automatically generate aliases for the content they manage.</li>
</ul>
<h2>Content types</h2>
<h3>Page</h3>
A static page, like a contact page or an about page.
<h4>Fields</h4>
Title
Section (Vocabulary)
Body
<h3>Announcement</h3>
A news announcement on the site.
<h4>Fields</h4>
Title
Category (Vocabulary)
Description (Body)
Attribution (Text)
<h2>Roles</h2>
<ul>
<li><strong>anonymous user</strong>: [insert description here]</li>
<li><strong>authenticated user</strong>: [insert description here]</li>
<li><strong>administrator</strong>: [insert description here]</li>
</ul>
---
Perhaps this would include an intermediary step (a form) would let
you enter in broad descriptions for the site, plus descriptions for
roles, etc. Because this info could be just about anything, it could
be stored maybe as a serialized array somewhere?
It could also have the option to export a blank template which you
could fill in manually when you spec out a new client site.
I was thinking also of a settings page where you can turn on/off the
sections you wish to be included. And it would have to implement a
hook so other modules could expose their things to being included in
the documentation output.
What do you think? Crazy idea? Stupid idea? Anyone interested in
helping to spec something like this out?
-Angie
More information about the development
mailing list