blob: 380b05cce7090e64badbc065c244d850f2ea9c38 [file] [log] [blame]
Rich Bennettac93e0e2017-07-19 01:36:52 -04001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2
3
4Documentation Guide
5===================
6
7This page describes how documentation is created for the Open Network Automation Platform (ONAP).
8ONAP projects create a variety of document types depending on the nature of the project.
9Some projects will create detailed technical descriptions such as configuration parameters or how to
Rich Bennett976bffd2017-08-15 07:56:32 -040010use or extend the functionality of platform component.
11These descriptions may be together as a reference for that project and/or
12be used in documents tailored to a specific user audience and task they are performing.
Rich Bennettac93e0e2017-07-19 01:36:52 -040013
14Acknowledgement
15---------------
16
17Much of the content in this document is derived from similar documentation processes used in other Linux Foundation Projects
18including OPNFV and Open Daylight.
19
20.. contents::
21 :depth: 3
22 :local:
23
24Getting Started
25---------------
26ONAP documentation is stored in git repositories, changes are managed with gerrit reviews, and published documents
27automatically generated when there is a change in any source used to build the documentation.
28
29Authors create source for documents in reStructured Text (RST) that is automatically rendered to HTML and PDF
30and published on Readthedocs.io.
Rich Bennett976bffd2017-08-15 07:56:32 -040031The developer Wiki can reference these rendered documents directly allowing projects to
Rich Bennettac93e0e2017-07-19 01:36:52 -040032easily maintain current release documentation.
33Read :ref:`this page <include-documentation>` which describes how documentation is created from
34ONAP Documentation project (doc) documentation source and other ONAP projects providing source material.
35
36Licencing Your Documentation
37^^^^^^^^^^^^^^^^^^^^^^^^^^^^
38All contributions to the ONAP project are done in accordance with the ONAP licensing requirements.
39Documentation in ONAP is contributed
40in accordance with the `Creative Commons 4.0 <https://creativecommons.org/licenses/by/4.0/>`_ license.
41All documentation files need to be licensed using the text below. The license may be applied in the first lines of
42all contributed RST files:
43
44.. code-block:: bash
45
46 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
47 .. (c) <optionally add copywriters name>
48
49 These lines will not be rendered in the html and pdf files.
50
51Storing Content Files in Your Repository
52^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
53All documentation for your project should be structured and stored in `<your_project_repo>/docs/` directory.
Rich Bennett976bffd2017-08-15 07:56:32 -040054The documentation tool chain will look in these directories when triggered by verify and merge events.
Rich Bennettac93e0e2017-07-19 01:36:52 -040055
Rich Bennettd1f09492017-07-25 19:28:00 -040056.. index:: master, document
57
Rich Bennettac93e0e2017-07-19 01:36:52 -040058Document Structure and Contribution
59-----------------------------------
Rich Bennett976bffd2017-08-15 07:56:32 -040060A top level master_document structure is proposed for organizing all documents
61in the four areas as shown below with additional detail under each area.
62This structure may change as we gain experience with the first release of ONAP.
Rich Bennettac93e0e2017-07-19 01:36:52 -040063
Rich Bennettac93e0e2017-07-19 01:36:52 -040064
65::
66
67 docs/
Rich Bennettac93e0e2017-07-19 01:36:52 -040068 ├── release
Rich Bennettac93e0e2017-07-19 01:36:52 -040069 ├── overview
Rich Bennettd1f09492017-07-25 19:28:00 -040070 ├── architecture
71 ├── use-cases
72 ├── tutorials
Rich Bennettac93e0e2017-07-19 01:36:52 -040073 └── release-notes
Rich Bennettd1f09492017-07-25 19:28:00 -040074 ├── onap-developer
75 ├── design
76 ├── develop
77 ├── document
78 └── test
Rich Bennett976bffd2017-08-15 07:56:32 -040079 ├── adminstrator
Rich Bennettd1f09492017-07-25 19:28:00 -040080 ├── configure
81 ├── deploy
82 └── operate
Rich Bennettac93e0e2017-07-19 01:36:52 -040083 ├── service-designer
84 ├── deploy
85 ├── design
86 └── portal
87 └── vnf-provider
88 ├── guidelines
89 └── sdk
90
Rich Bennett976bffd2017-08-15 07:56:32 -040091Templates
92^^^^^^^^^
93Where multiple sections with similar content are expected, templates can be created and stored
94under `doc/docs/templates/` and used a starting point for similar content.
95For example the high level architecture and interface information for an ONAP component.
96A template is a directory name in `doc/docs/templates` , the directory contains at least an
97index.rst file with a starting point for creating content, and as needed
98references to other sources in the template directory. Current templates are shown below.
99
100.. toctree::
101 :maxdepth: 1
102
103 ../../../templates/index
104
105Project teams are encouraged to reuse and propose new templates for reuse.
Rich Bennettac93e0e2017-07-19 01:36:52 -0400106
107Release Documentation
108^^^^^^^^^^^^^^^^^^^^^
109Release documentation is the set of documents that are published for each ONAP release.
110The documents have a master index.rst file in the <doc> repository and reference content as needed
111from other project repository.
Rich Bennett976bffd2017-08-15 07:56:32 -0400112To provide content for these other projects place <content>.rst files in a directory
113in your repository that
Rich Bennettac93e0e2017-07-19 01:36:52 -0400114matches the master document and add a reference to that file in the correct place in the
115corresponding master index.rst.
116