blob: 5dc3d714ebfa114e6cdeff34caa343f48e29d043 [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
10use or extend the functionality of platform component that may be used as a standalone reference for that project and/or
11be used in larger end to end documents tailored to a specific user audience and task they are performing.
12
13Acknowledgement
14---------------
15
16Much of the content in this document is derived from similar documentation processes used in other Linux Foundation Projects
17including OPNFV and Open Daylight.
18
19.. contents::
20 :depth: 3
21 :local:
22
23Getting Started
24---------------
25ONAP documentation is stored in git repositories, changes are managed with gerrit reviews, and published documents
26automatically generated when there is a change in any source used to build the documentation.
27
28Authors create source for documents in reStructured Text (RST) that is automatically rendered to HTML and PDF
29and published on Readthedocs.io.
30The developer WiKi can reference these rendered documents directly allowing projects to
31easily maintain current release documentation.
32Read :ref:`this page <include-documentation>` which describes how documentation is created from
33ONAP Documentation project (doc) documentation source and other ONAP projects providing source material.
34
35Licencing Your Documentation
36^^^^^^^^^^^^^^^^^^^^^^^^^^^^
37All contributions to the ONAP project are done in accordance with the ONAP licensing requirements.
38Documentation in ONAP is contributed
39in accordance with the `Creative Commons 4.0 <https://creativecommons.org/licenses/by/4.0/>`_ license.
40All documentation files need to be licensed using the text below. The license may be applied in the first lines of
41all contributed RST files:
42
43.. code-block:: bash
44
45 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
46 .. (c) <optionally add copywriters name>
47
48 These lines will not be rendered in the html and pdf files.
49
50Storing Content Files in Your Repository
51^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52All documentation for your project should be structured and stored in `<your_project_repo>/docs/` directory.
53The documentation toolchain will look in these directories and be triggered by events in repositories
54containing these directories.
55when generating documents.
56
Rich Bennettd1f09492017-07-25 19:28:00 -040057.. index:: master, document
58
Rich Bennettac93e0e2017-07-19 01:36:52 -040059Document Structure and Contribution
60-----------------------------------
Rich Bennettd1f09492017-07-25 19:28:00 -040061A top level master_document structure is proposed for organizing and storing all documents.
Rich Bennettac93e0e2017-07-19 01:36:52 -040062Four areas as shown below with some additional detail under each area.
63This structure may change some as we get the full requirements and gain experience with the first reelase of ONAP.
64Where multiple sections with similar content are expected, templates can be created and stored
65under `doc/docs/templates/`. For example each component providing release notes uses the same release-note template.
66A template is a directory name in `doc/docs/templates` and the directory contains at least an index.rst file with
67content and as needed references to other sources in the template directory.
68
69Project teams are encouraged to reuse and if needed propose new templates to ensure that there is
70consistency across projects.
71
72::
73
74 docs/
Rich Bennettac93e0e2017-07-19 01:36:52 -040075 ├── release
Rich Bennettac93e0e2017-07-19 01:36:52 -040076 ├── overview
Rich Bennettd1f09492017-07-25 19:28:00 -040077 ├── architecture
78 ├── use-cases
79 ├── tutorials
Rich Bennettac93e0e2017-07-19 01:36:52 -040080 └── release-notes
Rich Bennettd1f09492017-07-25 19:28:00 -040081 ├── onap-developer
82 ├── design
83 ├── develop
84 ├── document
85 └── test
86 ├── administrator
87 ├── configure
88 ├── deploy
89 └── operate
Rich Bennettac93e0e2017-07-19 01:36:52 -040090 ├── service-designer
91 ├── deploy
92 ├── design
93 └── portal
94 └── vnf-provider
95 ├── guidelines
96 └── sdk
97
98
99Release Documentation
100^^^^^^^^^^^^^^^^^^^^^
101Release documentation is the set of documents that are published for each ONAP release.
102The documents have a master index.rst file in the <doc> repository and reference content as needed
103from other project repository.
104To provide content for these other projects place <content>.rst files in a directory in your repository that
105matches the master document and add a reference to that file in the correct place in the
106corresponding master index.rst.
107
108**Release Overview**: `doc/docs/release/overview`
109
110- Content for this is prepared by the Marketing team together with the use case committee and doc project team.
111- This document is not a project contribution driven document.
112
113**Installation Instruction**: `doc/docs/release/install`
114
115- Document providing an introduction, order, and aggregation of release notes from other component projects.
116- This document is a contribution driven document.
117
118**To Be Provided**: `<repo>/docs/xxxxxxxx`
119
120- Additional descriptions for the above outline as it is finalized.
121
122