[documentation] Future proof Drupal documentation structure proposal

Thomas Svenson thomas at nutshell.nu
Sun Mar 15 15:11:56 UTC 2009


Hi all,

I have only been using Drupal for a few months, and just started to 
contribute back to the community with a little documentation and help 
for others who are new to Drupal.

The one thing that has been hardest to tackle for me is to find relevant 
information for the tasks I need to perform on my own Drupal sites. The 
current documentation is quite unstructured and it took me quite a while 
before I learned the best methods to use to find what I needed.

While this is still fresh for me I thought it would be a good idea to 
write down my thoughts about how this could be improved and restructured 
so it would be easier for both new Drupal users and more seasoned Drupal 
experts. What I have come up with is a more role based documentation 
structure that I think will make it easier to find what a user is 
looking for and that will be much more expandable and future proof.

My goal with this was to come up with one hierarchy that can be expanded 
as new versions are released as well as addressing the needs of both 
beginners and experienced users.

Top Level Categories
=====================
This is what will shown when clicking the Documentation link.

Getting Started with Drupal
----------------------------
This will only contain documentation and guides on how to download and 
install the currently supported versions of Drupal Core.

Site Administration
--------------------
Here you will find documentation for administration. This includes 
topics such as adding and configuration of modules, updating or 
upgrading, and user management.

Site Building
--------------
This category will contain everything about how build a Drupal site. 
This includes themes, creating content types, site structure, taxonomy 
and so on.

Content Editing
----------------
This sections is for those who will add content to the site. It will 
contain documentation such as how to use WYSIWYG editors and filling in 
forms.

Development
------------
Here all documentation on how to develop for Drupal is collected, both 
for Core and contributed modules.

Document Structure
===================
Looking at the documentation today, a lot cover several Drupal versions 
mixed in the same page. For a beginner this can be a quite big hurdle to 
filter, but it also makes it difficult to maintain as well as update 
when new versions are released.

Also, it does not make it easy for beginners or advanced users to be 
able to quickly find documentation targeted to their level and needs.

I believe some big benefits with my suggestion is that we will be able 
to have one document structure that will cover every version and any 
level of experience, as well as being much easier to maintain.

Version Tabs
-------------
I like the way I can filter modules based on the Drupal version for a 
site and I think this can be reused for documentation as well.

I would like that each page has two sections. The top section is a short 
general information that is for every version of Drupal. The bottom 
section is tabs with one tab for each major version + an optional 
Current tab.

The Current tab is used if the information for 5.x and 6.x is exactly 
the same. If there are any differences between 5.x and 6.x then those 
will then be in separate tabs and there will be no Current tab.

Each tab will have complete information so the user doesn't have to 
first read the 5.x and then the 6.x to see the difference.

When a new major version is released and there are difference, it will 
be very simple to add that information:

- Click on "Add version specific tab"
- If there is a Current tab, set what version(s) it is for
- Set the version for which the new tab is for
- The content editor will be pre-loaded with the content from the tab 
that was forked
- Edit the content by removing irrelevant information and add the new

Beginner / Advanced
--------------------
As I was updating Drupal for the first time I tried to search for good 
documentation, but I only found bits and pieces here and there. Based on 
that I created "HowTo: Updating Drupal 6.x to newer minor version", 
http://drupal.org/node/390448. For a beginner that HowTo is useful as it 
contains all needed information on one page, as well as explanations to 
why and how. For an advanced user though it contains too much information.

My suggestion here is simply to have a sub tab for each version, one 
Beginner and one Advanced. When selecting Beginner you would get the 
above HowTo, but when selecting Advanced you will get a much shorter 
version where all the extra content aimed for beginners is taken out.

Preferable both are based on the same content structure as you could 
then easily switch between them when needed. Then it will also be easy 
to first create the Advanced and then simply use that as base for the 
Beginner and fill in the blanks.


Documentation Defaults
=======================
The Documentation section will remember the Drupal version and 
Beginner/Advanced tabs so that when I click on a link to another page 
they will be used as default view values.


Content Types & Filtering
==========================
There are many ways of creating documentation. It can be everything from 
reference texts, HowTo's, tutorials, videos and so on. I believe it will 
be quite easy to fit them all in the the structure I have outlined above.

When creating a new piece of documentation there needs to be more 
taxonomy options to set. Some are set automatically when the page is 
added (as described above) and some are set manually.

I propose something like:
- Media Type
  - Document
  - Video
- Type
  - Reference
  - HowTo
  - Tutorial
- Drupal version
- Beginner/Advanced

It would then be very nice if it was possible to filter in search so I 
for example can click a checkbox that I only want to get search results 
for HowTo documents for the key words or phrases.


Related Content
================
For each page it should be easy to add links to related content. If 
someone, for example, creates a video that is based on my update HowTo, 
then a link to it, and wise verse, from the HowTo will be available.


Oki, I hope you like my proposal and that some of it can be used to 
improve the Drupal documentation.

/thomas


More information about the documentation mailing list