The Drupal handbooks are the primary documentation reference sources for how to use Drupal. They are maintained by the Documentation team. The handbooks use the book module, which enables collaborative editing and provides navigation elements.
Off-line copies of any the five documentation handbooks can be created as follows:
Handbook conventions:
Drupal version applicability for each page should be designated by the page author. These tags are displayed on the right immediately under the title.
Paths: Instructions such as (administer > user management > access control) are not URLs, but refer to the navigation steps to get to a particular page. In this example, select 'administer' from the navigation menu, then 'user management' under 'administer,' then 'users' under that. Variations include the absence of the parenthesis, lack of italic type face, and use of ">>" or "»" instead of ">." On the other hand, a reference to 'admin/access' is a URL reference.
Drupal documentation relies on volunteer effort. The current documentation team coordinator is Steven Peck
There are five separate Handbooks, each with its own focus.
The About Drupal book contains the history and mission statements for the project, basic information on Drupal version numbers and some information about Drupal.org. It also contains some marketing material and links to professional support services and other tips for interacting with the community.
The Installation and configuration book is focused on setting up Drupal core and some basic best practices. This is a slight change from it's previous role and some basic reference instructions have been moved out.
The Customization and theming book is a variety of reference material and How to's, example snippets and theme guide. There is a section for the large more complex of the contributed modules as well (Views). The theme guide needs some attention as part of the information still relates to older versions of Drupal.
Developing for Drupal is the oldest book and the original root prior to the division into five handbooks. It is fairly actively updated in various section as many of our active developers understand the value of documentation. It is hoped that the new Drupal dojo project will also be a good source of new developer documentation. The most up-to-date code documentation and examples can be found on api.drupal.org which is primarily generated from the Drupal source code itself.
The About Drupal documentation book contains information about Drupal documentation projects, authoring guides for documentation, and copyright and licensing notices for the handbook.
Contributing to documentation is an excellent way to support the Drupal project -- even if you are a beginner. In fact beginners have a distinct advantage over the experts, because they can more easily spot the places where documentation is lacking.
A good habit to get into is whenever you seek help from the handbooks and get stuck, take that as your cue to start taking notes. Note down everything you try in order to solve your problem as you go along. Don't do it later because you'll forget the all important details. Then, once you find the solution, use your notes to make the handbook better. Once you develop the habit, this is an almost effortless way of helping!
So, how do actually put your improvements into the handbook? Well, there are many options...
Join the documentation team if you would like to do a lot of contributing to the documentation handbooks, particularly editing.
But you don't have to be a member of the documentation team to contribute! The first five ways listed below are available to everyone after creating an account. Everyone's contributions and suggestions for maintaining and improving the documentation handbooks are welcome and encouraged. Here are the different ways to contribute to the documentation effort:
Submit an issue to make a documentation page update suggestion. Make it against the documentation section of the project. Check to see if an issue already exists for your suggestion; if so, you can improve the existing one. Issue reports are the preferred method if you have a specific change recommendation. See Documentation issue reports for more on using issue reports.
Comment on existing pages. You must be logged in (authenticated user) to do this. The principle limitation is that comments are not rigorously reviewed by the documentation team the way an issue submission is. See the linked page for more on commenting on handbook pages.
E-mail the documentation list. If you have a general comment or proposal on the handbooks, then start with presenting it to the documentation team. Note that if you can suggest specific actions, it would be better to submit an issue.
Submit a forum topic. This might be the best venue for general observations and discussion if input from the entire community is sought. Vetting it through the documentation list first will help better define your discussion. The documentation forum is also a good place to ask the location of a documentation topic. See also Tips for posting to the Drupal forums.
Add handbook pages. Presently, all authenticated users can add new pages. If you want your new page reviewed for location or content after adding it, submit an issue with status "code needs review." For "missing" pages you feel should be created to cover a particular subject, do not create a nearly-blank stub page; instead, submit an issue with category "feature request." Be sure to familiarize yourself with the Documentation writer's guide and the Style guide.
Edit handbook pages. Editing existing pages that you didn't create requires the documentation maintainer role. For this, join the documentation team. The documentation maintainer role will allow you to edit most handbook pages, including their hierarchical location (but not order). Substantial changes such as major re-writes and changing top level page organization should be discussed on the documentation mail list first.
Delete handbook pages. The site maintainer role is required to delete handbook pages, remove comments (once they have been incorporated into a handbook page), unpublish and publish pages, change page weight (order), and edit certain pages. Only a few members of the documentation team have this responsibility. Submit an issue to propose your actions.
The API documentation for Drupal developers is a bit different, as this is auto-generated from files in CVS. To update the description of a file or function, submit a doxygen patch against the core file in question. To update one of the "topics" pages, hooks documentation, or pages such as the Forms API reference, see Updating API documentation. See also Embedded documentation.
Everyone in the Drupal community is invited to submit new pages in the Drupal handbook. Join the documentation team to edit existing pages.
This page is primarily to:
Issue reports are the primary tool by which handbook updates are tracked. Always include the node number or URL.
Issues vs. e-mails: It is usually better to submit issues than sending e-mail directly to the documentation list for most matters, including any topic that requests response or action. That way, the topic becomes a node, and can be more easily followed. For requests to join the documentation team, proposals, and similar discussions, label the issue report with category: "support request," and status: "active."
See Bug reports for documentation on submitting issues against modules. See Embedded documentation for submitting issues on the built-in help text.
Issue report project:
Issue report category:
Issue report status:
Issue report style guide:
<a href="/node/999">.Discussion amongst the documentation maintainers (via an issue report) should be pursued prior to performing the following types of changes:
Look at existing issues to verify that the topic is not already filed. Reference potentially-related issues. If a forum discussion is the genesis of an issue submission, reference it.
Duplicate issues: If an already-created issue turns out to duplicate another issue, update its status as "duplicate" and reference the issue kept. Keep the issue that is older, or has unique additional information like a patch, or already assigned. After being marked as "duplicate," an issue should then be updated to "fixed" by the person assigned to it, the originator, or someone else, after verifying that it is a duplicate. A "duplicate" issue does not automatically update to "closed" like a "fixed" issue.
Attachments should be used for large write-ups to help reduce the length of the list e-mails, and when substantial html markup is used.
"@username:" is often used in an issue update to indicate response to a particular person's earlier comment.
"+1" and "-1" are used by seasoned members to indicate a vote of support or recommendation against a proposed update.
Please enable the personal contact form in your user account so that documentation team members can contact you about your issue submission.
Commenting on Handbook pages is when you use the "Add new comment" button to post a comment, or "reply" to an existing comment.
In general, the preferred method for reporting handbook problems is to submit an issue with category "bug report." The best method for requesting missing documentation is to submit an issue with category "feature request."
The documentation team has limited resources, and handbook page comments are lower in priority than submitted issues.
Please read the following points carefully before adding comments to Handbook pages. We try to keep the handbook clean and up to date, but with a limited pool of volunteers this tends to happen in batches.
Valid handbook comments:
If you can follow up your comment with a bug report, that would be helpful. Please note that when your comments are incorporated into the documentation, your comments will be removed.
Comments are hard to maintain and often confuse readers; thus, the following kinds of comments are discouraged:
Bad handbook comments:
If you post a "Bad" comment in the handbook pages, it will be edited or removed.
Every Drupal website contains administrative documentation links embedded into its pages and modules. This documentation is very important to get correct because it lives with the Drupal installation and cannot be changed once the core version is frozen for distribution. The editable version of the embedded documentation is maintained here on drupal.org in the modules section of the Handbook, and on the introductory page of each core and contributed module.
During feature freeze of each new major Drupal release, the Documentation Team updates the module pages in the handbook so that the help is consistent with the latest Drupal version. Once the wording is correct, the embedded doc pages are then rolled into Core. This process is described in more detail on the following pages: [Insert links to detail pages here.]
Getting started:
The documentation team and the Drupal developers have decided that the format of module pages and administrative help docs need to be short and scannable. If you would like to know more about why users scan web documentation instead of reading it fully, review the Why Users Scan Instead Of Read article on Jakob Nielsen's site.
The embedded documentation style guide describes guidelines for structure, content, and links in embedded documentation.
Structure
Content
Links to common tasks
NOTE: In order to facilitate auto-generation of admin help documentation from the handbook, there have been changes to this section. Please read carefully.
1. If describing an internal Drupal link, such as admin/settings, use the notation:
<strong class="drupal_link_admin_settings">administer >> settings</strong>
Place the path in a <strong> attribute, and give it a class of drupal_link_path_separated_by_underscores.
2. If describing a link to a Drupal file, such as cron.php, use the notation:
<strong class="drupal_base_cron_php">cron.php</strong>
Place the path in a <strong> attribute, and give it a class of drupal_base_name_of_file
3. If you are linking to additional information on the web, such as a Drupal.org handbook page, enter the link as normal. It is suggested that the last item in the "You can" be a link to the module project page, something like:
file issues, read about known bugs, and download the latest version on the <a href="http://drupal.org/node/####">modulename project page</a>.
A style guide provides consistency throughout the handbooks, just as Coding standards do for the modules. It offers guidelines for individual page structure, formatting, and markup, as well as language usage, such as italicizing, bolding, spelling, and capitalization. Also see the Documentation writer's guide for overall handbook considerations, such as organization and structure.
All pages, submissions, and edits in the Handbook must follow the following guidelines. Updates to the Handbooks submitted to the moderation queue will not be published until they follow these guidelines.
destination (<em>path > to > item > destination</em>)<a href="http://www.drupal.org/node/1234567"><a href="/node/1234567">I like cat stomachs. To learn more about them <a href="http://www.catstomachsrule.com">click here</a>My favorite organ in a cat is the <a href="http://www.catstomachsrule.com" title="Information about Cats and their Stomachs">stomach</a>Do not use <h1>, <h2>, <h3>, <h4>, <h5>, and <h6> heading tags. Use of these tags inside of a book page is a sign of a structural problem. They should never appear. The presence of these elements implies:
If you feel the urge to include them in your book page, one or more of the following is probably true:
Incorporating comments made on documentation handbook pages is one way documentation maintainers can usefully edit pages. Although documentation maintainers can not edit or delete the comments themselves, they can incorporate them into the page. An issue report can then be submitted, and a documentation team member who is also a site maintainer can easily remove the incorporated comments. This is also called "rolling comments into the handbook," similar to rolling code patches.
The Drupal documentation team collaboratively maintains or coordinates:
Drupal documentation relies on volunteer effort. The current documentation team coordinator is Steven Peck.
To regularly add pages, edit pages, or help in the handbook organization, join the documentation team. Even new members can significantly contribute to the community by suggesting and making improvements to the documentation as they go through processes for the first time.
Steps to join:
Quick start guide:
What to work on and be aware of:
Screenshots on Drupal.org must follow these standards:
Format: PNG-8
PNG is preferred because of its lossless compression and small file size. JPEG is not suitable - it leaves artifacts and its 24-bit color depth is unneccesary when dealing with screenshots. GIF is not used because it is an outdated format.
Size:
700 x 700 pixels is the maximum preferred image size.
Browser window:
All screenshots must include the entire browser window; e.g.: the title bar and scrollbars. Capture only the browser window, not the entire desktop; crop the image in an image utility manually if your operating system or capturing utility can't be set to just the browser window.
Remove all distracting items from your browser application including sidebars, tabs, toolbars, Google bars, custom links, etc. Keep only the URL address bar, and make sure it is long enough that the current URL won't be hidden.
Windows XP:
Turn off ClearType font smoothing when taking screenshots under XP, if you can, please. Most people don't have this feature and it increases the file size somewhat.
Uploading:
Attach the image to an issue; that is, submit an issue (with Category "task") for the page you're updating and attach the image you wish to use. Then reference the URL in the page. At present, this appears to be the best method for regular handbook maintainers.
References:
Screenshots in the GNOME Documentation.
This document covers updating the API documentation at http://api.drupal.org/.
All documentation for core functions, constants, and files are automatically generated from the core modules in Drupal. For example:
To update these, you must submit a core patch to edit the Doxygen comments of the code in question.
In addition to core code documentation, there are also manually created and maintained reference documents for things such as hook definitions, Form API documentation, and example module code. For example:
You can also review these files online with viewcvs.
Anyone with a CVS account can edit these additional reference documents. For minor edits, such as fixing typos or blatant errors, feel free to commit changes directly.
For bigger changes, or if you do not have a CVS account, create a Documentation issue select the Documentation in CVS component. It is important to always create an issue, attached a patch, and include a reference to the issue in the commit message when making significant changes so that other developers can understand what was done and why. In other words, follow the same practives you would follow for committing code to CVS.
To modify the CVS documentation directly, use the following steps. You can refer to the CVS section of the handbook for more information about using CVS. It is important to remember to make your changes in each version of the documentation that needs it!
cvs -z6 -d:pserver:username@cvs.drupal.org:/cvs/drupal-contrib checkout -d docs contributions/docs/developer
cvs -z6 -d:pserver:username@cvs.drupal.org:/cvs/drupal-contrib checkout -d docs5 -r DRUPAL-5 contributions/docs/developer
DRUPAL-5 with DRUPAL-4-7 for 4.7.
cvs commit -m "Put a meaningful message about what you did here. Also refer to an issue number with a # symbol if one exists (e.g. #112233) and give credit to users who may have provided a patch."
Anyone seeking to initiate new documentation projects --project teams and individuals--must submit a project proposal and post and maintain a project spec.
Goals of project proposals
Goals of project specs
Project proposals and specs should attempt to address each of the following:
Submitting and maintaining the project proposal and spec:
This Documentation writer's guide covers overall considerations for the handbook which should be kept in mind when editing and adding handbook pages. This includes topics such as hierarchical organization, editing existing vs. adding new pages, separation of documentation for different Drupal versions, page length, author block, and page weight.
The purpose of these guidelines is to make the handbooks more consistent and usable, particularly the navigation. These guidelines, though written mainly for documentation maintainers, will also be useful for all documentation contributors, who submit issues and can add pages.
In contrast, the style guide offers guidelines for individual page structure, formatting, and markup, as well as language usage, such as italicizing, bolding, spelling, and capitalization.
See Handbooks overview for a description of the five handbooks: "About Drupal," "Installation and configuration," "Customizing and theming," "Developing for Drupal," and "About Drupal documentation."
See the End user guide for help with adding pages or editing pages. All drupal.org users can now create new pages in the handbooks. But when some else updates a page you created, Drupal tracks that person as the page's author, and you lose ability to edit it. To update it, submit an issue, or request to join the documentation team, which will give you permission to edit most handbook pages.
Hierarchical organization:
Main topic
--Theory
--Implementation
--Examples
----Example one
----Example two
--Special circumstances
----Case one
----Case two
Main topic
--Theory
--Implementation
--Example one
--Example two
--Special circumstance considerations
--Circumstance one
--Circumstance two
In this example, the "Special circumstances" page in the top structure covered general considerations and was more than an organizational place holder, so a "Special circumstance considerations" page was placed ahead of the special circumstance cases in the bottom structure.
Titles: In addition to the Style guide directions, also consider how the title of a page fits in to the overall structure. Is there a long flat list of titles, many of which "almost, but not quite" match a user's question?
Main chapters: The five handbooks should generally each have twelve chapters or fewer, since the "Handbooks" tab shows all the top-level chapters of all of the books.
Editing versus adding pages: Try to edit current pages rather than create new pages. It is better to cover a topic in one location succinctly, and then reference the topic from related pages. Editing existing pages rather than creating new ones also preserves links that reference current pages.
Versions: There is only one set of documentation handbooks, since many pages apply to all versions of Drupal; since there are insufficient resources to maintain different sets of handbooks for different versions of Drupal; since inconsistencies would develop between parallel versions due to only one book being corrected when the problem affects both; and since guidance on the only available version is often useful to the reader who has a different version.
Information for different Drupal versions can be kept together on one page or separated on different pages. It is generally preferred to cover information for all the versions on a single page, but if instructions for the different Drupal versions differ substantially, separate pages are appropriate. Use the "Drupal version" drop-down menu and select which version(s) the page applies to.
If each version is dealt with on a separate page:
If multiple versions are dealt with on one page:
Page length: Longer pages of several screens are acceptable. Use <b> or <strong> tags to provide sub-topic headings within the page. Very long pages should list the page contents (preferably with links) after the opening paragraph.
Authorship: Avoid changing page authorship unless you have done a major re-write. (Currently, only site maintainers have access to the author field.)
Log message: Enter a brief log message to explain the page update.
Weight: Only site administrators can change the order of pages that appear under a common heading. To request such changes, submit an issue report.
Tips on using the documentation handbooks:
Searching the Documentation handbooks: Narrow your search to the Documentation handbooks by:
Browsing the documentation handbooks:
Asking the location of documentation (when you can't find it) can be done by:
Saving copies of any the five documentation handbooks for off-line use can be accomplished as follows: