diff --git a/doc/contributing/documenting.md b/doc/contributing/documenting.md
index f5a14e5b53dbf459891da5816b29d4854a255e06..ffac29085bde24c6b103db28df4bafd618e9262e 100644
--- a/doc/contributing/documenting.md
+++ b/doc/contributing/documenting.md
@@ -1,4 +1,3 @@
-
 # Documenting
 
 OpenSlice's documentation runs on [MkDocs](https://www.mkdocs.org/).
@@ -8,71 +7,124 @@ OpenSlice's documentation runs on [MkDocs](https://www.mkdocs.org/).
 Documenting OpenSlice 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!
 
-## Documentation System and Structure
+##  System and Structure
 
 [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.
 
+### How does it work?
+
+There are 2 ways to upgrade documentation published on the [OSL Documentation] website:
+
+  * Push any change on **develop** branch will force update of the **develop** version on the [OSL Documentation] website;
+  * Create a tag, this will create a version with the tag name on the [OSL Documentation] website.
+
+### Branches
+
+This documentation repository has 2 protected branches:
+
+  * **main**: stable timeline on which tags are made;
+  * **develop**: edge timeline, also published on the [OSL 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
+    - Deployment examples: deployment_examples.md
+    - History: history.md
+    - OpenSlice under ETSI: etsi_osl.md
+  - Getting Started:
+    - Deployment: 
+      - Introduction: ./getting_started/deployment/introduction.md
+      - Docker Compose: ./getting_started/deployment/docker_compose.md
+      - Kubernetes: ./getting_started/deployment/kubernetes.md
+    - Portals: ./getting_started/portals.md
+[...]
+```
+
+Please take a moment to understand the current structure of the documentations and think to update after contributing if necessary.
+
+### Main Page
+
+The page shown first is at **doc/index.md**. That page should be updated with the latest changes of OpenSlice and should reference the version (useful shortcut is ``{{{ documentation_version }}}``).
+
 ## Getting Started
 
-To contribute to OpenSlice's documentation, you need to follow those easy steps:
+To contribute to OpenSlice's documentation, you need to follow these easy steps:
 
 1) Clone the [Documentation repository](https://labs.etsi.org/rep/osl/documentation) with:
 
 ```bash
-git clone https://labs.etsi.org/rep/osl/documentation.git
+git clone https://labs.etsi.org/rep/ocf/documentation.git
 ```
 
-2) Checkout the develop branch (incoming contributions are only accepted to the develop branch):
+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
+3) Setup a virtual environment:
 
-=== "Linux + macOS"
+* On Linux/macOS:
 
-    ``` bash
-    python3 -m venv venv
-    source venv/bin/activate
-    ```
-    ``` bash
-    python -m pip install mkdocs
-    python -m pip install mkdocs-material
-    python -m pip install mkdocs-glightbox
-    python -m pip install mkdocs-markdownextradata-plugin
-    python -m pip install mike
-    ```
+  ```bash
+  python3 -m venv venv # Linux/macOS
+  source venv/bin/activate #Linux/macOS
+  ```
 
-=== "Windows"
+* On Windows:
 
-    ``` bash
-    python -m venv venv
-    venv\Scripts\activate
-    ```
-    ``` bash
-    python -m pip install mkdocs
-    python -m pip install mkdocs-material
-    python -m pip install mkdocs-glightbox
-    python -m pip install mkdocs-markdownextradata-plugin
-    python -m pip install mike
-    ```
+  ```bash
+  python -m venv venv # Windows
+  venv\Scripts\activate # Windows
+  ```
 
+4) Setup a local ``mkdocs`` server by installing requirements:
 
-4) Wait for all downloads to finish and start the mkdocs server
+```bash
+python -m pip install -r requirements.txt
+```
+
+4) Wait for all downloads to finish and start the local ``mkdocs`` server:
 
 ```bash
 mkdocs serve
 ```
 
-5) Document (and commit)! 😊
+5) Document! 😊
+
+> You should always make sure that the local *MkDocs* server terminal is not producing any `INFO`/``WARNING`` messages regarding your contributions.
+
+### Add Documentation During Development
+
+To update the documentation properly during development, follow those additional steps:
+
+1. Create an issue on the documentation [GitLab](https://labs.etsi.org/rep/osl/documentation/-/issues) repository;
+2. Create a new branch with the **develop** branch as a source;
+3. Update the documentation and any relevant parts (ie: the ``index.md`` with new functionalities for the latest version);
+4. Check if errors are not being produced by ``mkdocs`` [locally](#getting-started);
+5. Commit and push changes to the new branch;
+6. Create a PR request towards **develop**;
+7. Send the request for review and approval to at least one **TSC Member**.
+
+> The documentation website supports branches, so your accepted changes will be reflected to the **develop** branch which then becomes the **release** branch after each corresponding cycle.
+
+### Release a New Version of the Documentation
+
+When **OpenSlice** code repository is ready for a new release, we need to follow these steps (made by a **TSC Member**):
 
-Before committing, you should make sure that the local mkdcocs server's terminal is not producing any INFO/WARNING message regarding your contributions.
+1. Create a PR from **develop** towards **main**;
+2. When **develop** is merged to **main**... then **create a tag with the released version** scheme... and you're done!
 
-> 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.
+[OSL Web]: https://osl.etsi.org/ "OSL Web"
+[OSL Documentation]: https://osl.etsi.org/documentation/ "OSL Documentation"
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..10a0c2fe3f8d351a9e4307e156a2f6e21d2141cb
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,5 @@
+mkdocs
+mkdocs-material
+mkdocs-glightbox
+mkdocs-markdownextradata-plugin
+mike
\ No newline at end of file