Last updated May 10, 2013.

THIS PAGE IS A WORK IN PROGRESS... It should have more information shortly!

This document covers updating documentation (online and API) for the Symfony component of Drupal (adopted in Drupal version 8).

Background and Overview

In Drupal version 8, the Drupal Core project adopted several third-party libraries into its source code, including the Symfony web development framework. The Symfony library is under directory core/vendor/symfony in the Drupal core source code (version 8), and other PHP-based libraries are in other directories under core/vendor. There are also third-party JavaScript libraries in Drupal, such as JQuery (which has been part of Drupal for many versions); these have traditionally been located in the "misc" directory, mixed in with Drupal-native JavaScript libraries.

If you find an error or omission in Symfony's documentation and would like to contribute to the Drupal and Symfony projects by fixing it (or at least pointing it out), the basic steps are the same as contributing to the Drupal API documentation:

  • Finding the source file or online page where the documentation is
  • Reporting the problem as an issue (if it isn't already reported), or
  • Finding an issue to work on
  • Fixing the issue with a patch

These steps are outlined in sections below. Welcome to the collaboration!

Finding the source file or online page where the documentation is

Symfony's documentation is split into 2 pieces:

A) Online Documentation

URL: symfony.com/documentation

This is where the majority of the documentation lives. The source for this documentation is stored on GitHub: github.com/symfony/symfony-docs. This is *not* API documentation - everything is housed in an external repository.

B) API Documentation

URL: api.symfony.com or in the source code

Symfony uses API documentation in its source code to clarify return arguments, parameters and basic details about a function or class. This is a bit different than Drupal where extensive documentation is placed inside the code itself. In Symfony, the extensive documentation is stored in the online documentation.

The source for this documentation is the actual code on GitHub: github.com/symfony/symfony.

Reporting the problem as an issue (if it isn't already reported)

Once you've identified where the issue is, you can check the issues on the correct GitHub repository. If you don't find an existing issue, you can open one or fix the issue directly.

A) Online Documentation Issue (most things will be reported here): [Issues] [Contribution Guide]

B) API Documentation Issue (most things will be reported here): [Issues] [Contribution Guide]

Finding an issue to work on

TBD

Fixing the issue with a patch

Luckily for anyone who is already contributing to Drupal API documentation or code, the Symfony project also uses Git for revision control. So, the process of patching API documentation in Symfony is similar to what you would do for a Drupal-sourced issue, except you'll need to use Symfony's issue tracking system and Git repository.

For documentation, you'll typically want to clone and submit changes to the documentation repository: [symfony/symfony-docs] and follow its [Contribution Guide]

If you find a change to API documentation in the code, see Symfony's guide to patching: http://symfony.com/doc/current/contributing/code/patches.html and
Symfony's coding and API documentation standards: http://symfony.com/doc/current/contributing/code/standards.html. In this case, you'll clone and make changes to the main code repository: https://github.com/symfony/symfony