summaryrefslogtreecommitdiffstats
path: root/docs/guide/onap-developer/how-to-use-docs/include-documentation.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/guide/onap-developer/how-to-use-docs/include-documentation.rst')
-rw-r--r--docs/guide/onap-developer/how-to-use-docs/include-documentation.rst225
1 files changed, 128 insertions, 97 deletions
diff --git a/docs/guide/onap-developer/how-to-use-docs/include-documentation.rst b/docs/guide/onap-developer/how-to-use-docs/include-documentation.rst
index 3471ac1ec..7b2818c6a 100644
--- a/docs/guide/onap-developer/how-to-use-docs/include-documentation.rst
+++ b/docs/guide/onap-developer/how-to-use-docs/include-documentation.rst
@@ -1,60 +1,116 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. _include-documentation:
-============================
-Including your Documentation
-============================
-
-.. contents::
- :depth: 3
- :local:
+Setting Up
+==========
+Some initial steps are required to connect a project with
+the master document structure and enable automated publishing of
+changes as summarized in the following diagram and described detail
+below.
+
+.. seqdiag::
+
+ seqdiag {
+ RD [label = "Read The Docs", color =lightgreen ];
+ DA [label = "Doc Project\nAuthor/Committer", color=lightblue];
+ DR [label = "Doc Gerrit Repo" , color=pink];
+ PR [label = "Other Project\nGerrit Repo", color=pink ];
+ PA [label = "Other Project\nAuthor/Committer", color=lightblue];
+
+ === One time setup doc project only ===
+ RD -> DA [label = "Account Setup" ];
+ DA -> DR [label = "Create initial\nrepository content"];
+ DA <<-- DR [label = "Merged" ];
+ RD <-- DA [label = "Connect gerrit.onap.org" ];
+ === For each project & repository containing document source ===
+ DA -> PR [label = "Other Project Contribution to Setup\ndocs directory, index, other initial content" ];
+ PR <-- PA [label = "Review/Merge Change" ];
+ DA <-- PR [label = "Change Merged" ];
+ DA -> DR [label = "Add Other Project Repo as\nGit submodule in doc project" ];
+ DA <-- DR [label = "Change Merged" ];
+ }
+
+
+
+Setup doc project
+-----------------
+These steps are performed only once for the doc project and include:
-In your project repository
---------------------------
+(1) creating in the doc repository an initial:
+ - sphinx master document index
+ - directory structure aligned with the document structure
+ - set of test performed in jenkins verify jobs
+ - configuration for sphinx plugins and redendering of content
+
+(2) establishing an account at readthedocs connected with gerrit.onap.org
-Add your documentation to your repository in the folder structure and
-using templates as described above.
-When using a template, copy the directory in `doc/docs/templates/`,
-to your <repo>/docs/ directory in your repository.
-For instance if you want to document component-info, then your steps shall be
-as follows:
-.. code-block:: bash
+Setup other project(s)
+----------------------
+These steps are performed for each new project repo (referred to in the
+next three code blocks as $newreponame) the master document
+in doc repository references and include:
- git clone ssh://<your_id>@gerrit.onap.org:29418/doc
- cp -p doc/docs/templates/component-info <your_repo>/docs/component-info/
+(1) clone, modify, and commit to the other project an initial: docs top
+level directory; index.rst; any other intial content.
+.. code-block:: bash
-You should then add the relevant information to the template.
-When you are done writing, you can commit
-the documentation to the your project repository.
-The sequence below shows basic git/gerrit steps,
-see `Developer Best Practices`_ for complete current information.
+ git clone ssh://<your_id>@gerrit.onap.org:29418/$newreponame
+ cd $newreponame
+ mkdir docs
+ echo ".. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. _Developer Best Practices: https://wiki.onap.org/x/BZZk
+ $newreponame
+ ============
+ .. toctree::
+ :maxdepth: 1
+
+ " > docs/index.rst
+
+ git add .
+ git commit -m "Add RST docs directory and index" -s
+ git commit --amend
+ # modify the commit message to comply with ONAP best practices
+ git review
+
+When the above commit is reviewed and merged complete step 2 before any
+new changes are merged into $newreponame.
+
+(2) clone, modify, and commit to the doc project: a directory under doc/docs/submodules with the same path/name as the other project and initialized as a git submodule.
+
.. code-block:: bash
+ git clone ssh://<your_id>@gerrit.onap.org:29418/doc
+ # For top level repositories use the following
+ mkdir doc/docs/submodules/$reponame
+ # For lower level repositories you may need to make a directory for each node in path
+
+ echo "../submodules/$newreponame/index.rst" >> docs/release/index.rst
+ cd doc/docs/submodules/$reponame
+
+ git submodule git https://gerrit.onap.org/r/$reponame
+ git submodule init $reponame/
+ git submodule update $reponame/
+
+
git add .
- git commit --signoff --all
+ git commit -m "Add $newreponame as asubmodule" -s
+ git commit --amend
+ # modify the commit message to comply with ONAP best practices
git review
+
-In the ONAP doc Repository
---------------------------
-To import project documents from project repositories, we use git submodules.
-Each ONAP project providing documentation, other than the doc project, is loaded under
-`doc/docs/submodules/` when needed for validating or publishing documentation.
-To describe the relationship between content files we use the `Sphinx toctree directive`.
+The diagram below illustrates what is accomplished in the setup steps
+above from the perspective of a file structure created for local test,
+jenkins verify job, and/or merge/publish documentation including:
-The following diagram illustrates:
- all ONAP gerrit project repositories,
- - the doc project repository including a master document index.rst,
- - other document directories and/or RST files that organize sections and documents doc repository,
- - the submodules directory where other project repositories and directories/files may be referenced,
- - the templates directory with one example, a component-info template that may referenced in release orhigh level design documents, and
- - another project repository example, `appc` that provides documentation source by copying and filling in an instance of the component-info template.
+ - the doc project repository including a master document index.rst, templates, configuration
+ - the submodules directory where other project repositories and directories/files may be referenced
+ - newreponame project repository being added and integrated.
.. graphviz::
@@ -64,81 +120,54 @@ The following diagram illustrates:
size="8,12";
node [fontname = "helvetica"];
// Align gerrit repos and docs directories
- {rank=same doc aaf aai appc repoelipse vnfsdk vvp}
- {rank=same componentinfotemplate localappcdocs }
+ {rank=same doc aaf aai newreponame repoelipse vnfsdk vvp}
+ {rank=same confpy release templates masterindex submodules otherdocdocumentelipse}
- //Show submodule linkage to docs directory
- submodules -> localappcdocs [style=dotted];
//Illustrate Gerrit Repos and provide URL/Link for complete repo list
gerrit [label="gerrit.onap.org/r", href="https://gerrit.onap.org/r/#/admin/projects/" ];
gerrit -> doc;
gerrit -> aaf;
gerrit -> aai;
- gerrit -> appc;
- gerrit -> repoelipse; repoelipse [label=". . . ."];
+ gerrit -> newreponame;
+ gerrit -> repoelipse;
+ repoelipse [label=". . . ."];
gerrit -> vnfsdk;
gerrit -> vvp;
- //Show example of local appc instance of component info
- appc -> localappcdocs; localappcdocs [label="docs"];
- localappcdocs -> componentinfoinstance; componentinfoinstance [label="component-info"];
- componentinfoinstance -> compinfoindexinstance; compinfoindexinstance [label="index.rst", shape=box];
- componentinfoinstance -> compinofotherinstance; compinofotherinstance [label="... other sections", shape=box];
+ //Show example of local newreponame instance of component info
+ newreponame -> newreponamedocsdir;
+ newreponamesm -> newreponamedocsdir;
+ newreponamedocsdir [label="docs"];
+ newreponamedocsdir -> newrepodocsdirindex;
+ newrepodocsdirindex [label="index.rst", shape=box];
- //Show detail structure of a portion of doc/docs _images _static _templates multiple master documents omitted
+ //Show detail structure of a portion of doc/docs
doc -> docs;
- docs -> confpy; confpy [label="conf.py",shape=box];
- docs -> toplevelindex; toplevelindex [label="index.rst", shape=box];
+ docs -> confpy;
+ confpy [label="conf.py",shape=box];
+ docs -> masterindex;
+ masterindex [label="Master index.rst", shape=box];
docs -> release;
- docs -> rsttemplates; rsttemplates [label="templates"];
- docs -> indexdirelipse; indexdirelipse [label="...other\ndocuments"];
+ docs -> templates;
+ docs -> otherdocdocumentelipse;
+ otherdocdocumentelipse [label="...other\ndocuments"];
docs -> submodules
-
- //Example Release document, section release notes, and reference to an instance of component-info
- release -> releasenotes; releasenotes [label="release-notes"];
- releasenotes -> lowerlevelindex; lowerlevelindex [label="index.rst", shape=box];
- lowerlevelindex -> componentinfoinstance;
-
- //Example component-info template
- rsttemplates -> componentinfotemplate; componentinfotemplate [label="component-info"];
- componentinfotemplate -> compinfotmpindex; compinfotmpindex [label="index.rst", shape=box];
- componentinfotemplate -> compinfotmpother; compinfotmpother [label="... other sections", shape=box];
+
+ masterindex -> releasedocumentindex [style=dashed, label="sphinx\ntoctree\nreference"];
+
+ //Show submodule linkage to docs directory
+ submodules -> newreponamesm [style=dotted,label="git\nsubmodule\nreference"];
+ newreponamesm [label="newreponame"];
+
+ //Example Release document index that references component info provided in other project repo
+ release -> releasedocumentindex;
+ releasedocumentindex [label="index.rst", shape=box];
+ releasedocumentindex -> newrepodocsdirindex [style=dashed, label="sphinx\ntoctree\nreference"];
+
}
-In the toctree
-++++++++++++++
-
-To include your project specific documentation in the composite documentation,
-first identify where your project documentation should be included.
-Say your project provides component-info and should be referenced in the `doc/docs/release/release-info/index.rst toctree`, then:
-
-.. code-block:: bash
-
- git clone ssh://<your_id>@gerrit.onap.org:29418/doc
- vim doc/docs/release/release-notes/index.rst
-
-This opens the text editor. Identify where you want to add your release notes.
-If your release notes are to be added to the toctree, simply include the path to
-it, example:
-
-
-.. code-block:: bash
-
- .. toctree::
- :maxdepth: 1
-
- ../../submodules/<your_repo>/docs/component-info/index
-
-When finished, you can request a commit to the doc project repository.
-Be sure to add the PTL of the docs project as a reviewer of the change you just
-pushed in gerrit.
-
-.. code-block:: bash
-
- git add .
- git commit --signoff --all
- git review
+THE FOLLOWING SECTION NEEDS TO BE CONSOLIDATED / UPDATED
As a Hyperlink
@@ -302,3 +331,5 @@ Clone the doc repository and add your submodule using the commands below and whe
git submodule update $reponame/
git add .
git review
+
+