Newer
Older
# Documenting
OpenCAPIF's documentation runs on [MkDocs](https://www.mkdocs.org/).
## Eligibility
Documenting OpenCAPIF is limited to active contributors. So, if you:
1. are an active member or participant;
2. wish to contribute to it;
3. you're ready!
[MkDocs](https://www.mkdocs.org/) is a fast and simple static site generator that's geared towards building project documentation. Documentation source files are written in `Markdown`, and configured with a single `YAML` configuration file. Start by reading the [introductory tutorial](https://www.mkdocs.org/getting-started/), then check the [User Guide](https://www.mkdocs.org/user-guide/) for more information.
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
### How it works?
There are 2 ways to upgrade documentation published on [OCF Documentation]:
* Push any change on **develop** branch will force update of **develop** version on the [OCF Documentation] website;
* Create a tag, this will create a version with tag name on the [OCF Documentation] website.
### Branches
This documentation repository has 2 protected branches:
* **main**: this branch will store the information stable;
* **develop**: any change uploaded on this branch will upgrade **develop** version of the documentation published on the [OCF Documentation] website.
### Structure
In the `mkdocs.yml` file you will find the navigation structure of the documentation, there you can sections with sub-sections.
*For example:*
```yaml
nav:
- Overview:
- Introduction: index.md
- Getting Started:
- How to Run: ./gettingstarted/howtorun.md
- Testing:
- Test Plan: ./testing/testplan/README.md
- Robot Framework: ./testing/robotframework/README.md
- Postman: ./testing/postman/README.md
- FAQ: ./FAQ.md
```
As you can see here, we have at the time of writing this page, 5 main sections:
* Overview: here we placed high-level information like version changelog, some initial scripts, ...
* Getting Started: this section contains a simple way to start working with the project;
* Testing: detailed information of **how to test** OpenCAPIF, and test plan developed to ensure the code has all implemented functionality checked;
* Contribute: details about how to contribute code and docs;
* FAQ.
### Main Page
The page shown first is at **doc/index.md**. That page should be updated with the latest changes of OpenCAPIF, also including the version.
To contribute to OpenCAPIF's documentation, you need to follow these easy steps:
1) Clone the [Documentation repository](https://labs.etsi.org/rep/ocf/documentation) with:
```bash
git clone https://labs.etsi.org/rep/ocf/documentation.git
```
2) Checkout the develop branch (incoming contributions are only accepted to the **develop** branch):
```bash
cd ./documentation
git checkout develop
```
3) Setup a local ``mkdocs`` server, using a virtual environment:
```bash
python3 -m venv venv
source venv/bin/activate
python -m pip install mkdocs
python -m pip install mkdocs-material
python -m pip install mike
```
4) Wait for all downloads to finish and start the local ``mkdocs`` server:
```bash
mkdocs serve
```
5) Document (and commit)! 😊
Before committing, you should make sure that the local *MkDocs* server terminal is not producing any `INFO`/``WARNING`` messages regarding your contributions.
> The documentation website supports branches, so your accepted changes will be reflected to the **develop** branch which becomes the **release** branch after each corresponding cycle.
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
### Add Documentation During Development
To update the documentation during development, follow those steps:
1. Perform the development of functionality on ``capif`` code repository;
2. Create an issue on [GitLab](https://labs.etsi.org/rep/ocf/documentation/-/issues);
3. Create a new branch with source from **develop**;
4. Update documentation:
1. ***Remember to update index.md with new functionalities for the latest version***;
2. New test plan is defined? **Update test plan documentation**
5. Check if errors are being produced by ``mkdocs`` [locally](#getting-started);
6. Push changes to branch;
7. Create a merge/pull request;
8. Send the request to review to at least one TSC Member for approval.
### Release a New Version of the Documentation
When **OpenCAPIF** code repository is ready for a new release, we need to follow these steps (made by a **TSC Member**):
1. Create a new branch with the released version, and merge it to **develop**;
2. Create a Merge request from **develop** to **main**;
3. When develop is merged to **main**, then we need to **create a tag with the released version**.
[OCF Web]: https://ocf.etsi.org/ "OCF Web"
[OCF Documentation]: https://ocf.etsi.org/documentation/ "OCF Documentation"