diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9cd86e1c48..8ace31325a 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -15,4 +15,4 @@ jobs: python-version: "3.11" - run: pip install mkdocs-material - run: mkdocs gh-deploy --force - working-directory: ./docs/development + working-directory: ./docs diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 22c60cf3a8..8d36772267 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,252 +13,7 @@ environment. Be kind! If you have questions, ideas or want to report a bug, feel free to [open an issue](/../../issues). Or go ahead and [open a pull request](/../../pulls) to contribute code. In order to reduce the burden on our maintainers, please make sure that -your code follows our style guidelines outlined below. +your code follows our style guidelines. -## General - -This project consists of several services. Here is the architecture of the services: -![Capella Collab Manager architecture](docs/architecture.png) - -To get an overview of the services, it is also worth taking a look at the Helm Chart, -which can be found in the `helm` folder. - -We use REST APIs for the communication between frontend and backend. -Please follow the [RESTful web API design best practises](https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-design). - -We recommend to get started with the [local k8d deployment](README.md). - - -By default, the services run on the following ports when using the instructions below: -| Port | Service | -|-------|---------------------| -| 8080 | k3d deployment | -| 12345 | k3d registry | -| 4200 | frontend | -| 8000 | backend | -| 8081 | t4c-server mock | -| 8082 | license-server mock | -| 8083 | oauth-mock | - -## Git - -The commit messages have to follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#specification) specification. - -In general, we use pre-commit hooks to enforce coding standards. -To setup the pre-commit hooks, please run the following commands: - -```zsh -pip install -U pip pre-commit -pre-commit install -t pre-commit -t commit-msg -``` - -## Capella Docker images - -Please follow the [README of the Capella Docker images repository](/../../../capella-dockerimages/blob/main/README.md). -When all files are in the right place, you can execute the following command to build -and push the Docker images. - -```sh -make capella-dockerimages -``` - -## OAuth Server - -We use OAuth2 as authentication protocol for our application. Therefore we need an -OAuth2 server. For local development, we have an OAuth mock that needs to be started -first. - -Do not use the OAuth mock in production! - -First of all, navigate to the `mocks/oauth` directory. - -1. Run the OAuth2-Mock-Server with: - - ```sh - make start - ``` - -2. Verify that the server runs, e.g., by navigating to - [Well Known](http://localhost:8083/default/.well-known/openid-configuration) - -## Backend - -Requirements: - -- `python` and `pip` -- `docker` -- `make` - -Run the following steps: - -1. In the project's root directory you must create a local k3d cluster by running - - ```sh - make create-cluster - ``` - -1. In order to use Guacamole, the cluster must be deployed: - - ```sh - make deploy - ``` - -1. Navigate to the `backend` directory of your cloned repository. -1. We recommend that you develop inside of a virtual environment. To set it up, - run the following commands: - - ```sh - python -m venv .venv - source .venv/bin/activate - pip install -U pip setuptools - pip install -e '.[dev]' - ``` - -1. The backend uses various configuration settings. You can find them in the `config` - directory. - Please copy the file `config_template.yaml` to `config.yaml` and adjust the values. - - _Hint_: If you already have the k8d cluster running and if you have the - application deployed, then no configuration values need to be adjusted. - - _Hint_: You can run `python -m capellacollab.config.diff` after each update to check if your config is up to date. - -1. To begin the development a PostgreSQL database is required. To run the database and - start the backend run: - - ```sh - make dev - ``` - -1. You should see it running on port 8000. - - - [Healthcheck](http://localhost:8000/healthcheck) - - [Documentation](http://localhost:8000/docs) - -We additionally recommend that you set up your editor / IDE as follows. - -- Indent with 4 spaces per level of indentation -- Maximum line length of 79 (add a ruler / thin line / highlighting / ...) -- Set up the editor to run `black`, `pylint`, `mypy` and `isort` when saving. - -### Create database migrations scripts - -To create an upgrade script automatically (this will compare the current database state -with the models): - -```sh -alembic revision --autogenerate -m "Commit message" -``` - -## Authentication without application frontend - -Request the `auth_url` - -```sh -curl -X 'GET' \ - 'http://127.0.0.1:8000/api/v1/authentication/' \ - -H 'accept: application/json' -``` - -Opening the `auth_url` in a browser leads you to a "Mock OAuth2 Server Sign-in" page. - -Login as user `admin` to be redirected to a page that is reachable when the frontend -runs. Anyway the redirect URL in the browser's address input field contains two -parameters `code` and `status`. - -Example: - -
-    http://localhost:4200/oauth2/callback?...
-    ...code=MREy4raZT9JqaYn_50yJraU4zkclGQbNcbudW404ekc...
-    ...&state=r7huaqqdDBWTb8x4gUDIpt36izM0Au
-
- -One must copy these parameters and post them via a second request returning an access -token: - -```sh -curl -X 'POST' \ - 'http://127.0.0.1:8000/api/v1/authentication/tokens' \ - -H 'accept: application/json' \ - -H 'Content-Type: application/json' \ - -d '{ - "code": "MREy4raZT9JqaYn_50yJraU4zkclGQbNcbudW404ekc", - "state": "r7huaqqdDBWTb8x4gUDIpt36izM0Au" -}' -``` - -To send a request using that token you may want to request the list of projects: - -```sh -curl -X 'GET' \ - 'http://127.0.0.1:8000/api/v1/projects/' \ - -H 'accept: application/json' \ - -H 'Authorization: Bearer ' -``` - -whereby `` must be replaced by the token you received above. - -Using the Swagger UI one can click on the lock symbols to enter the access token. - -## Frontend - -Requirements: - -- Node.js 18 -- `npm` package manager -- [Angular CLI](https://angular.io/cli#installing-angular-cli) -- `make` - -Run the following steps: - -1. Navigate to the `frontend` folder -1. Install dependencies via `npm install` -1. Optional: If you like to use your custom favicon, please copy it to `src/favicon.ico` -1. Optional: If you like to use your custom theme, replace the file `src/custom-theme.scss`. - You can generate custom themes [here](http://mcg.mbitson.com/) -1. Run the frontend with: - - ```sh - make dev - ``` - -1. You should see the frontend running on port 4200. - -We additionally recommend that you set up your editor / IDE as follows. - -- Set up the editor to run [prettier](https://prettier.io/) when saving. - -## User documentation - -Requirements: - -- `python` + `pip` - -Run the following steps: - -1. Navigate to the `docs/user` directory of your cloned repository. -2. We recommend that you develop inside of a virtual environment. To set it up, - run the following commands: - - ```zsh - python -m venv .venv - source .venv/bin/activate - pip install -U pip setuptools - ``` - -3. Install MkDocs Material: - - ```zsh - pip install mkdocs-material - ``` - -4. Serve the docs: - - ```zsh - mkdocs serve - ``` - -## Code style - -You can find our code style rules [here](https://dsd-dbs.github.io/capella-collab-manager/code-style/) +We provide a developer documentation. There you will also find information +on how to set up a local environment: [Developer Documentation](https://dsd-dbs.github.io/capella-collab-manager/development/) diff --git a/Makefile b/Makefile index 4ce1b507e1..467f086bbe 100644 --- a/Makefile +++ b/Makefile @@ -157,8 +157,8 @@ provision-guacamole: kubectl exec -i --context k3d-$(CLUSTER_NAME) --namespace $(NAMESPACE) deployment/$(RELEASE)-guacamole-postgres -- psql -U guacamole guacamole @echo "Guacamole database initialized sucessfully."; -# Execute with `make -j3 dev` -dev: dev-oauth-mock dev-frontend dev-backend +# Execute with `make -j4 dev` +dev: dev-oauth-mock dev-frontend dev-backend dev-docs dev-frontend: $(MAKE) -C frontend dev @@ -169,6 +169,9 @@ dev-backend: dev-oauth-mock: $(MAKE) -C mocks/oauth start +dev-docs: + $(MAKE) -C docs serve + backend-logs: kubectl logs -f -n $(NAMESPACE) -l id=$(RELEASE)-deployment-backend diff --git a/README.md b/README.md index 91ee814b3c..1e19543839 100644 --- a/README.md +++ b/README.md @@ -144,39 +144,18 @@ running in a few minutes. ### Deployment -You can find the installation guide for deployment in the [general documentation](https://capella-collaboration-manager.readthedocs.io/en/latest/installation/). - -### Uninstall the environment - -1. If you want to uninstall the management portal, you can run the following comment: - - ```sh - helm uninstall production -n helm - ``` - -1. The previous command doesn't clean the sessions namespace. - Please clean it manually by running (this does also remove all persistent workspaces!): - - ```zsh - kubectl -n delete all --all - ``` - - or just delete the namespace: - - ```zsh - kubectl delete namespace - ``` +You can find the installation guide for the deployment in the [general documentation](https://capella-collaboration-manager.readthedocs.io/en/latest/installation/). ## How it works -![Capella Collab Manager architecture](docs/architecture.png) - The Capella Collaboration Manager consists of a couple of components: - A frontend - what you see in the browser - A backend service - for managing projects, users and sessions - [Guacamole](https://guacamole.apache.org/), to expose the sessions via the browser - Databases, for state persistence +- Prometheus for session monitoring +- Grafana Loki for logs management External software can also be linked. These parts can be installed separately: diff --git a/ci-templates/README.md b/ci-templates/README.md deleted file mode 100644 index 9ca8f2a901..0000000000 --- a/ci-templates/README.md +++ /dev/null @@ -1,13 +0,0 @@ - - - - -# Supported instances - -- Gitlab CI/CD ([More information](./gitlab/README.md)) diff --git a/ci-templates/gitlab/README.md b/ci-templates/gitlab/README.md deleted file mode 100644 index 1d17b31010..0000000000 --- a/ci-templates/gitlab/README.md +++ /dev/null @@ -1,174 +0,0 @@ - - -# Gitlab CI templates - -Currently, we provide the following Gitlab CI/CD templates: - -- [Image builder](#image-builder): Build and push backend, frontend, docs and guacamole Docker images to any Docker registry. -- [Kubernetes deploy](#kubernetes-deploy): Deploy to a Kubernetes environment using helm - -## Image builder - -The image builder template builds the following images and pushes them to any Docker registry: - -- backend -- frontend -- user documentation -- guacamole - -Please add the following section to your `.gitlab-ci.yml`: - -```yml -include: - - remote: https://raw.githubusercontent.com/DSD-DBS/capella-collab-manager/${CAPELLA_COLLABORATION_MANAGER_REVISION}/ci-templates/gitlab/image-builder.yml -``` - -The build images are tagged with the revision they were build with -(e.g., when running for main the tag would be `:main`) -All characters matching the regex [^a-za-z0-9.] will be replaced with -. - -You have to add the following environment variables on repository level. -Make sure to enable the "Expand variable reference" flag. - -- `PRIVATE_GPG_PATH`: Path to the private GPG key used to decrypt the - `secret.docker.json` file (More about this file [below](#docker-sops-file)) -- Variables speciying how to name each image: - - `FRONTEND_IMAGE_NAME` (defaults to _capella/collab/frontend_) - - `BACKEND_IMAGE_NAME` (default to _capella/collab/backend_) - - `DOCS_IMAGE_NAME` (defaults to _capella/collab/docs_) - - `GUACAMOLE_IMAGE_NAME` (defaults to _capella/collab/guacamole_) - -In addition you can adjust the following variables when running a pipeline: - -- Variables specifying whether to build an image (default to 1): - - `FRONTEND`: Build the frontend image? - - `BACKEND`: Build the backend image? - - `DOCS`: Build the docs image? - - `GUACAMOLE`: Build the guacamole image? -- `TARGET`: The target for which you want to build the images - (More information why this is important [below](#docker-sops-file)) - -### Docker SOPS file - -We make use of [Mozilla SOPS](https://github.com/mozilla/sops) files to store -secrets used in the image builder template. Therefore you need to have a -directory `$TARGET` for each target with a `secret.docker.json` inside. -You can create the `secret.docker.json` by running the following command: - -```zsh -sops -e --output .//secret.docker.json input.json -``` - -The `input.json` in this command is a placeholder for your own input file, -which should have the following structure: - -```json -{ - "registry_unencrypted": "", - "username_unencrypted": "", - "password": "" -} -``` - -Verify that you can open the secret file with `sops .//secret.docker.json`. -When it works, delete the `input.json`! - -In addition, you will need a `.sops.yaml` at the root level having the -following structure: - -```yml -creation_rules: - - path_regex: .* - key_groups: - - pgp: - - -``` - -Any time you update the `.sops.yaml` (i.e., adding or removing a fingerprint) -you will have to run `sops updatekeys .//secret.docker.json` to ensure -that only authorized persons can decrypt the secret file. - -Lastly, please ensure that your Gitlab runners GPG fingerprint is present -in the `.sops.yaml` such that it can use the secret values. - -## Kubernetes Deploy - -The Kubernetes deploy template is used to deploy the Capella Collaboration -Manager to a Kubernetes cluster using Helm. - -Please add the following section to your `.gitlab-ci.yml`: - -```yml -include: - - remote: https://raw.githubusercontent.com/DSD-DBS/capella-collab-manager/${CAPELLA_COLLABORATION_MANAGER_REVISION}/ci-templates/gitlab/k8s-deploy.yml -``` - -You have to add the following environment variables on repository level. -Make sure to enable the "Expand variable reference" flag. - -- `PRIVATE_GPG_PATH`: Path to the private GPG key used to decrypt the - `secret.k8s.json` files. -- `GRAFANA_HELM_CHART`: (Optional) - This variable is used to set the URL - for the Grafana Helm chart. It is useful if your deployment environment - has limited access, so you can specify a URL that is accessible for you. - -In addition you can adjust the following variables when running a pipeline: - -- `TARGET`: The target for which you want to build the images - (More information why this is important [below](#docker-and-kubernetes-sops-files)) -- `REVISION`: The revision of the capella collab manager repository you want to use - -### Docker and Kubernetes sops files - -For the `k8s-deploy.yml` you need to have some secret sops files in place. -First of all, you need a `secret.docker.json` file as described -[here](#docker-sops-file). In addition, you need to have a `secret.k8s.json` -in each target directory created by a json file having the following structure: - -```json -{ - "server_unencrypted": "", - "namespace_unencrypted": "", - "release_unencrypted": "", - "username_unencrypted": "", - "token": "" -} -``` - -In addition, you need to have a `general.values.yaml` containing -all the `values.yaml` values that do not have to be encrypted and a -`secret.values.yaml` only containing the values that should be encrypted -(Please do not use YAML anchors in the `secret.values.yaml` file and do not -use the `_unencrypted` suffix in the variable names). - -Please delete the plain text files containing secrets directly -after encrypting them. - -## Gitlab repository tree - -The tree inside of your Gitlab repository should look like: - -```zsh -├── .gitlab-ci.yml -├── .sops.yaml -├── environment.prod.ts -├── favicon.ico -├── target1 -│ ├── general.values.yaml -│ ├── secret.values.yaml -│   ├── secret.docker.json -│   └── secret.k8s.json -├── target2 -│ ├── general.values.yaml -│ ├── secret.values.yaml -│   ├── secret.docker.json -│   └── secret.k8s.json -└── ... -``` - -This is the (minimal) configuration (except that you would just need a target -directory). For more advanced configuration options, please refer to the -[image-builder](./image-builder.yml) or [k8s-deploy](k8s-deploy.yml) Gitlab template. diff --git a/docs/user/.dockerignore b/docs/.dockerignore similarity index 100% rename from docs/user/.dockerignore rename to docs/.dockerignore diff --git a/docs/user/.gitignore b/docs/.gitignore similarity index 100% rename from docs/user/.gitignore rename to docs/.gitignore diff --git a/docs/user/.markdownlint.yaml b/docs/.markdownlint.yaml similarity index 100% rename from docs/user/.markdownlint.yaml rename to docs/.markdownlint.yaml diff --git a/docs/user/.prettierrc.yaml b/docs/.prettierrc.yaml similarity index 100% rename from docs/user/.prettierrc.yaml rename to docs/.prettierrc.yaml diff --git a/docs/user/.readthedocs.yaml b/docs/.readthedocs.yaml similarity index 100% rename from docs/user/.readthedocs.yaml rename to docs/.readthedocs.yaml diff --git a/docs/user/Dockerfile b/docs/Dockerfile similarity index 100% rename from docs/user/Dockerfile rename to docs/Dockerfile diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000..8e5ca545f7 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,9 @@ +# SPDX-FileCopyrightText: Copyright DB Netz AG and the capella-collab-manager contributors +# SPDX-License-Identifier: Apache-2.0 + +install: + python -m venv .venv + .venv/bin/pip install -r requirements.txt + +serve: + .venv/bin/mkdocs serve diff --git a/docs/architecture.png b/docs/architecture.png deleted file mode 100644 index e78356f352..0000000000 Binary files a/docs/architecture.png and /dev/null differ diff --git a/docs/architecture.png.license b/docs/architecture.png.license deleted file mode 100644 index a990c04543..0000000000 --- a/docs/architecture.png.license +++ /dev/null @@ -1,2 +0,0 @@ -SPDX-FileCopyrightText: Copyright DB Netz AG and the capella-collab-manager contributors -SPDX-License-Identifier: Apache-2.0 diff --git a/docs/development/docs/index.md b/docs/development/docs/index.md deleted file mode 100644 index 5180949ce6..0000000000 --- a/docs/development/docs/index.md +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/docs/development/docs/release-notes.md b/docs/development/docs/release-notes.md deleted file mode 100644 index 087ad85ad1..0000000000 --- a/docs/development/docs/release-notes.md +++ /dev/null @@ -1,22 +0,0 @@ - - -## Release Notes Process - -This document outlines the process for managing and publishing release notes -during our development cycle. -The goal of these release notes is to provide clear and user-friendly updates. -The release notes can be found in our user documentation, specifically in `docs/user/release-notes.md`. - -Below is our release notes process: - -1. During the development cycle, all significant updates, enhancements, and bug fixes - should be documented in the _Current Release_ section of the Release Notes page. - This practice ensures that all changes are tracked and can be easily communicated - to users upon release. -1. Before releasing a new version of the software, the _Current Release_ section - should be renamed to reflect the actual version number. This step provides a - clear history of changes for each version, helping users understand - the changes made in each update. diff --git a/docs/development/mkdocs.yml b/docs/development/mkdocs.yml deleted file mode 100644 index e0b2bfd727..0000000000 --- a/docs/development/mkdocs.yml +++ /dev/null @@ -1,41 +0,0 @@ -# SPDX-FileCopyrightText: Copyright DB Netz AG and the capella-collab-manager contributors -# SPDX-License-Identifier: Apache-2.0 - -site_name: Capella Collaboration development documentation -theme: - name: material - features: - - content.code.annotate - -nav: - - Home: index.md - - Backend: - - Technology overview: backend/technology.md - - Extension modules: backend/extensions.md - - Exception handling: backend/exception.md - - Frontend: - - Routes: frontend/routes.md - - Testing: frontend/testing.md - - Code Style: code-style.md - - Kubernetes: - - Meassure resource usage: k8s/resources.md - - Release Notes Process: release-notes.md - -markdown_extensions: - - meta - - admonition - - pymdownx.details - - pymdownx.superfences - - abbr - - pymdownx.snippets - - attr_list - - pymdownx.emoji: - emoji_index: !!python/name:materialx.emoji.twemoji - emoji_generator: !!python/name:materialx.emoji.to_svg - -extra: - generator: false - -dev_addr: 127.0.0.1:8081 - -copyright: Copyright © 2022-2023 DB Netz AG diff --git a/docs/docs/admin/ci-templates/gitlab/image-builder.md b/docs/docs/admin/ci-templates/gitlab/image-builder.md new file mode 100644 index 0000000000..2a9f3ff915 --- /dev/null +++ b/docs/docs/admin/ci-templates/gitlab/image-builder.md @@ -0,0 +1,94 @@ + + +# Image builder (Gitlab CI/CD) + +The image builder template builds the following images and pushes them to any +Docker registry: + +- backend +- frontend +- documentation +- guacamole + +Please add the following section to your `.gitlab-ci.yml`: + +```yaml +include: + - remote: https://raw.githubusercontent.com/DSD-DBS/capella-collab-manager/${CAPELLA_COLLABORATION_MANAGER_REVISION}/ci-templates/gitlab/image-builder.yml +``` + +The build images are tagged with the revision they were build with (e.g., when +running for main the tag would be `:main`) All characters matching the regex +[^a-za-z0-9.] will be replaced with -. + +You have to add the following environment variables on repository level. Make +sure to enable the "Expand variable reference" flag. + +- `PRIVATE_GPG_PATH`: Path to the private GPG key used to decrypt the + `secret.docker.json` file (More about this file [below](#docker-sops-file)) +- Variables speciying how to name each image: + - `FRONTEND_IMAGE_NAME` (defaults to _capella/collab/frontend_) + - `BACKEND_IMAGE_NAME` (default to _capella/collab/backend_) + - `DOCS_IMAGE_NAME` (defaults to _capella/collab/docs_) + - `GUACAMOLE_IMAGE_NAME` (defaults to _capella/collab/guacamole_) + +In addition you can adjust the following variables when running a pipeline: + +- Variables specifying whether to build an image (default to 1): + - `FRONTEND`: Build the frontend image? + - `BACKEND`: Build the backend image? + - `DOCS`: Build the docs image? + - `GUACAMOLE`: Build the guacamole image? +- `TARGET`: The target for which you want to build the images (More information + why this is important [below](#docker-sops-file)) + +This is the (minimal) configuration. For more advanced configuration options, +please refer to the +[image-builder](https://github.com/DSD-DBS/capella-collab-manager/blob/main/ci-templates/gitlab/image-builder.yml) +Gitlab template. + +### Docker SOPS file + +We make use of [Mozilla SOPS](https://github.com/mozilla/sops) files to store +secrets used in the image builder template. Therefore you need to have a +directory `$TARGET` for each target with a `secret.docker.json` inside. You can +create the `secret.docker.json` by running the following command: + +```zsh +sops -e --output .//secret.docker.json input.json +``` + +The `input.json` in this command is a placeholder for your own input file, +which should have the following structure: + +```json +{ + "registry_unencrypted": "", + "username_unencrypted": "", + "password": "" +} +``` + +Verify that you can open the secret file with +`sops .//secret.docker.json`. When it works, delete the `input.json`! + +In addition, you will need a `.sops.yaml` at the root level having the +following structure: + +```yaml +creation_rules: + - path_regex: .* + key_groups: + - pgp: + - +``` + +Any time you update the `.sops.yaml` (i.e., adding or removing a fingerprint) +you will have to run `sops updatekeys .//secret.docker.json` to ensure +that only authorized persons can decrypt the secret file. + +Lastly, please ensure that your Gitlab runners GPG fingerprint is present in +the `.sops.yaml` such that it can use the secret values. diff --git a/docs/docs/admin/ci-templates/gitlab/k8s-deploy.md b/docs/docs/admin/ci-templates/gitlab/k8s-deploy.md new file mode 100644 index 0000000000..9ed974d5fd --- /dev/null +++ b/docs/docs/admin/ci-templates/gitlab/k8s-deploy.md @@ -0,0 +1,85 @@ + + +# Kubernetes Deployment (Gitlab CI/CD) + +The Kubernetes deploy template is used to deploy the Capella Collaboration +Manager to a Kubernetes cluster using Helm. + +Please add the following section to your `.gitlab-ci.yml`: + +```yaml +include: + - remote: https://raw.githubusercontent.com/DSD-DBS/capella-collab-manager/${CAPELLA_COLLABORATION_MANAGER_REVISION}/ci-templates/gitlab/k8s-deploy.yml +``` + +You have to add the following environment variables on repository level. Make +sure to enable the "Expand variable reference" flag. + +- `PRIVATE_GPG_PATH`: Path to the private GPG key used to decrypt the + `secret.k8s.json` files. +- `GRAFANA_HELM_CHART`: (Optional) - This variable is used to set the URL for + the Grafana Helm chart. It is useful if your deployment environment has + limited access, so you can specify a URL that is accessible for you. + +In addition you can adjust the following variables when running a pipeline: + +- `TARGET`: The target for which you want to build the images (More information + why this is important [below](#docker-and-kubernetes-sops-files)) +- `REVISION`: The revision of the capella collab manager repository you want to + use + +### Docker and Kubernetes sops files + +For the `k8s-deploy.yml` you need to have some secret sops files in place. +First of all, you need a `secret.docker.json` file as described +[here](#docker-sops-file). In addition, you need to have a `secret.k8s.json` in +each target directory created by a json file having the following structure: + +```json +{ + "server_unencrypted": "", + "namespace_unencrypted": "", + "release_unencrypted": "", + "username_unencrypted": "", + "token": "" +} +``` + +In addition, you need to have a `general.values.yaml` containing all the +`values.yaml` values that do not have to be encrypted and a +`secret.values.yaml` only containing the values that should be encrypted +(Please do not use YAML anchors in the `secret.values.yaml` file and do not use +the `_unencrypted` suffix in the variable names). + +Please delete the plain text files containing secrets directly after encrypting +them. + +## Gitlab repository tree + +The tree inside of your Gitlab repository should look like: + +```zsh +├── .gitlab-ci.yml +├── .sops.yaml +├── environment.prod.ts +├── favicon.ico +├── target1 +│ ├── general.values.yaml +│ ├── secret.values.yaml +│   ├── secret.docker.json +│   └── secret.k8s.json +├── target2 +│ ├── general.values.yaml +│ ├── secret.values.yaml +│   ├── secret.docker.json +│   └── secret.k8s.json +└── ... +``` + +This is the (minimal) configuration. For more advanced configuration options, +please refer to the +[k8s-deploy](https://github.com/DSD-DBS/capella-collab-manager/blob/main/ci-templates/gitlab/k8s-deploy.yml) +Gitlab template. diff --git a/docs/getting_started/getting_started.md b/docs/docs/admin/getting_started/getting_started.md similarity index 62% rename from docs/getting_started/getting_started.md rename to docs/docs/admin/getting_started/getting_started.md index f0f1d85c34..c58e99e631 100644 --- a/docs/getting_started/getting_started.md +++ b/docs/docs/admin/getting_started/getting_started.md @@ -5,37 +5,45 @@ # Getting started -This guide describes the steps to get started with the Capella Collaboration Manager. +This guide describes the steps to get started with the Capella Collaboration +Manager. -Before you start, make sure you have a running environment. For instructions on how to set up such an environment, please refer to the [README](../README.md). +Before you start, make sure you have a running environment. For instructions on +how to set up such an environment, please refer to the +[Development installation guide](../index.md). First open a browser and go to http://localhost:8080. -You will be welcomed by a friendly screen and you can log in. The default setup is running an OAuth mock service for authentication. +You will be welcomed by a friendly screen and you can log in. The default setup +is running an OAuth mock service for authentication. ![Welcome screen](img/collab-step-1.png) -As username, provide the `admin` for the admin user. If you have changed the username or want to test another user, enter your custom username. +As username, provide the `admin` for the admin user. If you have changed the +username or want to test another user, enter your custom username. ![OAuth mock](img/collab-step-2.png) -You'll be returned to the Collaboration manager. Now you can start a session. Select _Persistent Workspace_ and hit _Request Session_. +You'll be returned to the Collaboration manager. Now you can start a session. +Select _Persistent Workspace_ and hit _Request Session_. ![Logged in](img/collab-step-3.png) -The system will now schedule and start a fresh workspace. -Wait a bit for the workspace to be available +The system will now schedule and start a fresh workspace. Wait a bit for the +workspace to be available ![Starting a session](img/collab-step-4.png) -Once the session is ready, click _Connect to Session_ and a new tab should open. After a few seconds you should see the -Capella splash screen and a workspace will be shown in your browser. +Once the session is ready, click _Connect to Session_ and a new tab should +open. After a few seconds you should see the Capella splash screen and a +workspace will be shown in your browser. ![Capella welcome screen](img/collab-step-5.png) ## What's next -This introduction only scratches the surface of what's possible with the Collaboration Manager. +This introduction only scratches the surface of what's possible with the +Collaboration Manager. More advanced features include: diff --git a/docs/getting_started/img/collab-step-1.png b/docs/docs/admin/getting_started/img/collab-step-1.png similarity index 100% rename from docs/getting_started/img/collab-step-1.png rename to docs/docs/admin/getting_started/img/collab-step-1.png diff --git a/docs/getting_started/img/collab-step-1.png.license b/docs/docs/admin/getting_started/img/collab-step-1.png.license similarity index 100% rename from docs/getting_started/img/collab-step-1.png.license rename to docs/docs/admin/getting_started/img/collab-step-1.png.license diff --git a/docs/getting_started/img/collab-step-2.png b/docs/docs/admin/getting_started/img/collab-step-2.png similarity index 100% rename from docs/getting_started/img/collab-step-2.png rename to docs/docs/admin/getting_started/img/collab-step-2.png diff --git a/docs/getting_started/img/collab-step-2.png.license b/docs/docs/admin/getting_started/img/collab-step-2.png.license similarity index 100% rename from docs/getting_started/img/collab-step-2.png.license rename to docs/docs/admin/getting_started/img/collab-step-2.png.license diff --git a/docs/getting_started/img/collab-step-3.png b/docs/docs/admin/getting_started/img/collab-step-3.png similarity index 100% rename from docs/getting_started/img/collab-step-3.png rename to docs/docs/admin/getting_started/img/collab-step-3.png diff --git a/docs/getting_started/img/collab-step-3.png.license b/docs/docs/admin/getting_started/img/collab-step-3.png.license similarity index 100% rename from docs/getting_started/img/collab-step-3.png.license rename to docs/docs/admin/getting_started/img/collab-step-3.png.license diff --git a/docs/getting_started/img/collab-step-4.png b/docs/docs/admin/getting_started/img/collab-step-4.png similarity index 100% rename from docs/getting_started/img/collab-step-4.png rename to docs/docs/admin/getting_started/img/collab-step-4.png diff --git a/docs/getting_started/img/collab-step-4.png.license b/docs/docs/admin/getting_started/img/collab-step-4.png.license similarity index 100% rename from docs/getting_started/img/collab-step-4.png.license rename to docs/docs/admin/getting_started/img/collab-step-4.png.license diff --git a/docs/getting_started/img/collab-step-5.png b/docs/docs/admin/getting_started/img/collab-step-5.png similarity index 100% rename from docs/getting_started/img/collab-step-5.png rename to docs/docs/admin/getting_started/img/collab-step-5.png diff --git a/docs/getting_started/img/collab-step-5.png.license b/docs/docs/admin/getting_started/img/collab-step-5.png.license similarity index 100% rename from docs/getting_started/img/collab-step-5.png.license rename to docs/docs/admin/getting_started/img/collab-step-5.png.license diff --git a/docs/docs/admin/index.md b/docs/docs/admin/index.md new file mode 100644 index 0000000000..52051e82a6 --- /dev/null +++ b/docs/docs/admin/index.md @@ -0,0 +1,13 @@ + + +Are you interested in the platform and want to integrate it into your +environment? Then we would like to know more about the use case so that we can +take it into account in future development. Please feel free to contact us: + + +Otherwise, you can also try out the platform locally. The README provides +instructions for this. For production deployments you can learn more here: +[Production installation](./installation.md) diff --git a/docs/user/docs/installation.md b/docs/docs/admin/installation.md similarity index 100% rename from docs/user/docs/installation.md rename to docs/docs/admin/installation.md diff --git a/docs/docs/admin/uninstallation.md b/docs/docs/admin/uninstallation.md new file mode 100644 index 0000000000..4b8a7f3528 --- /dev/null +++ b/docs/docs/admin/uninstallation.md @@ -0,0 +1,38 @@ + + +# Uninstallation of the Collaboration Manager + +We're sorry to see you go :sob:
If you have any suggestions for us to +improve, please share them with us. Either privately via +or via a +[Github issue](https://github.com/DSD-DBS/capella-collab-manager/issues). + + +1. If you want to uninstall the management portal, you can run the following + comment: + + ```sh + helm uninstall -n helm + ``` + + or delete the management portal namespace: + + ```zsh + kubectl delete namespace + ``` + +1. The previous command doesn't clean the sessions namespace. Please clean it + manually by running (this does also remove all persistent workspaces!): + + ```zsh + kubectl -n delete all --all + ``` + + or just delete the namespace: + + ```zsh + kubectl delete namespace + ``` diff --git a/docs/docs/development/backend/authentication.md b/docs/docs/development/backend/authentication.md new file mode 100644 index 0000000000..8970cb14d2 --- /dev/null +++ b/docs/docs/development/backend/authentication.md @@ -0,0 +1,63 @@ + + +## Authentication via personal access token (requires a running frontend) + +Find more information about authentication with personal access tokens in the +user documentation: [Authentication](../../user/tokens.md) + +## Authentication without application frontend + +Request the `auth_url` + +```sh +curl -X 'GET' \ + 'http://127.0.0.1:8000/api/v1/authentication/' \ + -H 'accept: application/json' +``` + +Opening the `auth_url` in a browser leads you to a "Mock OAuth2 Server Sign-in" +page. + +Login as user `admin` to be redirected to a page that is reachable when the +frontend runs. Anyway the redirect URL in the browser's address input field +contains two parameters `code` and `status`. + +Example: + +
+    http://localhost:4200/oauth2/callback?...
+    ...code=MREy4raZT9JqaYn_50yJraU4zkclGQbNcbudW404ekc...
+    ...&state=r7huaqqdDBWTb8x4gUDIpt36izM0Au
+
+ +One must copy these parameters and post them via a second request returning an +access token: + +```sh +curl -X 'POST' \ + 'http://127.0.0.1:8000/api/v1/authentication/tokens' \ + -H 'accept: application/json' \ + -H 'Content-Type: application/json' \ + -d '{ + "code": "MREy4raZT9JqaYn_50yJraU4zkclGQbNcbudW404ekc", + "state": "r7huaqqdDBWTb8x4gUDIpt36izM0Au" +}' +``` + +To send a request using that token you may want to request the list of +projects: + +```sh +curl -X 'GET' \ + 'http://127.0.0.1:8000/api/v1/projects/' \ + -H 'accept: application/json' \ + -H 'Authorization: Bearer ' +``` + +whereby `` must be replaced by the token you received above. + +Using the Swagger UI one can click on the lock symbols to enter the access +token. diff --git a/docs/development/docs/code-style.md b/docs/docs/development/backend/code-style.md similarity index 52% rename from docs/development/docs/code-style.md rename to docs/docs/development/backend/code-style.md index a21078bcdd..1f509bcd27 100644 --- a/docs/development/docs/code-style.md +++ b/docs/docs/development/backend/code-style.md @@ -3,9 +3,7 @@ ~ SPDX-License-Identifier: Apache-2.0 --> -## Backend - -### General +## General We base our code style on a modified version of the [Google style guide] for Python code. The key differences are: @@ -16,18 +14,20 @@ Python code. The key differences are: per [PEP-257]. For example, write "Do X and Y" instead of "Does X and Y". - **Overridden methods**: If the documentation did not change from the base - class (i.e. the base class' method's docstring still applies without modification), - do not add a short docstring á la "See base class". This lets automated tools pick - up the full base class docstring instead, and is therefore more useful in IDEs etc. + class (i.e. the base class' method's docstring still applies without + modification), do not add a short docstring á la "See base class". This lets + automated tools pick up the full base class docstring instead, and is + therefore more useful in IDEs etc. -- **Linting**: Use [pylint] for static code analysis, and [mypy] for - static type checking. +- **Linting**: Use [pylint] for static code analysis, and [mypy] for static + type checking. -- **Formatting**: Use [black] as code auto-formatter. The maximum line length is 79, - as per [PEP-8]. This setting should be automatically picked up from the - `pyproject.toml` file. The reason for the shorter line length is that it avoids - wrapping and overflows in side-by-side split views (e.g. diffs) if there's also - information displayed to the side of it (e.g. a tree view of the modified files). +- **Formatting**: Use [black] as code auto-formatter. The maximum line length + is 79, as per [PEP-8]. This setting should be automatically picked up from + the `pyproject.toml` file. The reason for the shorter line length is that it + avoids wrapping and overflows in side-by-side split views (e.g. diffs) if + there's also information displayed to the side of it (e.g. a tree view of the + modified files). Be aware of the different line length of 72 for docstrings. We currently do not have a satisfactory solution to automatically apply @@ -55,9 +55,9 @@ Python code. The key differences are: - Use `... | None` (with `None` always as the last union member) instead of `t.Optional[...]` and always explicitly annotate where `None` is possible. -- **Python style rules**: For conflicting parts, the [black] code style - wins. If you have set up `black` correctly, you don't need to worry about - this though :) +- **Python style rules**: For conflicting parts, the [black] code style wins. + If you have set up `black` correctly, you don't need to worry about this + though :) - When working with `dict`s, consider using `t.TypedDict` instead of a more generic `dict[str, float|int|str]`-like annotation where possible, as the latter is much less precise (often requiring additional `assert`s or @@ -65,85 +65,46 @@ Python code. The key differences are: - Prefer `t.NamedTuple` over `collections.namedtuple`, because the former uses a more convenient `class ...:` syntax and also supports type annotations. -### Conventions +## Conventions -#### Imports +### Imports -1. Always use `from x import y` or `from x import y as z` when importing modules. - The only exception is when you are importing a high-level package or module, - such as `import fastapi` +1. Always use `from x import y` or `from x import y as z` when importing + modules. The only exception is when you are importing a high-level package + or module, such as `import fastapi` -1. Given that we often have identical file names across our modules and submodules, - adhering to the Google style guide can lead to naming conflicts during imports. - To address this, we distinguish between the following two cases: +1. Given that we often have identical file names across our modules and + submodules, adhering to the Google style guide can lead to naming conflicts + during imports. To address this, we distinguish between the following two + cases: - 1. _Importing a module from the current directory_: In this case, we - do not need to rename the module and can use it as is. For instance, - if we are in `capellacollab.projects.toolsmodels`, we can simply import - the `crud` and `model` modules like this: `from . import crud, model`. + 1. _Importing a module from the current directory_: In this case, we do not + need to rename the module and can use it as is. For instance, if we are + in `capellacollab.projects.toolsmodels`, we can simply import the `crud` + and `model` modules like this: `from . import crud, model`. - 2. _Importing a module from a different directory_: In this scenario, - we must add an `as xy` suffix to avoid naming conflicts with the first case. - We follow this pattern: + 2. _Importing a module from a different directory_: In this scenario, we + must add an `as xy` suffix to avoid naming conflicts with the first + case. We follow this pattern: `from capellacollab.extensions. import submodule as _` - For example, if we are in `capellacollab.sessions` and want to import `crud` - from `capellacollab.projects.toolsmodels`, we would do it like this: + For example, if we are in `capellacollab.sessions` and want to import + `crud` from `capellacollab.projects.toolsmodels`, we would do it like + this: `from capellacollab.projects.toolmodels import crud as toolmodels_crud` -1. Only use relative imports up to one level above the current one. This means you - should use `from . import y` for the current module and `from .. import y as z` - for one level above. For all other imports beyond this level, use the full path - as described in 3. +1. Only use relative imports up to one level above the current one. This means + you should use `from . import y` for the current module and + `from .. import y as z` for one level above. For all other imports beyond + this level, use the full path as described in 3. -#### Naming conventions +### Naming conventions - All SQLAlchemy models should have `Database` as a prefix, e.g., `DatabaseProject` or `DatabaseUser`. -## Frontend - -### General - -### Naming Conventions - -#### Crud Functions - -##### Creating resource - -For creating a resource one should use `create` as a prefix followed by -the resource one wants to create (e.g., `createProject(...): Observable`) - -##### Retriving resources - -In general, one should use `get` as prefix for a function that retrieves and -returns resources. -In case, one wants to get a list of alls resources use `get + + s` -as function name (e.g., `getProjects`). -In case, one wants to get a specific resource use `get + + By + ` -as function name (e.g., `getProjectByName(name: string)`). The only exception -to this rule is the case where one wants to get a resource by its identifier -where the `By + ` part can be omitted (e.g., `getProject(id: number)`). - -In some services, we use the concept of having a static representation of a resource or -a list of resources as observable inside the service. For example, - -```ts -private _gitModel = new BehaviorSubject(undefined); -private _gitModels = new BehaviorSubject(undefined); - -readonly gitModel = this._gitModel.asObservable(); -readonly gitModels = this._gitModels.asObservable(); -``` - -In this case, we use the prefix `load` to retrieve the data but instead of -returning it the data is published to all subscribers. However, the naming -rules from above also apply here (e.g., `loadGitModels` to publish all git models -to the `gitModels` observable and `loadGitModelById` to publish only one git model -to the `gitModel` observable) - [google style guide]: https://google.github.io/styleguide/pyguide.html [numpy style guide]: https://numpydoc.readthedocs.io/en/latest/format.html [pep-8]: https://peps.python.org/pep-0008/ @@ -152,4 +113,5 @@ to the `gitModel` observable) [mypy]: https://github.com/python/mypy [pylint]: https://github.com/PyCQA/pylint [isort]: https://github.com/PyCQA/isort -[black]: https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html +[black]: + https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html diff --git a/docs/docs/development/backend/database-migration.md b/docs/docs/development/backend/database-migration.md new file mode 100644 index 0000000000..50f4d39693 --- /dev/null +++ b/docs/docs/development/backend/database-migration.md @@ -0,0 +1,13 @@ + + +# Create database migrations scripts + +To create an upgrade script automatically (this will compare the current +database state with the models): + +```sh +alembic revision --autogenerate -m "Commit message" +``` diff --git a/docs/development/docs/backend/exception.md b/docs/docs/development/backend/exception.md similarity index 100% rename from docs/development/docs/backend/exception.md rename to docs/docs/development/backend/exception.md diff --git a/docs/development/docs/backend/extensions.md b/docs/docs/development/backend/extensions.md similarity index 100% rename from docs/development/docs/backend/extensions.md rename to docs/docs/development/backend/extensions.md diff --git a/docs/development/docs/backend/technology.md b/docs/docs/development/backend/technology.md similarity index 100% rename from docs/development/docs/backend/technology.md rename to docs/docs/development/backend/technology.md diff --git a/docs/docs/development/frontend/code-style.md b/docs/docs/development/frontend/code-style.md new file mode 100644 index 0000000000..fb71c03947 --- /dev/null +++ b/docs/docs/development/frontend/code-style.md @@ -0,0 +1,41 @@ + + +## Naming Conventions + +### Crud Functions + +#### Creating resource + +For creating a resource one should use `create` as a prefix followed by the +resource one wants to create (e.g., `createProject(...): Observable`) + +#### Retriving resources + +In general, one should use `get` as prefix for a function that retrieves and +returns resources. In case, one wants to get a list of alls resources use +`get + + s` as function name (e.g., `getProjects`). In case, +one wants to get a specific resource use +`get + + By + ` as function name (e.g., +`getProjectByName(name: string)`). The only exception to this rule is the case +where one wants to get a resource by its identifier where the `By + ` +part can be omitted (e.g., `getProject(id: number)`). + +In some services, we use the concept of having a static representation of a +resource or a list of resources as observable inside the service. For example, + +```ts +private _gitModel = new BehaviorSubject(undefined); +private _gitModels = new BehaviorSubject(undefined); + +readonly gitModel = this._gitModel.asObservable(); +readonly gitModels = this._gitModels.asObservable(); +``` + +In this case, we use the prefix `load` to retrieve the data but instead of +returning it the data is published to all subscribers. However, the naming +rules from above also apply here (e.g., `loadGitModels` to publish all git +models to the `gitModels` observable and `loadGitModelById` to publish only one +git model to the `gitModel` observable) diff --git a/docs/docs/development/frontend/customize.md b/docs/docs/development/frontend/customize.md new file mode 100644 index 0000000000..e8fd91333c --- /dev/null +++ b/docs/docs/development/frontend/customize.md @@ -0,0 +1,13 @@ + + +# Customize the frontend + +You can customize the frontend by using a custom theme and a custom favicon: + +- If you like to use your custom favicon, please copy it to `src/favicon.ico` +- If you like to use your custom theme, replace the file + `src/custom-theme.scss`. You can generate custom themes + [here](http://mcg.mbitson.com/) diff --git a/docs/development/docs/frontend/routes.md b/docs/docs/development/frontend/routes.md similarity index 100% rename from docs/development/docs/frontend/routes.md rename to docs/docs/development/frontend/routes.md diff --git a/docs/development/docs/frontend/testing.md b/docs/docs/development/frontend/testing.md similarity index 100% rename from docs/development/docs/frontend/testing.md rename to docs/docs/development/frontend/testing.md diff --git a/docs/docs/development/index.md b/docs/docs/development/index.md new file mode 100644 index 0000000000..ae8a422907 --- /dev/null +++ b/docs/docs/development/index.md @@ -0,0 +1,90 @@ + + +Thanks for your interest in our project. Contributions are always welcome! + +We are committed to fostering a welcoming, respectful, and harassment-free +environment. Be kind! + +If you have questions, ideas or want to report a bug, feel free to +[open an issue](https://github.com/DSD-DBS/capella-collab-manager/issues). Or +go ahead and +[open a pull request](https://github.com/DSD-DBS/capella-collab-manager/pulls) +to contribute code. In order to reduce the burden on our maintainers, please +make sure that your code follows our style guidelines. + +## Setup of a local Development Environment + +In addition to the +[local k8s deployment](https://github.com/DSD-DBS/capella-collab-manager#running-locally-with-k3d), +we have local development environment. This environment includes automatic +reloading of the frontend and backend. + +### Requirements + +- `Python` >= 3.11 +- `Docker` +- `GNU Make` +- `Node.js 18` >= v20.8.0 +- `npm` package manager +- [`Angular CLI`](https://angular.io/cli#installing-angular-cli) + +### Backend configuration + +The backend uses various configuration settings. You can find them in the +`config` directory. Please copy the file `config_template.yaml` to +`config.yaml` and adjust the values. + +_Hint_: If you already have the k8d cluster running and if you have the +application deployed, then no configuration values need to be adjusted. + +_Hint_: You can run `python -m capellacollab.config.diff` after each update to +check if your config is up to date. + +### Get started + +To get started, run the following command in the root of the repository for the +initial setup (only required once): + +```zsh +(cd backend && make install) +(cd frontend && npm i) +(cd docs && make install) +``` + +Then, run the following command to start the dev environment: + +```zsh +make -j4 dev +``` + +If everything went well, the frontend and backend should be running now: + +- [Frontend](http://localhost:4200) +- [Backend healthcheck](http://localhost:8000/healthcheck) +- [Backend API documentation](http://localhost:8000/docs) +- [Capella Collaboration Manager Documentation](http://localhost:8081) + +## General notes + +### REST APIs + +We use REST APIs for the communication between frontend and backend. Please +follow the +[RESTful web API design best practises](https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-design). + +### Git + +The commit messages have to follow the +[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#specification) +specification. + +In general, we use pre-commit hooks to enforce coding standards. To setup the +pre-commit hooks, please run the following commands: + +```zsh +pip install -U pip pre-commit +pre-commit install +``` diff --git a/docs/development/docs/k8s/resources.md b/docs/docs/development/k8s/resources.md similarity index 100% rename from docs/development/docs/k8s/resources.md rename to docs/docs/development/k8s/resources.md diff --git a/docs/docs/index.md b/docs/docs/index.md new file mode 100644 index 0000000000..94db145705 --- /dev/null +++ b/docs/docs/index.md @@ -0,0 +1,15 @@ + + +Welcome to the official documentation of the Capella Collaboration Manager. + +To continue, please select one of the following options: + +- I am a user of the platform or interested in its features: + [User documentation](./user/index.md) +- I am a system administrator and want to learn how to install and configure + the platform: [Administrator documentation](./admin/index.md) +- I am a developer and want to learn how to extend the platform: + [Developer documentation](./development/index.md) diff --git a/docs/user/docs/release-notes.md b/docs/docs/release-notes.md similarity index 92% rename from docs/user/docs/release-notes.md rename to docs/docs/release-notes.md index 4f5385997e..6d70695aad 100644 --- a/docs/user/docs/release-notes.md +++ b/docs/docs/release-notes.md @@ -3,9 +3,6 @@ ~ SPDX-License-Identifier: Apache-2.0 --> -The release notes are no longer tracked in the documentation.
We use the -Github release notes instead: - - Release notes of the **Capella Collaboration Manager** are available [here](https://github.com/DSD-DBS/capella-collab-manager/releases). - **Session related** release notes are available [here](https://github.com/DSD-DBS/capella-dockerimages/releases). diff --git a/docs/docs/style.css b/docs/docs/style.css new file mode 100644 index 0000000000..3353360153 --- /dev/null +++ b/docs/docs/style.css @@ -0,0 +1,8 @@ +/* + * SPDX-FileCopyrightText: Copyright DB Netz AG and the capella-collab-manager contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +html { + overflow-y: scroll; +} diff --git a/docs/user/docs/additional/alerts/create.md b/docs/docs/user/alerts/create.md similarity index 100% rename from docs/user/docs/additional/alerts/create.md rename to docs/docs/user/alerts/create.md diff --git a/docs/user/docs/additional/alerts/create.png b/docs/docs/user/alerts/create.png similarity index 100% rename from docs/user/docs/additional/alerts/create.png rename to docs/docs/user/alerts/create.png diff --git a/docs/user/docs/additional/alerts/create.png.license b/docs/docs/user/alerts/create.png.license similarity index 100% rename from docs/user/docs/additional/alerts/create.png.license rename to docs/docs/user/alerts/create.png.license diff --git a/docs/user/docs/additional/alerts/success_alert.png b/docs/docs/user/alerts/success_alert.png similarity index 100% rename from docs/user/docs/additional/alerts/success_alert.png rename to docs/docs/user/alerts/success_alert.png diff --git a/docs/user/docs/additional/alerts/success_alert.png.license b/docs/docs/user/alerts/success_alert.png.license similarity index 100% rename from docs/user/docs/additional/alerts/success_alert.png.license rename to docs/docs/user/alerts/success_alert.png.license diff --git a/docs/user/docs/index.md b/docs/docs/user/index.md similarity index 98% rename from docs/user/docs/index.md rename to docs/docs/user/index.md index c87017b511..7873b003fd 100644 --- a/docs/user/docs/index.md +++ b/docs/docs/user/index.md @@ -5,7 +5,7 @@ # Introduction -Welcome onboard of the Modeling Collaboration Manager. This platform helps you +Welcome onboard of the Capella Collaboration Manager. This platform helps you co-work on architectures using tools like [Capella](https://www.eclipse.org/capella/), [Papyrus](https://www.eclipse.org/papyrus/), diff --git a/docs/user/docs/projects/access.md b/docs/docs/user/projects/access.md similarity index 100% rename from docs/user/docs/projects/access.md rename to docs/docs/user/projects/access.md diff --git a/docs/user/docs/projects/access/project-overview.png b/docs/docs/user/projects/access/project-overview.png similarity index 100% rename from docs/user/docs/projects/access/project-overview.png rename to docs/docs/user/projects/access/project-overview.png diff --git a/docs/user/docs/projects/access/project-overview.png.license b/docs/docs/user/projects/access/project-overview.png.license similarity index 100% rename from docs/user/docs/projects/access/project-overview.png.license rename to docs/docs/user/projects/access/project-overview.png.license diff --git a/docs/user/docs/projects/add-user.md b/docs/docs/user/projects/add-user.md similarity index 100% rename from docs/user/docs/projects/add-user.md rename to docs/docs/user/projects/add-user.md diff --git a/docs/user/docs/projects/add-user/add-user-empty.png b/docs/docs/user/projects/add-user/add-user-empty.png similarity index 100% rename from docs/user/docs/projects/add-user/add-user-empty.png rename to docs/docs/user/projects/add-user/add-user-empty.png diff --git a/docs/user/docs/projects/add-user/add-user-empty.png.license b/docs/docs/user/projects/add-user/add-user-empty.png.license similarity index 100% rename from docs/user/docs/projects/add-user/add-user-empty.png.license rename to docs/docs/user/projects/add-user/add-user-empty.png.license diff --git a/docs/user/docs/projects/add-user/add-user.png b/docs/docs/user/projects/add-user/add-user.png similarity index 100% rename from docs/user/docs/projects/add-user/add-user.png rename to docs/docs/user/projects/add-user/add-user.png diff --git a/docs/user/docs/projects/add-user/add-user.png.license b/docs/docs/user/projects/add-user/add-user.png.license similarity index 100% rename from docs/user/docs/projects/add-user/add-user.png.license rename to docs/docs/user/projects/add-user/add-user.png.license diff --git a/docs/user/docs/projects/add-user/manage-users.png b/docs/docs/user/projects/add-user/manage-users.png similarity index 100% rename from docs/user/docs/projects/add-user/manage-users.png rename to docs/docs/user/projects/add-user/manage-users.png diff --git a/docs/user/docs/projects/add-user/manage-users.png.license b/docs/docs/user/projects/add-user/manage-users.png.license similarity index 100% rename from docs/user/docs/projects/add-user/manage-users.png.license rename to docs/docs/user/projects/add-user/manage-users.png.license diff --git a/docs/user/docs/projects/add-user/modify-user.png b/docs/docs/user/projects/add-user/modify-user.png similarity index 100% rename from docs/user/docs/projects/add-user/modify-user.png rename to docs/docs/user/projects/add-user/modify-user.png diff --git a/docs/user/docs/projects/add-user/modify-user.png.license b/docs/docs/user/projects/add-user/modify-user.png.license similarity index 100% rename from docs/user/docs/projects/add-user/modify-user.png.license rename to docs/docs/user/projects/add-user/modify-user.png.license diff --git a/docs/user/docs/projects/create.md b/docs/docs/user/projects/create.md similarity index 100% rename from docs/user/docs/projects/create.md rename to docs/docs/user/projects/create.md diff --git a/docs/user/docs/projects/create/step-1.png b/docs/docs/user/projects/create/step-1.png similarity index 100% rename from docs/user/docs/projects/create/step-1.png rename to docs/docs/user/projects/create/step-1.png diff --git a/docs/user/docs/projects/create/step-1.png.license b/docs/docs/user/projects/create/step-1.png.license similarity index 100% rename from docs/user/docs/projects/create/step-1.png.license rename to docs/docs/user/projects/create/step-1.png.license diff --git a/docs/user/docs/projects/create/step-2.png b/docs/docs/user/projects/create/step-2.png similarity index 100% rename from docs/user/docs/projects/create/step-2.png rename to docs/docs/user/projects/create/step-2.png diff --git a/docs/user/docs/projects/create/step-2.png.license b/docs/docs/user/projects/create/step-2.png.license similarity index 100% rename from docs/user/docs/projects/create/step-2.png.license rename to docs/docs/user/projects/create/step-2.png.license diff --git a/docs/user/docs/projects/models/backups/backups-overview.png b/docs/docs/user/projects/models/backups/backups-overview.png similarity index 100% rename from docs/user/docs/projects/models/backups/backups-overview.png rename to docs/docs/user/projects/models/backups/backups-overview.png diff --git a/docs/user/docs/projects/models/backups/backups-overview.png.license b/docs/docs/user/projects/models/backups/backups-overview.png.license similarity index 100% rename from docs/user/docs/projects/models/backups/backups-overview.png.license rename to docs/docs/user/projects/models/backups/backups-overview.png.license diff --git a/docs/user/docs/projects/models/backups/create-pipeline.png b/docs/docs/user/projects/models/backups/create-pipeline.png similarity index 100% rename from docs/user/docs/projects/models/backups/create-pipeline.png rename to docs/docs/user/projects/models/backups/create-pipeline.png diff --git a/docs/user/docs/projects/models/backups/create-pipeline.png.license b/docs/docs/user/projects/models/backups/create-pipeline.png.license similarity index 100% rename from docs/user/docs/projects/models/backups/create-pipeline.png.license rename to docs/docs/user/projects/models/backups/create-pipeline.png.license diff --git a/docs/user/docs/projects/models/backups/model-overview.png b/docs/docs/user/projects/models/backups/model-overview.png similarity index 100% rename from docs/user/docs/projects/models/backups/model-overview.png rename to docs/docs/user/projects/models/backups/model-overview.png diff --git a/docs/user/docs/projects/models/backups/model-overview.png.license b/docs/docs/user/projects/models/backups/model-overview.png.license similarity index 100% rename from docs/user/docs/projects/models/backups/model-overview.png.license rename to docs/docs/user/projects/models/backups/model-overview.png.license diff --git a/docs/user/docs/projects/models/backups/remove-pipeline.png b/docs/docs/user/projects/models/backups/remove-pipeline.png similarity index 100% rename from docs/user/docs/projects/models/backups/remove-pipeline.png rename to docs/docs/user/projects/models/backups/remove-pipeline.png diff --git a/docs/user/docs/projects/models/backups/remove-pipeline.png.license b/docs/docs/user/projects/models/backups/remove-pipeline.png.license similarity index 100% rename from docs/user/docs/projects/models/backups/remove-pipeline.png.license rename to docs/docs/user/projects/models/backups/remove-pipeline.png.license diff --git a/docs/user/docs/projects/models/backups/remove.md b/docs/docs/user/projects/models/backups/remove.md similarity index 100% rename from docs/user/docs/projects/models/backups/remove.md rename to docs/docs/user/projects/models/backups/remove.md diff --git a/docs/user/docs/projects/models/backups/run-pipeline.png b/docs/docs/user/projects/models/backups/run-pipeline.png similarity index 100% rename from docs/user/docs/projects/models/backups/run-pipeline.png rename to docs/docs/user/projects/models/backups/run-pipeline.png diff --git a/docs/user/docs/projects/models/backups/run-pipeline.png.license b/docs/docs/user/projects/models/backups/run-pipeline.png.license similarity index 100% rename from docs/user/docs/projects/models/backups/run-pipeline.png.license rename to docs/docs/user/projects/models/backups/run-pipeline.png.license diff --git a/docs/user/docs/projects/models/backups/select-pipeline.png b/docs/docs/user/projects/models/backups/select-pipeline.png similarity index 100% rename from docs/user/docs/projects/models/backups/select-pipeline.png rename to docs/docs/user/projects/models/backups/select-pipeline.png diff --git a/docs/user/docs/projects/models/backups/select-pipeline.png.license b/docs/docs/user/projects/models/backups/select-pipeline.png.license similarity index 100% rename from docs/user/docs/projects/models/backups/select-pipeline.png.license rename to docs/docs/user/projects/models/backups/select-pipeline.png.license diff --git a/docs/user/docs/projects/models/backups/setup.md b/docs/docs/user/projects/models/backups/setup.md similarity index 100% rename from docs/user/docs/projects/models/backups/setup.md rename to docs/docs/user/projects/models/backups/setup.md diff --git a/docs/user/docs/projects/models/backups/trigger.md b/docs/docs/user/projects/models/backups/trigger.md similarity index 100% rename from docs/user/docs/projects/models/backups/trigger.md rename to docs/docs/user/projects/models/backups/trigger.md diff --git a/docs/user/docs/projects/models/complexity_badge.md b/docs/docs/user/projects/models/complexity_badge.md similarity index 100% rename from docs/user/docs/projects/models/complexity_badge.md rename to docs/docs/user/projects/models/complexity_badge.md diff --git a/docs/user/docs/projects/models/complexity_badge.png b/docs/docs/user/projects/models/complexity_badge.png similarity index 100% rename from docs/user/docs/projects/models/complexity_badge.png rename to docs/docs/user/projects/models/complexity_badge.png diff --git a/docs/user/docs/projects/models/complexity_badge.png.license b/docs/docs/user/projects/models/complexity_badge.png.license similarity index 100% rename from docs/user/docs/projects/models/complexity_badge.png.license rename to docs/docs/user/projects/models/complexity_badge.png.license diff --git a/docs/user/docs/projects/models/create.md b/docs/docs/user/projects/models/create.md similarity index 100% rename from docs/user/docs/projects/models/create.md rename to docs/docs/user/projects/models/create.md diff --git a/docs/user/docs/projects/models/diagrams/diagram_button.png b/docs/docs/user/projects/models/diagrams/diagram_button.png similarity index 100% rename from docs/user/docs/projects/models/diagrams/diagram_button.png rename to docs/docs/user/projects/models/diagrams/diagram_button.png diff --git a/docs/user/docs/projects/models/diagrams/diagram_button.png.license b/docs/docs/user/projects/models/diagrams/diagram_button.png.license similarity index 100% rename from docs/user/docs/projects/models/diagrams/diagram_button.png.license rename to docs/docs/user/projects/models/diagrams/diagram_button.png.license diff --git a/docs/user/docs/projects/models/diagrams/setup_diagram_cache.md b/docs/docs/user/projects/models/diagrams/setup_diagram_cache.md similarity index 100% rename from docs/user/docs/projects/models/diagrams/setup_diagram_cache.md rename to docs/docs/user/projects/models/diagrams/setup_diagram_cache.md diff --git a/docs/user/docs/projects/models/diagrams/view_diagram_cache.md b/docs/docs/user/projects/models/diagrams/view_diagram_cache.md similarity index 100% rename from docs/user/docs/projects/models/diagrams/view_diagram_cache.md rename to docs/docs/user/projects/models/diagrams/view_diagram_cache.md diff --git a/docs/user/docs/projects/models/diagrams/view_diagrams.png b/docs/docs/user/projects/models/diagrams/view_diagrams.png similarity index 100% rename from docs/user/docs/projects/models/diagrams/view_diagrams.png rename to docs/docs/user/projects/models/diagrams/view_diagrams.png diff --git a/docs/user/docs/projects/models/diagrams/view_diagrams.png.license b/docs/docs/user/projects/models/diagrams/view_diagrams.png.license similarity index 100% rename from docs/user/docs/projects/models/diagrams/view_diagrams.png.license rename to docs/docs/user/projects/models/diagrams/view_diagrams.png.license diff --git a/docs/user/docs/projects/models/metadata.md b/docs/docs/user/projects/models/metadata.md similarity index 100% rename from docs/user/docs/projects/models/metadata.md rename to docs/docs/user/projects/models/metadata.md diff --git a/docs/user/docs/projects/models/sources/open-modelsources.png b/docs/docs/user/projects/models/sources/open-modelsources.png similarity index 100% rename from docs/user/docs/projects/models/sources/open-modelsources.png rename to docs/docs/user/projects/models/sources/open-modelsources.png diff --git a/docs/user/docs/projects/models/sources/open-modelsources.png.license b/docs/docs/user/projects/models/sources/open-modelsources.png.license similarity index 100% rename from docs/user/docs/projects/models/sources/open-modelsources.png.license rename to docs/docs/user/projects/models/sources/open-modelsources.png.license diff --git a/docs/user/docs/projects/models/sources/t4c.md b/docs/docs/user/projects/models/sources/t4c.md similarity index 100% rename from docs/user/docs/projects/models/sources/t4c.md rename to docs/docs/user/projects/models/sources/t4c.md diff --git a/docs/user/docs/projects/models/sources/use-existing-repository.png b/docs/docs/user/projects/models/sources/use-existing-repository.png similarity index 100% rename from docs/user/docs/projects/models/sources/use-existing-repository.png rename to docs/docs/user/projects/models/sources/use-existing-repository.png diff --git a/docs/user/docs/projects/models/sources/use-existing-repository.png.license b/docs/docs/user/projects/models/sources/use-existing-repository.png.license similarity index 100% rename from docs/user/docs/projects/models/sources/use-existing-repository.png.license rename to docs/docs/user/projects/models/sources/use-existing-repository.png.license diff --git a/docs/user/docs/projects/models/update.md b/docs/docs/user/projects/models/update.md similarity index 100% rename from docs/user/docs/projects/models/update.md rename to docs/docs/user/projects/models/update.md diff --git a/docs/user/docs/projects/roles.md b/docs/docs/user/projects/roles.md similarity index 100% rename from docs/user/docs/projects/roles.md rename to docs/docs/user/projects/roles.md diff --git a/docs/user/docs/sessions/close_welcome_dialog.png b/docs/docs/user/sessions/close_welcome_dialog.png similarity index 100% rename from docs/user/docs/sessions/close_welcome_dialog.png rename to docs/docs/user/sessions/close_welcome_dialog.png diff --git a/docs/user/docs/sessions/close_welcome_dialog.png.license b/docs/docs/user/sessions/close_welcome_dialog.png.license similarity index 100% rename from docs/user/docs/sessions/close_welcome_dialog.png.license rename to docs/docs/user/sessions/close_welcome_dialog.png.license diff --git a/docs/user/docs/sessions/files/download-button.png b/docs/docs/user/sessions/files/download-button.png similarity index 100% rename from docs/user/docs/sessions/files/download-button.png rename to docs/docs/user/sessions/files/download-button.png diff --git a/docs/user/docs/sessions/files/download-button.png.license b/docs/docs/user/sessions/files/download-button.png.license similarity index 100% rename from docs/user/docs/sessions/files/download-button.png.license rename to docs/docs/user/sessions/files/download-button.png.license diff --git a/docs/user/docs/sessions/files/download-file-button.png b/docs/docs/user/sessions/files/download-file-button.png similarity index 100% rename from docs/user/docs/sessions/files/download-file-button.png rename to docs/docs/user/sessions/files/download-file-button.png diff --git a/docs/user/docs/sessions/files/download-file-button.png.license b/docs/docs/user/sessions/files/download-file-button.png.license similarity index 100% rename from docs/user/docs/sessions/files/download-file-button.png.license rename to docs/docs/user/sessions/files/download-file-button.png.license diff --git a/docs/user/docs/sessions/files/file-browser-button.png b/docs/docs/user/sessions/files/file-browser-button.png similarity index 100% rename from docs/user/docs/sessions/files/file-browser-button.png rename to docs/docs/user/sessions/files/file-browser-button.png diff --git a/docs/user/docs/sessions/files/file-browser-button.png.license b/docs/docs/user/sessions/files/file-browser-button.png.license similarity index 100% rename from docs/user/docs/sessions/files/file-browser-button.png.license rename to docs/docs/user/sessions/files/file-browser-button.png.license diff --git a/docs/user/docs/sessions/files/files-to-upload.png b/docs/docs/user/sessions/files/files-to-upload.png similarity index 100% rename from docs/user/docs/sessions/files/files-to-upload.png rename to docs/docs/user/sessions/files/files-to-upload.png diff --git a/docs/user/docs/sessions/files/files-to-upload.png.license b/docs/docs/user/sessions/files/files-to-upload.png.license similarity index 100% rename from docs/user/docs/sessions/files/files-to-upload.png.license rename to docs/docs/user/sessions/files/files-to-upload.png.license diff --git a/docs/user/docs/sessions/files/files.md b/docs/docs/user/sessions/files/files.md similarity index 100% rename from docs/user/docs/sessions/files/files.md rename to docs/docs/user/sessions/files/files.md diff --git a/docs/user/docs/sessions/files/upload-button.png b/docs/docs/user/sessions/files/upload-button.png similarity index 100% rename from docs/user/docs/sessions/files/upload-button.png rename to docs/docs/user/sessions/files/upload-button.png diff --git a/docs/user/docs/sessions/files/upload-button.png.license b/docs/docs/user/sessions/files/upload-button.png.license similarity index 100% rename from docs/user/docs/sessions/files/upload-button.png.license rename to docs/docs/user/sessions/files/upload-button.png.license diff --git a/docs/user/docs/sessions/files/upload-file-button.png b/docs/docs/user/sessions/files/upload-file-button.png similarity index 100% rename from docs/user/docs/sessions/files/upload-file-button.png rename to docs/docs/user/sessions/files/upload-file-button.png diff --git a/docs/user/docs/sessions/files/upload-file-button.png.license b/docs/docs/user/sessions/files/upload-file-button.png.license similarity index 100% rename from docs/user/docs/sessions/files/upload-file-button.png.license rename to docs/docs/user/sessions/files/upload-file-button.png.license diff --git a/docs/user/docs/sessions/flows/git.md b/docs/docs/user/sessions/flows/git.md similarity index 100% rename from docs/user/docs/sessions/flows/git.md rename to docs/docs/user/sessions/flows/git.md diff --git a/docs/user/docs/sessions/flows/screenshots/cap-test-conn.jpg b/docs/docs/user/sessions/flows/screenshots/cap-test-conn.jpg similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/cap-test-conn.jpg rename to docs/docs/user/sessions/flows/screenshots/cap-test-conn.jpg diff --git a/docs/user/docs/sessions/flows/screenshots/cap-test-conn.jpg.license b/docs/docs/user/sessions/flows/screenshots/cap-test-conn.jpg.license similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/cap-test-conn.jpg.license rename to docs/docs/user/sessions/flows/screenshots/cap-test-conn.jpg.license diff --git a/docs/user/docs/sessions/flows/screenshots/connection-example.jpg b/docs/docs/user/sessions/flows/screenshots/connection-example.jpg similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/connection-example.jpg rename to docs/docs/user/sessions/flows/screenshots/connection-example.jpg diff --git a/docs/user/docs/sessions/flows/screenshots/connection-example.jpg.license b/docs/docs/user/sessions/flows/screenshots/connection-example.jpg.license similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/connection-example.jpg.license rename to docs/docs/user/sessions/flows/screenshots/connection-example.jpg.license diff --git a/docs/user/docs/sessions/flows/screenshots/session-password.png b/docs/docs/user/sessions/flows/screenshots/session-password.png similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/session-password.png rename to docs/docs/user/sessions/flows/screenshots/session-password.png diff --git a/docs/user/docs/sessions/flows/screenshots/session-password.png.license b/docs/docs/user/sessions/flows/screenshots/session-password.png.license similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/session-password.png.license rename to docs/docs/user/sessions/flows/screenshots/session-password.png.license diff --git a/docs/user/docs/sessions/flows/screenshots/step_1.png b/docs/docs/user/sessions/flows/screenshots/step_1.png similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/step_1.png rename to docs/docs/user/sessions/flows/screenshots/step_1.png diff --git a/docs/user/docs/sessions/flows/screenshots/step_1.png.license b/docs/docs/user/sessions/flows/screenshots/step_1.png.license similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/step_1.png.license rename to docs/docs/user/sessions/flows/screenshots/step_1.png.license diff --git a/docs/user/docs/sessions/flows/screenshots/step_2.png b/docs/docs/user/sessions/flows/screenshots/step_2.png similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/step_2.png rename to docs/docs/user/sessions/flows/screenshots/step_2.png diff --git a/docs/user/docs/sessions/flows/screenshots/step_2.png.license b/docs/docs/user/sessions/flows/screenshots/step_2.png.license similarity index 100% rename from docs/user/docs/sessions/flows/screenshots/step_2.png.license rename to docs/docs/user/sessions/flows/screenshots/step_2.png.license diff --git a/docs/user/docs/sessions/flows/t4c.md b/docs/docs/user/sessions/flows/t4c.md similarity index 100% rename from docs/user/docs/sessions/flows/t4c.md rename to docs/docs/user/sessions/flows/t4c.md diff --git a/docs/user/docs/sessions/jupyter/collaboration.md b/docs/docs/user/sessions/jupyter/collaboration.md similarity index 100% rename from docs/user/docs/sessions/jupyter/collaboration.md rename to docs/docs/user/sessions/jupyter/collaboration.md diff --git a/docs/user/docs/sessions/jupyter/jupyter-collaboration.mp4 b/docs/docs/user/sessions/jupyter/jupyter-collaboration.mp4 similarity index 100% rename from docs/user/docs/sessions/jupyter/jupyter-collaboration.mp4 rename to docs/docs/user/sessions/jupyter/jupyter-collaboration.mp4 diff --git a/docs/user/docs/sessions/jupyter/jupyter-collaboration.mp4.license b/docs/docs/user/sessions/jupyter/jupyter-collaboration.mp4.license similarity index 100% rename from docs/user/docs/sessions/jupyter/jupyter-collaboration.mp4.license rename to docs/docs/user/sessions/jupyter/jupyter-collaboration.mp4.license diff --git a/docs/user/docs/sessions/reconnect.md b/docs/docs/user/sessions/reconnect.md similarity index 100% rename from docs/user/docs/sessions/reconnect.md rename to docs/docs/user/sessions/reconnect.md diff --git a/docs/user/docs/sessions/request.md b/docs/docs/user/sessions/request.md similarity index 100% rename from docs/user/docs/sessions/request.md rename to docs/docs/user/sessions/request.md diff --git a/docs/user/docs/sessions/request_persistent_session.png b/docs/docs/user/sessions/request_persistent_session.png similarity index 100% rename from docs/user/docs/sessions/request_persistent_session.png rename to docs/docs/user/sessions/request_persistent_session.png diff --git a/docs/user/docs/sessions/request_persistent_session.png.license b/docs/docs/user/sessions/request_persistent_session.png.license similarity index 100% rename from docs/user/docs/sessions/request_persistent_session.png.license rename to docs/docs/user/sessions/request_persistent_session.png.license diff --git a/docs/user/docs/sessions/screenshot/clipboard.png b/docs/docs/user/sessions/screenshot/clipboard.png similarity index 100% rename from docs/user/docs/sessions/screenshot/clipboard.png rename to docs/docs/user/sessions/screenshot/clipboard.png diff --git a/docs/user/docs/sessions/screenshot/clipboard.png.license b/docs/docs/user/sessions/screenshot/clipboard.png.license similarity index 100% rename from docs/user/docs/sessions/screenshot/clipboard.png.license rename to docs/docs/user/sessions/screenshot/clipboard.png.license diff --git a/docs/user/docs/sessions/screenshot/screenshots.md b/docs/docs/user/sessions/screenshot/screenshots.md similarity index 100% rename from docs/user/docs/sessions/screenshot/screenshots.md rename to docs/docs/user/sessions/screenshot/screenshots.md diff --git a/docs/user/docs/sessions/terminate.md b/docs/docs/user/sessions/terminate.md similarity index 100% rename from docs/user/docs/sessions/terminate.md rename to docs/docs/user/sessions/terminate.md diff --git a/docs/user/docs/sessions/troubleshooting.md b/docs/docs/user/sessions/troubleshooting.md similarity index 100% rename from docs/user/docs/sessions/troubleshooting.md rename to docs/docs/user/sessions/troubleshooting.md diff --git a/docs/user/docs/sessions/types.md b/docs/docs/user/sessions/types.md similarity index 100% rename from docs/user/docs/sessions/types.md rename to docs/docs/user/sessions/types.md diff --git a/docs/user/docs/sessions/types/persistent.md b/docs/docs/user/sessions/types/persistent.md similarity index 100% rename from docs/user/docs/sessions/types/persistent.md rename to docs/docs/user/sessions/types/persistent.md diff --git a/docs/user/docs/sessions/types/read-only.md b/docs/docs/user/sessions/types/read-only.md similarity index 100% rename from docs/user/docs/sessions/types/read-only.md rename to docs/docs/user/sessions/types/read-only.md diff --git a/docs/user/docs/sessions/types/screenshots/active-sessions.png b/docs/docs/user/sessions/types/screenshots/active-sessions.png similarity index 100% rename from docs/user/docs/sessions/types/screenshots/active-sessions.png rename to docs/docs/user/sessions/types/screenshots/active-sessions.png diff --git a/docs/user/docs/sessions/types/screenshots/active-sessions.png.license b/docs/docs/user/sessions/types/screenshots/active-sessions.png.license similarity index 100% rename from docs/user/docs/sessions/types/screenshots/active-sessions.png.license rename to docs/docs/user/sessions/types/screenshots/active-sessions.png.license diff --git a/docs/user/docs/sessions/types/screenshots/cap-test-conn.jpg b/docs/docs/user/sessions/types/screenshots/cap-test-conn.jpg similarity index 100% rename from docs/user/docs/sessions/types/screenshots/cap-test-conn.jpg rename to docs/docs/user/sessions/types/screenshots/cap-test-conn.jpg diff --git a/docs/user/docs/sessions/types/screenshots/cap-test-conn.jpg.license b/docs/docs/user/sessions/types/screenshots/cap-test-conn.jpg.license similarity index 100% rename from docs/user/docs/sessions/types/screenshots/cap-test-conn.jpg.license rename to docs/docs/user/sessions/types/screenshots/cap-test-conn.jpg.license diff --git a/docs/user/docs/sessions/types/screenshots/connect-to-session.png b/docs/docs/user/sessions/types/screenshots/connect-to-session.png similarity index 100% rename from docs/user/docs/sessions/types/screenshots/connect-to-session.png rename to docs/docs/user/sessions/types/screenshots/connect-to-session.png diff --git a/docs/user/docs/sessions/types/screenshots/connect-to-session.png.license b/docs/docs/user/sessions/types/screenshots/connect-to-session.png.license similarity index 100% rename from docs/user/docs/sessions/types/screenshots/connect-to-session.png.license rename to docs/docs/user/sessions/types/screenshots/connect-to-session.png.license diff --git a/docs/user/docs/sessions/types/screenshots/request-session.png b/docs/docs/user/sessions/types/screenshots/request-session.png similarity index 100% rename from docs/user/docs/sessions/types/screenshots/request-session.png rename to docs/docs/user/sessions/types/screenshots/request-session.png diff --git a/docs/user/docs/sessions/types/screenshots/request-session.png.license b/docs/docs/user/sessions/types/screenshots/request-session.png.license similarity index 100% rename from docs/user/docs/sessions/types/screenshots/request-session.png.license rename to docs/docs/user/sessions/types/screenshots/request-session.png.license diff --git a/docs/user/docs/settings/model-sources/git.md b/docs/docs/user/settings/model-sources/git.md similarity index 100% rename from docs/user/docs/settings/model-sources/git.md rename to docs/docs/user/settings/model-sources/git.md diff --git a/docs/user/docs/settings/model-sources/t4c.md b/docs/docs/user/settings/model-sources/t4c.md similarity index 100% rename from docs/user/docs/settings/model-sources/t4c.md rename to docs/docs/user/settings/model-sources/t4c.md diff --git a/docs/user/docs/settings/monitoring.md b/docs/docs/user/settings/monitoring.md similarity index 100% rename from docs/user/docs/settings/monitoring.md rename to docs/docs/user/settings/monitoring.md diff --git a/docs/user/docs/settings/tools/index.md b/docs/docs/user/settings/tools/index.md similarity index 100% rename from docs/user/docs/settings/tools/index.md rename to docs/docs/user/settings/tools/index.md diff --git a/docs/user/docs/settings/tools/model_restrictions.png b/docs/docs/user/settings/tools/model_restrictions.png similarity index 100% rename from docs/user/docs/settings/tools/model_restrictions.png rename to docs/docs/user/settings/tools/model_restrictions.png diff --git a/docs/user/docs/settings/tools/model_restrictions.png.license b/docs/docs/user/settings/tools/model_restrictions.png.license similarity index 100% rename from docs/user/docs/settings/tools/model_restrictions.png.license rename to docs/docs/user/settings/tools/model_restrictions.png.license diff --git a/docs/user/docs/settings/tools/model_restrictions_pv.png b/docs/docs/user/settings/tools/model_restrictions_pv.png similarity index 100% rename from docs/user/docs/settings/tools/model_restrictions_pv.png rename to docs/docs/user/settings/tools/model_restrictions_pv.png diff --git a/docs/user/docs/settings/tools/model_restrictions_pv.png.license b/docs/docs/user/settings/tools/model_restrictions_pv.png.license similarity index 100% rename from docs/user/docs/settings/tools/model_restrictions_pv.png.license rename to docs/docs/user/settings/tools/model_restrictions_pv.png.license diff --git a/docs/user/docs/settings/tools/pure_variants.md b/docs/docs/user/settings/tools/pure_variants.md similarity index 100% rename from docs/user/docs/settings/tools/pure_variants.md rename to docs/docs/user/settings/tools/pure_variants.md diff --git a/docs/user/docs/tokens.md b/docs/docs/user/tokens.md similarity index 100% rename from docs/user/docs/tokens.md rename to docs/docs/user/tokens.md diff --git a/docs/user/docs/tools/capella/introduction.md b/docs/docs/user/tools/capella/introduction.md similarity index 100% rename from docs/user/docs/tools/capella/introduction.md rename to docs/docs/user/tools/capella/introduction.md diff --git a/docs/user/docs/tools/capella/t4c-git-compare.md b/docs/docs/user/tools/capella/t4c-git-compare.md similarity index 100% rename from docs/user/docs/tools/capella/t4c-git-compare.md rename to docs/docs/user/tools/capella/t4c-git-compare.md diff --git a/docs/user/docs/tools/capella/teamforcapella/add-repository.png b/docs/docs/user/tools/capella/teamforcapella/add-repository.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/add-repository.png rename to docs/docs/user/tools/capella/teamforcapella/add-repository.png diff --git a/docs/user/docs/tools/capella/teamforcapella/add-repository.png.license b/docs/docs/user/tools/capella/teamforcapella/add-repository.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/add-repository.png.license rename to docs/docs/user/tools/capella/teamforcapella/add-repository.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/backup-migration.png b/docs/docs/user/tools/capella/teamforcapella/backup-migration.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/backup-migration.png rename to docs/docs/user/tools/capella/teamforcapella/backup-migration.png diff --git a/docs/user/docs/tools/capella/teamforcapella/backup-migration.png.license b/docs/docs/user/tools/capella/teamforcapella/backup-migration.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/backup-migration.png.license rename to docs/docs/user/tools/capella/teamforcapella/backup-migration.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/export/capella-project-to-repository.png b/docs/docs/user/tools/capella/teamforcapella/export/capella-project-to-repository.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/export/capella-project-to-repository.png rename to docs/docs/user/tools/capella/teamforcapella/export/capella-project-to-repository.png diff --git a/docs/user/docs/tools/capella/teamforcapella/export/capella-project-to-repository.png.license b/docs/docs/user/tools/capella/teamforcapella/export/capella-project-to-repository.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/export/capella-project-to-repository.png.license rename to docs/docs/user/tools/capella/teamforcapella/export/capella-project-to-repository.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/export/export-repository-selection.png b/docs/docs/user/tools/capella/teamforcapella/export/export-repository-selection.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/export/export-repository-selection.png rename to docs/docs/user/tools/capella/teamforcapella/export/export-repository-selection.png diff --git a/docs/user/docs/tools/capella/teamforcapella/export/export-repository-selection.png.license b/docs/docs/user/tools/capella/teamforcapella/export/export-repository-selection.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/export/export-repository-selection.png.license rename to docs/docs/user/tools/capella/teamforcapella/export/export-repository-selection.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/export/export-to-t4c.md b/docs/docs/user/tools/capella/teamforcapella/export/export-to-t4c.md similarity index 87% rename from docs/user/docs/tools/capella/teamforcapella/export/export-to-t4c.md rename to docs/docs/user/tools/capella/teamforcapella/export/export-to-t4c.md index 65e93fba43..9fc2e86298 100644 --- a/docs/user/docs/tools/capella/teamforcapella/export/export-to-t4c.md +++ b/docs/docs/user/tools/capella/teamforcapella/export/export-to-t4c.md @@ -19,8 +19,9 @@ select `Capella Project to Remote Repository` and confirm with `Next`: ![Capella Project to Remote Repository](./capella-project-to-repository.png) 1. Select the repository from the dropdown menu. Click on the `Test connection` - button and enter your [session token](/sessions/flows/t4c.md). Click on - `Next`. ![Select repository for export](./export-repository-selection.png) + button and enter your [session token](../../../../sessions/flows/t4c.md). + Click on `Next`. + ![Select repository for export](./export-repository-selection.png) 1. Select the overwrite strategy. If the project doesn't exist on the server yet, choose `Replace`. Otherwise, select `Merge`. ![Overwrite strategy](./select-overwrite-strategy.png) diff --git a/docs/user/docs/tools/capella/teamforcapella/export/select-overwrite-strategy.png b/docs/docs/user/tools/capella/teamforcapella/export/select-overwrite-strategy.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/export/select-overwrite-strategy.png rename to docs/docs/user/tools/capella/teamforcapella/export/select-overwrite-strategy.png diff --git a/docs/user/docs/tools/capella/teamforcapella/export/select-overwrite-strategy.png.license b/docs/docs/user/tools/capella/teamforcapella/export/select-overwrite-strategy.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/export/select-overwrite-strategy.png.license rename to docs/docs/user/tools/capella/teamforcapella/export/select-overwrite-strategy.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/import/capella-import-dialog.png b/docs/docs/user/tools/capella/teamforcapella/import/capella-import-dialog.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/capella-import-dialog.png rename to docs/docs/user/tools/capella/teamforcapella/import/capella-import-dialog.png diff --git a/docs/user/docs/tools/capella/teamforcapella/import/capella-import-dialog.png.license b/docs/docs/user/tools/capella/teamforcapella/import/capella-import-dialog.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/capella-import-dialog.png.license rename to docs/docs/user/tools/capella/teamforcapella/import/capella-import-dialog.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/import/change-local-project-name.png b/docs/docs/user/tools/capella/teamforcapella/import/change-local-project-name.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/change-local-project-name.png rename to docs/docs/user/tools/capella/teamforcapella/import/change-local-project-name.png diff --git a/docs/user/docs/tools/capella/teamforcapella/import/change-local-project-name.png.license b/docs/docs/user/tools/capella/teamforcapella/import/change-local-project-name.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/change-local-project-name.png.license rename to docs/docs/user/tools/capella/teamforcapella/import/change-local-project-name.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/import/import-all-images.png b/docs/docs/user/tools/capella/teamforcapella/import/import-all-images.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/import-all-images.png rename to docs/docs/user/tools/capella/teamforcapella/import/import-all-images.png diff --git a/docs/user/docs/tools/capella/teamforcapella/import/import-all-images.png.license b/docs/docs/user/tools/capella/teamforcapella/import/import-all-images.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/import-all-images.png.license rename to docs/docs/user/tools/capella/teamforcapella/import/import-all-images.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/import/import-from-t4c.md b/docs/docs/user/tools/capella/teamforcapella/import/import-from-t4c.md similarity index 96% rename from docs/user/docs/tools/capella/teamforcapella/import/import-from-t4c.md rename to docs/docs/user/tools/capella/teamforcapella/import/import-from-t4c.md index 75e39603f8..de272b128f 100644 --- a/docs/user/docs/tools/capella/teamforcapella/import/import-from-t4c.md +++ b/docs/docs/user/tools/capella/teamforcapella/import/import-from-t4c.md @@ -19,7 +19,7 @@ confirm with `Next`. ![Import project from remote repository](./project-from-remote-repository.png) 1. Select the repository from the dropdown menu. Click on the `Test connection` - button and enter your [session token](/sessions/flows/t4c.md). + button and enter your [session token](../../../../sessions/flows/t4c.md). ![Select repository for import](./import-repository-selection.png) 1. Click on `Next` . diff --git a/docs/user/docs/tools/capella/teamforcapella/import/import-repository-selection.png b/docs/docs/user/tools/capella/teamforcapella/import/import-repository-selection.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/import-repository-selection.png rename to docs/docs/user/tools/capella/teamforcapella/import/import-repository-selection.png diff --git a/docs/user/docs/tools/capella/teamforcapella/import/import-repository-selection.png.license b/docs/docs/user/tools/capella/teamforcapella/import/import-repository-selection.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/import-repository-selection.png.license rename to docs/docs/user/tools/capella/teamforcapella/import/import-repository-selection.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/import/imported-resources-message.png b/docs/docs/user/tools/capella/teamforcapella/import/imported-resources-message.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/imported-resources-message.png rename to docs/docs/user/tools/capella/teamforcapella/import/imported-resources-message.png diff --git a/docs/user/docs/tools/capella/teamforcapella/import/imported-resources-message.png.license b/docs/docs/user/tools/capella/teamforcapella/import/imported-resources-message.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/imported-resources-message.png.license rename to docs/docs/user/tools/capella/teamforcapella/import/imported-resources-message.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/import/project-already-exists-in-workspace.png b/docs/docs/user/tools/capella/teamforcapella/import/project-already-exists-in-workspace.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/project-already-exists-in-workspace.png rename to docs/docs/user/tools/capella/teamforcapella/import/project-already-exists-in-workspace.png diff --git a/docs/user/docs/tools/capella/teamforcapella/import/project-already-exists-in-workspace.png.license b/docs/docs/user/tools/capella/teamforcapella/import/project-already-exists-in-workspace.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/project-already-exists-in-workspace.png.license rename to docs/docs/user/tools/capella/teamforcapella/import/project-already-exists-in-workspace.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/import/project-from-remote-repository.png b/docs/docs/user/tools/capella/teamforcapella/import/project-from-remote-repository.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/project-from-remote-repository.png rename to docs/docs/user/tools/capella/teamforcapella/import/project-from-remote-repository.png diff --git a/docs/user/docs/tools/capella/teamforcapella/import/project-from-remote-repository.png.license b/docs/docs/user/tools/capella/teamforcapella/import/project-from-remote-repository.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/project-from-remote-repository.png.license rename to docs/docs/user/tools/capella/teamforcapella/import/project-from-remote-repository.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/import/use-default-location.png b/docs/docs/user/tools/capella/teamforcapella/import/use-default-location.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/use-default-location.png rename to docs/docs/user/tools/capella/teamforcapella/import/use-default-location.png diff --git a/docs/user/docs/tools/capella/teamforcapella/import/use-default-location.png.license b/docs/docs/user/tools/capella/teamforcapella/import/use-default-location.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/import/use-default-location.png.license rename to docs/docs/user/tools/capella/teamforcapella/import/use-default-location.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/migrate-capella-model.png b/docs/docs/user/tools/capella/teamforcapella/migrate-capella-model.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/migrate-capella-model.png rename to docs/docs/user/tools/capella/teamforcapella/migrate-capella-model.png diff --git a/docs/user/docs/tools/capella/teamforcapella/migrate-capella-model.png.license b/docs/docs/user/tools/capella/teamforcapella/migrate-capella-model.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/migrate-capella-model.png.license rename to docs/docs/user/tools/capella/teamforcapella/migrate-capella-model.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/activate-t4c-administration-guide.png b/docs/docs/user/tools/capella/teamforcapella/project-management/activate-t4c-administration-guide.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/activate-t4c-administration-guide.png rename to docs/docs/user/tools/capella/teamforcapella/project-management/activate-t4c-administration-guide.png diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/activate-t4c-administration-guide.png.license b/docs/docs/user/tools/capella/teamforcapella/project-management/activate-t4c-administration-guide.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/activate-t4c-administration-guide.png.license rename to docs/docs/user/tools/capella/teamforcapella/project-management/activate-t4c-administration-guide.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/add-new-cdo-session.png b/docs/docs/user/tools/capella/teamforcapella/project-management/add-new-cdo-session.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/add-new-cdo-session.png rename to docs/docs/user/tools/capella/teamforcapella/project-management/add-new-cdo-session.png diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/add-new-cdo-session.png.license b/docs/docs/user/tools/capella/teamforcapella/project-management/add-new-cdo-session.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/add-new-cdo-session.png.license rename to docs/docs/user/tools/capella/teamforcapella/project-management/add-new-cdo-session.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/delete-t4c-project.png b/docs/docs/user/tools/capella/teamforcapella/project-management/delete-t4c-project.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/delete-t4c-project.png rename to docs/docs/user/tools/capella/teamforcapella/project-management/delete-t4c-project.png diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/delete-t4c-project.png.license b/docs/docs/user/tools/capella/teamforcapella/project-management/delete-t4c-project.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/delete-t4c-project.png.license rename to docs/docs/user/tools/capella/teamforcapella/project-management/delete-t4c-project.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/find-out-repository-host.png b/docs/docs/user/tools/capella/teamforcapella/project-management/find-out-repository-host.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/find-out-repository-host.png rename to docs/docs/user/tools/capella/teamforcapella/project-management/find-out-repository-host.png diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/find-out-repository-host.png.license b/docs/docs/user/tools/capella/teamforcapella/project-management/find-out-repository-host.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/find-out-repository-host.png.license rename to docs/docs/user/tools/capella/teamforcapella/project-management/find-out-repository-host.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/open-cdo-session.png b/docs/docs/user/tools/capella/teamforcapella/project-management/open-cdo-session.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/open-cdo-session.png rename to docs/docs/user/tools/capella/teamforcapella/project-management/open-cdo-session.png diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/open-cdo-session.png.license b/docs/docs/user/tools/capella/teamforcapella/project-management/open-cdo-session.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/open-cdo-session.png.license rename to docs/docs/user/tools/capella/teamforcapella/project-management/open-cdo-session.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/open-cdo-transaction.png b/docs/docs/user/tools/capella/teamforcapella/project-management/open-cdo-transaction.png similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/open-cdo-transaction.png rename to docs/docs/user/tools/capella/teamforcapella/project-management/open-cdo-transaction.png diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/open-cdo-transaction.png.license b/docs/docs/user/tools/capella/teamforcapella/project-management/open-cdo-transaction.png.license similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/project-management/open-cdo-transaction.png.license rename to docs/docs/user/tools/capella/teamforcapella/project-management/open-cdo-transaction.png.license diff --git a/docs/user/docs/tools/capella/teamforcapella/project-management/project-management.md b/docs/docs/user/tools/capella/teamforcapella/project-management/project-management.md similarity index 96% rename from docs/user/docs/tools/capella/teamforcapella/project-management/project-management.md rename to docs/docs/user/tools/capella/teamforcapella/project-management/project-management.md index 14ec951dff..6b34dbb7fd 100644 --- a/docs/user/docs/tools/capella/teamforcapella/project-management/project-management.md +++ b/docs/docs/user/tools/capella/teamforcapella/project-management/project-management.md @@ -39,7 +39,7 @@ repositories, refer to the 1. Global administrators can navigate to `Profile` > `Settings` > `Model sources` > `TeamForCapella` > Select the instance > `Host`. 1. Project managers can use the TeamForCapella connection flow described in - the [Connect to a TeamForCapella repository](/sessions/flows/t4c.md) + the [Connect to a TeamForCapella repository](../../../../sessions/flows/t4c.md) guide. In the `Connect to Shared Project` dialog, select the repository, expand "Connection information" and copy the "Repository host". ![Find out T4C server host](./find-out-repository-host.png) diff --git a/docs/user/docs/tools/capella/teamforcapella/repository-management.md b/docs/docs/user/tools/capella/teamforcapella/repository-management.md similarity index 100% rename from docs/user/docs/tools/capella/teamforcapella/repository-management.md rename to docs/docs/user/tools/capella/teamforcapella/repository-management.md diff --git a/docs/user/docs/tools/capella/teamforcapella/update.md b/docs/docs/user/tools/capella/teamforcapella/update.md similarity index 78% rename from docs/user/docs/tools/capella/teamforcapella/update.md rename to docs/docs/user/tools/capella/teamforcapella/update.md index 76cfcf2c19..80288f30c7 100644 --- a/docs/user/docs/tools/capella/teamforcapella/update.md +++ b/docs/docs/user/tools/capella/teamforcapella/update.md @@ -16,16 +16,16 @@ [Import a model from TeamForCapella](./import/import-from-t4c.md) 1. Terminate the session. 1. Remove existing backups from TeamForCapella: - [Remove a (nightly) backup](/projects/models/backups/remove.md) + [Remove a (nightly) backup](../../../projects/models/backups/remove.md) 1. Add a new repository in the TeamForCapella settings: [Add a new TeamForCapella repository](./repository-management.md#add-a-new-teamforcapella-repository) 1. Unlink the old TeamForCapella repository (old Capella version) from your model: - [Unlink a TeamForCapella repository](/projects/models/sources/t4c.md#unlink-a-teamforcapella-repository-from-a-project-model) + [Unlink a TeamForCapella repository](../../../projects/models/sources/t4c.md#unlink-a-teamforcapella-repository-from-a-project-model) 1. Link the new TeamForCapella repository (new Capella version) to your model: - [Link a TeamForCapella repository](/projects/models/sources/t4c.md#link-a-teamforcapella-repository-to-a-project-model) + [Link a TeamForCapella repository](../../../projects/models/sources/t4c.md#link-a-teamforcapella-repository-to-a-project-model) 1. Update the model version to the newer Capella version: - [Change model metadata](/projects/models/metadata.md) + [Change model metadata](../../../projects/models/metadata.md) 1. Create a new session with the new Capella version. 1. In your persistent workspace, execute the following steps: @@ -40,4 +40,4 @@ from TeamForCapella: [Export a model to TeamForCapella](./export/export-to-t4c.md) 1. Recreate the backup from TeamForCapella: - [Set up a TeamForCapella backup](/projects/models/backups/setup.md) + [Set up a TeamForCapella backup](../../../projects/models/backups/setup.md) diff --git a/docs/user/docs/tools/capella/working-with-git.md b/docs/docs/user/tools/capella/working-with-git.md similarity index 100% rename from docs/user/docs/tools/capella/working-with-git.md rename to docs/docs/user/tools/capella/working-with-git.md diff --git a/docs/user/docs/tools/capella/working-with-git/create-merge-branch.png b/docs/docs/user/tools/capella/working-with-git/create-merge-branch.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/create-merge-branch.png rename to docs/docs/user/tools/capella/working-with-git/create-merge-branch.png diff --git a/docs/user/docs/tools/capella/working-with-git/create-merge-branch.png.license b/docs/docs/user/tools/capella/working-with-git/create-merge-branch.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/create-merge-branch.png.license rename to docs/docs/user/tools/capella/working-with-git/create-merge-branch.png.license diff --git a/docs/user/docs/tools/capella/working-with-git/local-destination.png b/docs/docs/user/tools/capella/working-with-git/local-destination.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/local-destination.png rename to docs/docs/user/tools/capella/working-with-git/local-destination.png diff --git a/docs/user/docs/tools/capella/working-with-git/local-destination.png.license b/docs/docs/user/tools/capella/working-with-git/local-destination.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/local-destination.png.license rename to docs/docs/user/tools/capella/working-with-git/local-destination.png.license diff --git a/docs/user/docs/tools/capella/working-with-git/open-reset-view.png b/docs/docs/user/tools/capella/working-with-git/open-reset-view.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/open-reset-view.png rename to docs/docs/user/tools/capella/working-with-git/open-reset-view.png diff --git a/docs/user/docs/tools/capella/working-with-git/open-reset-view.png.license b/docs/docs/user/tools/capella/working-with-git/open-reset-view.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/open-reset-view.png.license rename to docs/docs/user/tools/capella/working-with-git/open-reset-view.png.license diff --git a/docs/user/docs/tools/capella/working-with-git/reset-hard-view.png b/docs/docs/user/tools/capella/working-with-git/reset-hard-view.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/reset-hard-view.png rename to docs/docs/user/tools/capella/working-with-git/reset-hard-view.png diff --git a/docs/user/docs/tools/capella/working-with-git/reset-hard-view.png.license b/docs/docs/user/tools/capella/working-with-git/reset-hard-view.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/reset-hard-view.png.license rename to docs/docs/user/tools/capella/working-with-git/reset-hard-view.png.license diff --git a/docs/user/docs/tools/capella/working-with-git/search-git-repository-view.png b/docs/docs/user/tools/capella/working-with-git/search-git-repository-view.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/search-git-repository-view.png rename to docs/docs/user/tools/capella/working-with-git/search-git-repository-view.png diff --git a/docs/user/docs/tools/capella/working-with-git/search-git-repository-view.png.license b/docs/docs/user/tools/capella/working-with-git/search-git-repository-view.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/search-git-repository-view.png.license rename to docs/docs/user/tools/capella/working-with-git/search-git-repository-view.png.license diff --git a/docs/user/docs/tools/capella/working-with-git/search-view.png b/docs/docs/user/tools/capella/working-with-git/search-view.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/search-view.png rename to docs/docs/user/tools/capella/working-with-git/search-view.png diff --git a/docs/user/docs/tools/capella/working-with-git/search-view.png.license b/docs/docs/user/tools/capella/working-with-git/search-view.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/search-view.png.license rename to docs/docs/user/tools/capella/working-with-git/search-view.png.license diff --git a/docs/user/docs/tools/capella/working-with-git/staged-changes.png b/docs/docs/user/tools/capella/working-with-git/staged-changes.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/staged-changes.png rename to docs/docs/user/tools/capella/working-with-git/staged-changes.png diff --git a/docs/user/docs/tools/capella/working-with-git/staged-changes.png.license b/docs/docs/user/tools/capella/working-with-git/staged-changes.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/staged-changes.png.license rename to docs/docs/user/tools/capella/working-with-git/staged-changes.png.license diff --git a/docs/user/docs/tools/capella/working-with-git/switch-branch-v1.png b/docs/docs/user/tools/capella/working-with-git/switch-branch-v1.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/switch-branch-v1.png rename to docs/docs/user/tools/capella/working-with-git/switch-branch-v1.png diff --git a/docs/user/docs/tools/capella/working-with-git/switch-branch-v1.png.license b/docs/docs/user/tools/capella/working-with-git/switch-branch-v1.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/switch-branch-v1.png.license rename to docs/docs/user/tools/capella/working-with-git/switch-branch-v1.png.license diff --git a/docs/user/docs/tools/capella/working-with-git/switch-branch-v2.png b/docs/docs/user/tools/capella/working-with-git/switch-branch-v2.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/switch-branch-v2.png rename to docs/docs/user/tools/capella/working-with-git/switch-branch-v2.png diff --git a/docs/user/docs/tools/capella/working-with-git/switch-branch-v2.png.license b/docs/docs/user/tools/capella/working-with-git/switch-branch-v2.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/switch-branch-v2.png.license rename to docs/docs/user/tools/capella/working-with-git/switch-branch-v2.png.license diff --git a/docs/user/docs/tools/capella/working-with-git/unstaged-changes.png b/docs/docs/user/tools/capella/working-with-git/unstaged-changes.png similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/unstaged-changes.png rename to docs/docs/user/tools/capella/working-with-git/unstaged-changes.png diff --git a/docs/user/docs/tools/capella/working-with-git/unstaged-changes.png.license b/docs/docs/user/tools/capella/working-with-git/unstaged-changes.png.license similarity index 100% rename from docs/user/docs/tools/capella/working-with-git/unstaged-changes.png.license rename to docs/docs/user/tools/capella/working-with-git/unstaged-changes.png.license diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 0000000000..85c6317c01 --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,127 @@ +# SPDX-FileCopyrightText: Copyright DB Netz AG and the capella-collab-manager contributors +# SPDX-License-Identifier: Apache-2.0 + +site_name: Capella Collaboration Manager Documentation +theme: + name: material + features: + - content.code.copy + - content.code.annotate + - navigation.tabs + +extra_css: + - style.css + +nav: + - User documentation: + - Introduction: user/index.md + - Projects: + - Get access to a project: user/projects/access.md + - Add a user to a project: user/projects/add-user.md + - Request a new project: user/projects/create.md + - Roles: user/projects/roles.md + - Models: + - Create a model: user/projects/models/create.md + - Update a model to a newer version: user/projects/models/update.md + - Update model metadata: user/projects/models/metadata.md + - Model sources: + - TeamForCapella: user/projects/models/sources/t4c.md + - Backups: + - Setup a model backup: user/projects/models/backups/setup.md + - Trigger a model backup: user/projects/models/backups/trigger.md + - Remove a model backup: user/projects/models/backups/remove.md + - Diagram cache: + - Setup diagram cache: user/projects/models/diagrams/setup_diagram_cache.md + - View diagram cache: user/projects/models/diagrams/view_diagram_cache.md + - Model complexity badge: user/projects/models/complexity_badge.md + - Sessions: + - Session Types: + - Overview: user/sessions/types.md + - Persistent: user/sessions/types/persistent.md + - Read-Only: user/sessions/types/read-only.md + - Request Session: user/sessions/request.md + - (Re-)Connect to Session: user/sessions/reconnect.md + - Terminate Session: user/sessions/terminate.md + - Taking Screenshots: user/sessions/screenshot/screenshots.md + - Flows: + - Git: user/sessions/flows/git.md + - TeamForCapella: user/sessions/flows/t4c.md + - Files browser: user/sessions/files/files.md + - Troubleshooting: user/sessions/troubleshooting.md + - Jupyter: + - Collaboration: user/sessions/jupyter/collaboration.md + - Settings: + - Monitoring: user/settings/monitoring.md + - Tools: + - General: user/settings/tools/index.md + - pure::variants: user/settings/tools/pure_variants.md + - Model sources: + - Git: user/settings/model-sources/git.md + - T4C: user/settings/model-sources/t4c.md + - Alerts: + - Create an alert: user/alerts/create.md + - Tools: + - Capella: + - Introduction: user/tools/capella/introduction.md + - Co-working methods: user/tools/capella/t4c-git-compare.md + - TeamForCapella: + - Import a model from TeamForCapella: user/tools/capella/teamforcapella/import/import-from-t4c.md + - Export a model to TeamForCapella: user/tools/capella/teamforcapella/export/export-to-t4c.md + - TeamForCapella repository management: user/tools/capella/teamforcapella/repository-management.md + - TeamForCapella Project Management: user/tools/capella/teamforcapella/project-management/project-management.md + - Update a TeamForCapella based model: user/tools/capella/teamforcapella/update.md + - Git: + - Working with Git: user/tools/capella/working-with-git.md + - Authentication: user/tokens.md + - Administrator documentation: + - Index: admin/index.md + - Installation: admin/installation.md + - Uninstallation: admin/uninstallation.md + - Getting started: admin/getting_started/getting_started.md + - CI templates: + - Gitlab CI/CD: + - Image builder: admin/ci-templates/gitlab/image-builder.md + - Kubernetes deployment: admin/ci-templates/gitlab/k8s-deploy.md + - Developer documentation: + - Home: development/index.md + - Backend: + - Code Style: development/backend/code-style.md + - Technology overview: development/backend/technology.md + - Extension modules: development/backend/extensions.md + - Exception handling: development/backend/exception.md + - API Authentication: development/backend/authentication.md + - Database migration: development/backend/database-migration.md + - Frontend: + - Code Style: development/frontend/code-style.md + - Routes: development/frontend/routes.md + - Testing: development/frontend/testing.md + - Customization: development/frontend/customize.md + - Kubernetes: + - Meassure resource usage: development/k8s/resources.md + - Release Notes: release-notes.md + +repo_url: https://github.com/DSD-DBS/capella-collab-manager +edit_uri: edit/master/docs/docs + +markdown_extensions: + - meta + - admonition + - pymdownx.details + - pymdownx.superfences + - pymdownx.extra + - abbr + - pymdownx.snippets + - attr_list + - footnotes + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + - pymdownx.tabbed: + alternate_style: true + +extra: + generator: false + +dev_addr: 127.0.0.1:8081 + +copyright: Copyright © 2022-2023 DB Netz AG diff --git a/docs/user/nginx.conf b/docs/nginx.conf similarity index 100% rename from docs/user/nginx.conf rename to docs/nginx.conf diff --git a/docs/user/requirements.txt b/docs/requirements.txt similarity index 84% rename from docs/user/requirements.txt rename to docs/requirements.txt index 88ebc4042e..f9ef536b0b 100644 --- a/docs/user/requirements.txt +++ b/docs/requirements.txt @@ -1,4 +1,4 @@ # SPDX-FileCopyrightText: Copyright DB Netz AG and the capella-collab-manager contributors # SPDX-License-Identifier: CC0-1.0 -mkdocs-material +mkdocs-material>=9.4.0 diff --git a/docs/user/docs/about.md b/docs/user/docs/about.md deleted file mode 100644 index 1c03533b95..0000000000 --- a/docs/user/docs/about.md +++ /dev/null @@ -1,12 +0,0 @@ - - -This service is provided by DB Netz AG. - -We'd love to see your bug reports and improvement suggestions! Please give us -your feedback. - -If you want to share some code - please have a look at -[CONTRIBUTING.md](https://github.com/DSD-DBS/capella-collab-manager/blob/master/CONTRIBUTING.md) diff --git a/docs/user/docs/additional/alerts/delete.md b/docs/user/docs/additional/alerts/delete.md deleted file mode 100644 index 5180949ce6..0000000000 --- a/docs/user/docs/additional/alerts/delete.md +++ /dev/null @@ -1,4 +0,0 @@ - diff --git a/docs/user/docs/projects/delete.md b/docs/user/docs/projects/delete.md deleted file mode 100644 index 9d2e3687a7..0000000000 --- a/docs/user/docs/projects/delete.md +++ /dev/null @@ -1,6 +0,0 @@ - - -Please ask your [administrator](roles.md) to delete a project. diff --git a/docs/user/mkdocs.yml b/docs/user/mkdocs.yml deleted file mode 100644 index 20ff48a9b6..0000000000 --- a/docs/user/mkdocs.yml +++ /dev/null @@ -1,100 +0,0 @@ -# SPDX-FileCopyrightText: Copyright DB Netz AG and the capella-collab-manager contributors -# SPDX-License-Identifier: Apache-2.0 - -site_name: Capella Collaboration Manager Documentation -theme: - name: material - features: - - content.code.copy - -nav: - - Introduction: index.md - - Installation: installation.md - - Projects: - - Get access to a project: projects/access.md - - Add a user to a project: projects/add-user.md - - Request a new project: projects/create.md - - Delete a project: projects/delete.md - - Roles: projects/roles.md - - Models: - - Create a model: projects/models/create.md - - Update a model to a newer version: projects/models/update.md - - Update model metadata: projects/models/metadata.md - - Model sources: - - TeamForCapella: projects/models/sources/t4c.md - - Backups: - - Setup a model backup: projects/models/backups/setup.md - - Trigger a model backup: projects/models/backups/trigger.md - - Remove a model backup: projects/models/backups/remove.md - - Diagram cache: - - Setup diagram cache: projects/models/diagrams/setup_diagram_cache.md - - View diagram cache: projects/models/diagrams/view_diagram_cache.md - - Model complexity badge: projects/models/complexity_badge.md - - Sessions: - - Session Types: - - Overview: sessions/types.md - - Persistent: sessions/types/persistent.md - - Read-Only: sessions/types/read-only.md - - Request Session: sessions/request.md - - (Re-)Connect to Session: sessions/reconnect.md - - Terminate Session: sessions/terminate.md - - Taking Screenshots: sessions/screenshot/screenshots.md - - Flows: - - Git: sessions/flows/git.md - - TeamForCapella: sessions/flows/t4c.md - - Files browser: sessions/files/files.md - - Troubleshooting: sessions/troubleshooting.md - - Jupyter: - - Collaboration: sessions/jupyter/collaboration.md - - Settings: - - Monitoring: settings/monitoring.md - - Tools: - - General: settings/tools/index.md - - pure::variants: settings/tools/pure_variants.md - - Model sources: - - Git: settings/model-sources/git.md - - T4C: settings/model-sources/t4c.md - - Alerts: - - Create an alert: additional/alerts/create.md - - Delete an alert: additional/alerts/delete.md - - Tools: - - Capella: - - Introduction: tools/capella/introduction.md - - Co-working methods: tools/capella/t4c-git-compare.md - - TeamForCapella: - - Import a model from TeamForCapella: tools/capella/teamforcapella/import/import-from-t4c.md - - Export a model to TeamForCapella: tools/capella/teamforcapella/export/export-to-t4c.md - - TeamForCapella repository management: tools/capella/teamforcapella/repository-management.md - - TeamForCapella Project Management: tools/capella/teamforcapella/project-management/project-management.md - - Update a TeamForCapella based model: tools/capella/teamforcapella/update.md - - Git: - - Working with Git: tools/capella/working-with-git.md - - Authentication: tokens.md - - Release Notes: release-notes.md - - About: about.md - -repo_url: https://github.com/DSD-DBS/capella-collab-manager -edit_uri: edit/master/docs/user/docs - -markdown_extensions: - - meta - - admonition - - pymdownx.details - - pymdownx.superfences - - pymdownx.extra - - abbr - - pymdownx.snippets - - attr_list - - footnotes - - pymdownx.emoji: - emoji_index: !!python/name:materialx.emoji.twemoji - emoji_generator: !!python/name:materialx.emoji.to_svg - - pymdownx.tabbed: - alternate_style: true - -extra: - generator: false - -dev_addr: 127.0.0.1:8081 - -copyright: Copyright © 2022-2023 DB Netz AG diff --git a/docs/models/collab-manager/.project b/models/collab-manager/.project similarity index 100% rename from docs/models/collab-manager/.project rename to models/collab-manager/.project diff --git a/docs/models/collab-manager/.project.license b/models/collab-manager/.project.license similarity index 100% rename from docs/models/collab-manager/.project.license rename to models/collab-manager/.project.license diff --git a/docs/models/collab-manager/collab-manager.afm b/models/collab-manager/collab-manager.afm similarity index 100% rename from docs/models/collab-manager/collab-manager.afm rename to models/collab-manager/collab-manager.afm diff --git a/docs/models/collab-manager/collab-manager.afm.license b/models/collab-manager/collab-manager.afm.license similarity index 100% rename from docs/models/collab-manager/collab-manager.afm.license rename to models/collab-manager/collab-manager.afm.license diff --git a/docs/models/collab-manager/collab-manager.aird b/models/collab-manager/collab-manager.aird similarity index 100% rename from docs/models/collab-manager/collab-manager.aird rename to models/collab-manager/collab-manager.aird diff --git a/docs/models/collab-manager/collab-manager.aird.license b/models/collab-manager/collab-manager.aird.license similarity index 100% rename from docs/models/collab-manager/collab-manager.aird.license rename to models/collab-manager/collab-manager.aird.license diff --git a/docs/models/collab-manager/collab-manager.capella b/models/collab-manager/collab-manager.capella similarity index 100% rename from docs/models/collab-manager/collab-manager.capella rename to models/collab-manager/collab-manager.capella diff --git a/docs/models/collab-manager/collab-manager.capella.license b/models/collab-manager/collab-manager.capella.license similarity index 100% rename from docs/models/collab-manager/collab-manager.capella.license rename to models/collab-manager/collab-manager.capella.license