blob: 324688551bbd4a6d9e87eea60a22815cfbb7c953 [file] [log] [blame]
.. This work is licensed under a Creative Commons Attribution 4.0
.. International License. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 AT&T Intellectual Property. All rights reserved.
Style guide
===========
This style guide is for ONAP documentation contributors, reviewers and
committers.
Getting started
---------------
When is documentation required?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
All ONAP project contributions should have corresponding documentation.
This includes all new features and changes to features that impact users.
How do I create ONAP documentation?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ONAP documentation is written in ReStructuredText_ (an easy-to-read,
what-you-see-is-what-you-get, plain text markup syntax). The process for
creating ONAP documentation and what documents are required are
described in later sections of this Developer Documentation Guide.
.. _ReStructuredText: http://docutils.sourceforge.net/rst.html
ReStructuredText markup conventions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For detailed information ReStructuredText and how to best use the format, see:
- `ReStructured Text Primer <http://docutils.sourceforge.net/docs/user/rst/quickstart.html>`_
- `ReStructured Text Quick Reference <http://docutils.sourceforge.net/docs/user/rst/quickref.html>`_
Writing guidelines
------------------
Following these writing guidelines will keep ONAP documentation
consistent and readable. Only a few areas are covered below, as
we don't want to make it too complex. Try to keep things simple
and clear, and you can't go far wrong.
Dont get too hung up on using correct style. Wed rather have you
submit good information that does not conform to this guide than no
information at all. ONAPs Documentation project team will be happy
to help you with the prose.
General guidelines for all documents
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Use standard American English and spelling
- Use consistent terminology
- Write in the active voice, using present simple tense when possible
- Write objective, professional content
- Keep sentences and paragraphs short and clear
- Use a spell checker
Abbreviations and acronyms
^^^^^^^^^^^^^^^^^^^^^^^^^^
- Write out the term the first time it appears in the document,
immediately followed by the acronym or abbreviation in parenthesis.
Then use the acronym in the rest of the document. In diagrams, if
space allows, write out the full term.
- Use an before an acronym that begins with a vowel sound when spoken
aloud; use "a" before an acronym that begins with a consonant
sound when spoken aloud.
+ Examples: an MSO component, a LAN, an L3-VPN
ONAP terms
^^^^^^^^^^
- AA&I vs AAI: AAI should be used.
- APP-C vs APPC: APPC should be used.
- SDN-C vs SDNC: SDNC should be used.
- Heat vs HEAT: Both are in use. The official website uses "Heat".
- life cycle vs lifecycle or life-cycle: "life cycle" is preferred.
- open source (adjective): capitalize only in titles; avoid
"open-source". (Based on prevalence on the web.)
- run-time vs. execution-time (adjective): prefer run-time.
Example: "run-time logging of events"
- run time (noun). Example: "logging of events at run time".
GUI elements
^^^^^^^^^^^^
- In general, write menu names as they appear in the UI.
For example, if a menu or item name is all caps, then write
it all caps in the document.
Headings (Titles)
^^^^^^^^^^^^^^^^^
- Use brief, but specific, informative titles. Titles should give
context when possible.
- Use sentence-style capitalization; do not end with a period or colon.
- Use a gerund to begin section titles. Examples: Configuring,
Managing, Starting.
- Use descriptive titles for tables and figures titles. Do not
number tables or figures. Do not (in general) add titles for screen shots.
Tasks
^^^^^
- Start task titles with an action word. Examples: Create, Add,
Validate, Update.
- Use [Optional] at the beginning of an optional step.
- Provide information on the expected outcome of a step, especially
when it is not obvious.
- Break down end-to-end tasks into manageable chunks.
ONAP Conventions for the Use of Sphinx Directives
-------------------------------------------------
Needs Directive
^^^^^^^^^^^^^^^
* Needs IDs must match the regular expression "^[A-Z0-9]+-[A-Z0-9]+"
* The prefix (string before the dash) must be described in the following table
.. list-table:: Needs Prefix Use
:align: center
:widths: 8 40 40
:header-rows: 1
* - Prefix
- Description
- Use
* - R
- Represents a requirement that must be met by a VNF provider
- Defined only in the vnfrqts project repositories, may be referenced in any project repository source