VNFRQTS <> Documentation Project Workflow



This project generates documentation (not code)  for use by other ONAP projects and for publication by ONAP. 

VNFRQTS Project in relation to Documentation Project

The documentation project compiles and publishes the final version of the documentation source material produced by this project.

The basic process to compile the documents at ONAP is to use the Sphinx / ReadThe Docs tool  driven by a Jenkins job to pull the latest files from the repos and generate the output document format. The Documentation project will  maintain the Sphinx/ Jenkins configs to generate the documents and have them hosted at onap.readthedocs.io. The VNF RQTS project is mainly responsible for generating the files in the VNF RQTS repos.  Sphinx can accept documents in either reStructuredTexT (.rst) or Markdown (.md, .markdown, .txt, .text) formats. An example with ReStructuredTxT and corresponding html generated by Sphinx is provided by the documentation project. An example of developing and contribution markdown source documents is also available here



Essentially, ONAP will treat the requirements documentation as code. To compile the complete documents, The documentation project will maintain a Jenkins job that:

-          Is triggered by a change in /doc project files or any other project/doc/files referenced in the index toctree(s)

-          Collects the referenced source files into a hierarchy within the VM file systems running the Jenkins Job 

-          Run Sphinx makefile to verify relationships and build html, pdf, epub versions

-          If successful issues a RestAPI (webhook api at Readthedocs) to pull the new build into http://onap.readthedocs.io

The requirements documentation must follow the rules defined by the Documentation project: http://onap.readthedocs.io/en/latest/guides/onap-developer/how-to-use-docs/include-documentation.html#testing

- compliant with Doc8 https://pypi.python.org/pypi/doc8

Project Responsibilities 

The VNF Requirements project defines:

  • Where our documentation needs to fit in the overall documentation structure, as well as

  • The structure of our documents (We need to clarify what a Document is)

    • Chapters

    • .rst files

      • start with assuming one chapter per .rst file

      • if chapters too big then chunk smaller by document sections

      • objective is to keep manage-ably sized, coherent chunks of content together for review/commit purposes  

    • The structure of our documents should be reflected as within the repo structure of our project.

      • directories

        • all the .rst files of one document in one directory

        • only one document per directory