From 2fe8af2cc22aad8eeb8ad554925682595d6ce8e2 Mon Sep 17 00:00:00 2001 From: Anja Barz Date: Wed, 21 Jan 2026 11:19:44 +0100 Subject: [PATCH 1/3] change absolute links to relative --- absolute-links-report-all.md | 173 ++++++++++++++++++ absolute-links-with-line-numbers.md | 114 ++++++++++++ .../index.md | 4 +- .../keycloak.md | 4 +- docs/admin/configuration/default-language.md | 2 +- .../configuration/storage/decomposeds3.md | 2 +- .../docker-compose/docker-compose-base.md | 2 +- .../admin/getting-started/container/docker.md | 2 +- .../admin/getting-started/other/bare-metal.md | 2 +- .../maintenance/upgrade/upgrade-4.0.0.md | 7 +- docs/admin/maintenance/upgrade/upgrade.md | 4 +- docs/dev/server/apis/http/authorization.md | 2 +- docs/dev/server/apis/http/graph/index.md | 6 + docs/dev/server/apis/http/webdav/index.md | 2 +- docs/dev/server/apis/index.md | 6 +- .../dev/server/configuration/config-system.md | 2 +- docs/dev/web/development/conventions.md | 2 +- docs/dev/web/development/repo-structure.md | 8 +- .../extension-types/action-extensions.md | 2 +- .../app-menu-item-extensions.md | 2 +- .../custom-component-extensions.md | 2 +- .../extension-types/folder-view-extensions.md | 2 +- .../left-sidebar-menu-item-extensions.md | 2 +- .../right-sidebar-panel-extensions.md | 2 +- .../extension-types/search-extensions.md | 2 +- docs/dev/web/extension-system/index.md | 18 +- .../extension-system/viewer-editor-apps.md | 4 +- docs/dev/web/getting-started.md | 4 +- docs/dev/web/index.md | 3 +- docs/dev/web/testing/running-tests.md | 4 +- docs/user/admin/web-dav.md | 4 +- docs/user/intro.md | 18 +- docs/user/sharing/file-drop.md | 2 +- 33 files changed, 355 insertions(+), 60 deletions(-) create mode 100644 absolute-links-report-all.md create mode 100644 absolute-links-with-line-numbers.md diff --git a/absolute-links-report-all.md b/absolute-links-report-all.md new file mode 100644 index 00000000..ba6571f7 --- /dev/null +++ b/absolute-links-report-all.md @@ -0,0 +1,173 @@ +# Bericht: Absolute Links in /docs und /versioned_docs + +Gefunden am: 2026-01-21 + +## Zusammenfassung + +Insgesamt wurden **56 absolute Links** gefunden: + +- **0 Links in /docs** +- **56 Links in /versioned_docs/version-4.0** + +--- + +## Absolute Links in versioned_docs/version-4.0 + +### versioned_docs/version-4.0/admin/configuration/authentication-and-user-management/keycloak.md + +- **Zeile 41:** `/docs/admin/configuration/authentication-and-user-management/external-idp#opencloud-configuration` +- **Zeile 45:** `/docs/admin/configuration/authentication-and-user-management/external-idp#client-configuration` + +### versioned_docs/version-4.0/admin/configuration/authentication-and-user-management/index.md + +- **Zeile 56:** `/docs/admin/configuration/authentication-and-user-management/keycloak#shared-user-directory-mode` +- **Zeile 64:** `/docs/admin/configuration/authentication-and-user-management/keycloak#autoprovisioning-mode` + +### versioned_docs/version-4.0/admin/configuration/storage/decomposeds3.md + +- **Zeile 84:** `/docs/admin/resources/common-issues` + +### versioned_docs/version-4.0/admin/getting-started/container/docker.md + +- **Zeile 79:** `/docs/admin/resources/common-issues` + +### versioned_docs/version-4.0/admin/getting-started/container/docker-compose/docker-compose-base.md + +- **Zeile 274:** `/docs/admin/resources/common-issues` + +### versioned_docs/version-4.0/admin/getting-started/other/bare-metal.md + +- **Zeile 131:** `/docs/admin/resources/common-issues` + +### versioned_docs/version-4.0/admin/maintenance/upgrade/upgrade-4.0.0.md + +- **Zeile 34:** `/docs/admin/maintenance/backup` +- **Zeile 115:** `/docs/admin/getting-started/container/docker-compose/docker-compose-base.md` +- **Zeile 239:** `/docs/admin/resources/common-issues` + +### versioned_docs/version-4.0/admin/maintenance/upgrade/upgrade.md + +- **Zeile 35:** `/docs/admin/maintenance/backup` + +### versioned_docs/version-4.0/user/sharing/file-drop.md + +- **Zeile 27:** `/docs/user/sharing/external` + +### versioned_docs/version-4.0/user/intro.md + +- **Zeile 59:** `/docs/user/general` +- **Zeile 63:** `/docs/user/files-and-folders` +- **Zeile 67:** `/docs/user/sharing` +- **Zeile 71:** `/docs/user/spaces` +- **Zeile 75:** `/docs/user/desktop-client` +- **Zeile 79:** `/docs/user/ios-app` +- **Zeile 83:** `/docs/user/roles` +- **Zeile 87:** `/docs/user/admin` +- **Zeile 91:** `/docs/user/common-issues` + +### versioned_docs/version-4.0/user/admin/web-dav.md + +- **Zeile 19:** `/docs/user/admin/app-tokens` +- **Zeile 43:** `/docs/user/admin/app-tokens` + +### versioned_docs/version-4.0/dev/web/development/conventions.md + +- **Zeile 20:** `/docs/dev/web/testing/running-tests` + +### versioned_docs/version-4.0/dev/web/development/repo-structure.md + +- **Zeile 15:** `/docs/dev/web/development/tooling` +- **Zeile 27:** `/docs/dev/web/testing/running-tests` +- **Zeile 37:** `/docs/dev/web/development/tooling` +- **Zeile 120:** `/docs/dev/web/extension-system` + +### versioned_docs/version-4.0/dev/web/getting-started.md + +- **Zeile 12:** `/docs/dev/web/development/tooling#development-setup` +- **Zeile 96:** `/docs/dev/web/extension-system` + +### versioned_docs/version-4.0/dev/web/testing/running-tests.md + +- **Zeile 11:** `/docs/dev/web/development/tooling#development-setup` +- **Zeile 125:** `/docs/admin/configuration/authentication-and-user-management/keycloak` + +### versioned_docs/version-4.0/dev/web/index.md + +- **Zeile 6:** `/docs/dev/web/getting-started` + +### versioned_docs/version-4.0/dev/web/extension-system/viewer-editor-apps.md + +- **Zeile 18:** `/docs/dev/web/extension-system` +- **Zeile 22:** `/docs/dev/web/extension-system` + +### versioned_docs/version-4.0/dev/web/extension-system/index.md + +- **Zeile 87:** `/docs/dev/web/extension-system/viewer-editor-apps` +- **Zeile 89:** `/docs/admin/configuration/web-applications` +- **Zeile 108:** `/docs/dev/web/extension-system/extension-types/action-extensions` +- **Zeile 109:** `/docs/dev/web/extension-system/extension-types/search-extensions` +- **Zeile 111:** `/docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions` +- **Zeile 112:** `/docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions` +- **Zeile 114:** `/docs/dev/web/extension-system/extension-types/folder-view-extensions` +- **Zeile 116:** `/docs/dev/web/extension-system/extension-types/custom-component-extensions` +- **Zeile 166:** `/docs/dev/web/extension-system/extension-types` + +### versioned_docs/version-4.0/dev/web/extension-system/extension-types/custom-component-extensions.md + +- **Zeile 26:** `/docs/dev/web/extension-system#extension-base-configuration` + +### versioned_docs/version-4.0/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions.md + +- **Zeile 26:** `/docs/dev/web/extension-system#extension-base-configuration` + +### versioned_docs/version-4.0/dev/web/extension-system/extension-types/search-extensions.md + +- **Zeile 31:** `/docs/dev/web/extension-system#extension-base-configuration` + +### versioned_docs/version-4.0/dev/web/extension-system/extension-types/right-sidebar-panel-extensions.md + +- **Zeile 31:** `/docs/dev/web/extension-system#extension-base-configuration` + +### versioned_docs/version-4.0/dev/web/extension-system/extension-types/app-menu-item-extensions.md + +- **Zeile 30:** `/docs/dev/web/extension-system#extension-base-configuration` + +### versioned_docs/version-4.0/dev/web/extension-system/extension-types/action-extensions.md + +- **Zeile 24:** `/docs/dev/web/extension-system#extension-base-configuration` + +### versioned_docs/version-4.0/dev/web/extension-system/extension-types/folder-view-extensions.md + +- **Zeile 24:** `/docs/dev/web/extension-system#extension-base-configuration` + +### versioned_docs/version-4.0/dev/server/configuration/config-system.md + +- **Zeile 131:** `/docs/dev/server/services/activitylog` +- **Zeile 131:** `/docs/dev/server/services/proxy` +- **Zeile 131:** `/docs/dev/server/services/frontend` + +### versioned_docs/version-4.0/dev/server/apis/index.md + +- **Zeile 8:** `/docs/dev/server/apis/http` +- **Zeile 8:** `/docs/dev/server/apis/grpc_apis` +- **Zeile 18:** `/docs/dev/server/apis/http` +- **Zeile 30:** `/docs/dev/server/apis/grpc_apis` + +### versioned_docs/version-4.0/dev/server/apis/http/authorization.md + +- **Zeile 12:** `/docs/admin/configuration/authentication-and-user-management` + +### versioned_docs/version-4.0/dev/server/apis/http/graph/index.md + +- **Zeile 62:** `/docs/dev/server/services/proxy/environment-variables` + +### versioned_docs/version-4.0/dev/server/apis/http/webdav/index.md + +- **Zeile 72:** `/docs/dev/server/services/proxy/environment-variables` + +--- + +## Status + +✅ **Hauptordner /docs:** Keine absoluten Links gefunden (bereits bereinigt) +⚠️ **Versionierter Ordner /versioned_docs/version-4.0:** 56 absolute Links gefunden - diese sollten überprüft werden, wenn sie auf ältere Versionen zeigen sollen oder aktualisiert werden müssen diff --git a/absolute-links-with-line-numbers.md b/absolute-links-with-line-numbers.md new file mode 100644 index 00000000..a22c5c46 --- /dev/null +++ b/absolute-links-with-line-numbers.md @@ -0,0 +1,114 @@ +# Liste: Absolute Links in /docs - Mit Zeilennummern + +Gefunden am: 2026-01-20 +Insgesamt: 36 Links in 18 Dateien + +--- + +## docs/dev/web/extension-system/extension-types/search-extensions.md + +x - **Zeile 31:** `/docs/dev/web/extension-system#extension-base-configuration` + +x ## docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions.md + +- **Zeile 26:** `/docs/dev/web/extension-system#extension-base-configuration` + +x ## docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions.md + +- **Zeile 31:** `/docs/dev/web/extension-system#extension-base-configuration` + +x ## docs/dev/web/extension-system/extension-types/folder-view-extensions.md + +- **Zeile 24:** `/docs/dev/web/extension-system#extension-base-configuration` + +## docs/dev/web/extension-system/extension-types/custom-component-extensions.md + +x - **Zeile 26:** `/docs/dev/web/extension-system#extension-base-configuration` + +x## docs/dev/web/extension-system/index.md + +- **Zeile 87:** `/docs/dev/web/extension-system/viewer-editor-apps` +- **Zeile 89:** `/docs/admin/configuration/web-applications` +- **Zeile 108:** `/docs/dev/web/extension-system/extension-types/action-extensions` +- **Zeile 109:** `/docs/dev/web/extension-system/extension-types/search-extensions` +- **Zeile 111:** `/docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions` +- **Zeile 112:** `/docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions` +- **Zeile 114:** `/docs/dev/web/extension-system/extension-types/folder-view-extensions` +- **Zeile 116:** `/docs/dev/web/extension-system/extension-types/custom-component-extensions` +- **Zeile 166:** `/docs/dev/web/extension-system/extension-types` + +x## docs/dev/web/getting-started.md + +- **Zeile 12:** `/docs/dev/web/development/tooling#development-setup` +- **Zeile 96:** `/docs/dev/web/extension-system` + +x## docs/dev/web/extension-system/extension-types/app-menu-item-extensions.md + +- **Zeile 30:** `/docs/dev/web/extension-system#extension-base-configuration` + +x## docs/dev/web/extension-system/extension-types/action-extensions.md + +- **Zeile 24:** `/docs/dev/web/extension-system#extension-base-configuration` + +x## docs/dev/web/extension-system/viewer-editor-apps.md + +- **Zeile 18:** `/docs/dev/web/extension-system` +- **Zeile 22:** `/docs/dev/web/extension-system` + +x ## docs/dev/web/testing/running-tests.md + +- **Zeile 11:** `/docs/dev/web/development/tooling#development-setup` +- **Zeile 125:** `/docs/admin/configuration/authentication-and-user-management/keycloak` + +x ## docs/dev/web/development/repo-structure.md + +- **Zeile 15:** `/docs/dev/web/development/tooling` +- **Zeile 27:** `/docs/dev/web/testing/running-tests` +- **Zeile 37:** `/docs/dev/web/development/tooling` +- **Zeile 120:** `/docs/dev/web/extension-system` + +x ## docs/dev/web/development/conventions.md + +- **Zeile 20:** `/docs/dev/web/testing/running-tests` + +x ## docs/user/sharing/file-drop.md + +- **Zeile 27:** `/docs/user/sharing/external` + +x## docs/admin/getting-started/container/docker.md + +- **Zeile 79:** `/docs/admin/resources/common-issues` + +x## docs/admin/getting-started/container/docker-compose/docker-compose-base.md + +- **Zeile 274:** `/docs/admin/resources/common-issues` + +x ## docs/admin/getting-started/other/bare-metal.md + +- **Zeile 131:** `/docs/admin/resources/common-issues` + +x ## docs/admin/configuration/storage/decomposeds3.md + +- **Zeile 84:** `/docs/admin/resources/common-issues` + +x ## docs/admin/configuration/authentication-and-user-management/index.md + +- **Zeile 56:** `/docs/admin/configuration/authentication-and-user-management/keycloak#shared-user-directory-mode` +- **Zeile 64:** `/docs/admin/configuration/authentication-and-user-management/keycloak#autoprovisioning-mode` + +x ## docs/admin/configuration/authentication-and-user-management/keycloak.md + +- **Zeile 41:** `/docs/admin/configuration/authentication-and-user-management/external-idp#opencloud-configuration` +- **Zeile 45:** `/docs/admin/configuration/authentication-and-user-management/external-idp#client-configuration` + +--- + +## Zusammenfassung nach Zielseiten (Top-Verweise) + +| Zielseite | Häufigkeit | +| ----------------------------------------------------------------------- | ---------- | +| `/docs/dev/web/extension-system#extension-base-configuration` | 5x | +| `/docs/dev/web/development/tooling` | 3x | +| `/docs/dev/web/extension-system` | 5x | +| `/docs/admin/resources/common-issues` | 4x | +| `/docs/admin/configuration/authentication-and-user-management/keycloak` | 3x | diff --git a/docs/admin/configuration/authentication-and-user-management/index.md b/docs/admin/configuration/authentication-and-user-management/index.md index 8c271154..a3a0c16a 100644 --- a/docs/admin/configuration/authentication-and-user-management/index.md +++ b/docs/admin/configuration/authentication-and-user-management/index.md @@ -53,7 +53,7 @@ OpenCloud now supports two authentication modes when using Keycloak with LDAP: In this mode, LDAP serves as a central user directory for both Keycloak and OpenCloud. This setup is suitable for scenarios where the LDAP server is not under the control of the OpenCloud admin and can be connected to KeyCloak and OpenCloud using standard attributes and a read-only bind user. -For detailed configuration and setup instructions, see the [Keycloak Shared User Directory](/docs/admin/configuration/authentication-and-user-management/keycloak#shared-user-directory-mode) guide. +For detailed configuration and setup instructions, see the [Keycloak Shared User Directory](authentication-and-user-management/keycloak#shared-user-directory-mode) guide. ### Autoprovisioning Mode @@ -61,4 +61,4 @@ In this mode, Keycloak is holding all users and OpenCloud autoprovisions new use This mode is suitable in scenarios where the OpenIDConnect provider is external and not under control of the OpenCloud admin. To mitigate that lack of control, OpenCloud will use an LDAP server which is fully under the control of the OpenCloud admin to store the users and groups and additional attributes. OpenCloud can disable users for login to actively prevent unwanted access to the system when the workflow with the external Identity Provider is slow or indirect. In this case, the LDAP server needs an OpenCloud Schema and write access for the LDAP bind user. -For detailed configuration and setup instructions, see the [Keycloak with Autoprovisioning](/docs/admin/configuration/authentication-and-user-management/keycloak#autoprovisioning-mode) guide. +For detailed configuration and setup instructions, see the [Keycloak with Autoprovisioning](authentication-and-user-management/keycloak#autoprovisioning-mode) guide. diff --git a/docs/admin/configuration/authentication-and-user-management/keycloak.md b/docs/admin/configuration/authentication-and-user-management/keycloak.md index 173f2f9e..b9e1d81b 100644 --- a/docs/admin/configuration/authentication-and-user-management/keycloak.md +++ b/docs/admin/configuration/authentication-and-user-management/keycloak.md @@ -38,11 +38,11 @@ GRAPH_USERNAME_MATCH=none OC_EXCLUDE_RUN_SERVICES=idp,idm # it is not supported to run keycloak with the built-in idm ``` -Look [OpenCloud external IDP configuration](/docs/admin/configuration/authentication-and-user-management/external-idp#opencloud-configuration) for some more details about these settings. +Look [OpenCloud external IDP configuration](./external-idp#opencloud-configuration) for some more details about these settings. ### Client Configuration -The [OIDC clients](/docs/admin/configuration/authentication-and-user-management/external-idp#client-configuration) required by OpenCloud are pre-configured in the Docker Compose setup and match the clients used by the built-in IdP. +The [OIDC clients](./external-idp#client-configuration) required by OpenCloud are pre-configured in the Docker Compose setup and match the clients used by the built-in IdP. ### Manual Client Configuration diff --git a/docs/admin/configuration/default-language.md b/docs/admin/configuration/default-language.md index 09278cc0..dceb9b41 100644 --- a/docs/admin/configuration/default-language.md +++ b/docs/admin/configuration/default-language.md @@ -10,7 +10,7 @@ draft: false By default, OpenCloud uses English (en) as its interface language, unless a different language is explicitly configured. OpenCloud relies on ISO 639-1 language codes for language selection. -You can find the complete list of supported languages here: [Supported languages](https://docs.opencloud.eu/docs/next/admin/resources/faq#miscellaneous) +You can find the complete list of supported languages here: [Supported languages](../resources/faq#miscellaneous) ## Edit the `.env` File diff --git a/docs/admin/configuration/storage/decomposeds3.md b/docs/admin/configuration/storage/decomposeds3.md index b73c1a61..9a3d1c02 100644 --- a/docs/admin/configuration/storage/decomposeds3.md +++ b/docs/admin/configuration/storage/decomposeds3.md @@ -81,4 +81,4 @@ After logging in, you should see the OpenCloud interface: If you run into any issues or errors, check the following resource: -- [Common Issues & Help](/docs/admin/resources/common-issues) +- [Common Issues & Help](../../resources/common-issues) diff --git a/docs/admin/getting-started/container/docker-compose/docker-compose-base.md b/docs/admin/getting-started/container/docker-compose/docker-compose-base.md index 451502fe..9efb8037 100644 --- a/docs/admin/getting-started/container/docker-compose/docker-compose-base.md +++ b/docs/admin/getting-started/container/docker-compose/docker-compose-base.md @@ -271,4 +271,4 @@ Password: (your password) ## Troubleshooting -If you encounter any issues, check the [Common Issues & Help](/docs/admin/resources/common-issues) +If you encounter any issues, check the [Common Issues & Help](../../../resources/common-issues) diff --git a/docs/admin/getting-started/container/docker.md b/docs/admin/getting-started/container/docker.md index 11cfcff8..45da011f 100644 --- a/docs/admin/getting-started/container/docker.md +++ b/docs/admin/getting-started/container/docker.md @@ -76,4 +76,4 @@ Your OpenCloud server is now running and ready to use 🚀 If you encounter any issues or errors, try finding a solution here: -- [Common Issues & Help](/docs/admin/resources/common-issues) +- [Common Issues & Help](../../resources/common-issues) diff --git a/docs/admin/getting-started/other/bare-metal.md b/docs/admin/getting-started/other/bare-metal.md index 3615fe19..0160169d 100644 --- a/docs/admin/getting-started/other/bare-metal.md +++ b/docs/admin/getting-started/other/bare-metal.md @@ -128,4 +128,4 @@ Your OpenCloud server is now running and ready to use 🚀 If you encounter any issues or errors, try finding a solution here -- [Common Issues & Help](/docs/admin/resources/common-issues) +- [Common Issues & Help](../../resources/common-issues) diff --git a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md index 0b48f030..60f6dd89 100644 --- a/docs/admin/maintenance/upgrade/upgrade-4.0.0.md +++ b/docs/admin/maintenance/upgrade/upgrade-4.0.0.md @@ -31,7 +31,8 @@ Following this guide, you can safely migrate to the stable v4.0.0 release of Ope :::important Important: Always create a backup before upgrading to prevent data loss. -We strongly recommend following the [backup documentation](/docs/admin/maintenance/backup) and creating copies of your configuration and data directories. +We strongly recommend following the [backup documentation](admin/maintenance/backup.md) +and creating copies of your configuration and data directories. ::: @@ -112,7 +113,7 @@ cd opencloud-compose ### Migrate Environment Variables -Transfer your existing environment variables to the new opencloud-compose structure. Refer to the [Docker Compose configuration documentation](/docs/admin/getting-started/container/docker-compose/docker-compose-base.md) for detailed instructions. +Transfer your existing environment variables to the new opencloud-compose structure. Refer to the [Docker Compose configuration documentation](admin/getting-started/container/docker-compose/docker-compose-base.md) for detailed instructions. @@ -236,6 +237,6 @@ Your OpenCloud instance should now be running on `v4.0.0`. If you encounter issues during or after the upgrade: 1. Review the logs for error messages -2. Consult the [troubleshooting guide](/docs/admin/resources/common-issues) +2. Consult the [troubleshooting guide](../../resources/common-issues) 3. Restore from backup if necessary 4. Contact support or open an issue on [GitHub](https://github.com/opencloud-eu/opencloud/issues) diff --git a/docs/admin/maintenance/upgrade/upgrade.md b/docs/admin/maintenance/upgrade/upgrade.md index d16fa90b..985dd9d7 100644 --- a/docs/admin/maintenance/upgrade/upgrade.md +++ b/docs/admin/maintenance/upgrade/upgrade.md @@ -11,7 +11,7 @@ draft: false import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' -This guide provides steps to upgrade OpenCloud for both [docker](docs/admin/getting-started/container/docker.md) and [docker compose](docs/admin/getting-started/container/docker-compose/docker-compose-base.md) +This guide provides steps to upgrade OpenCloud for both [docker](../../getting-started/container/docker.md) and [docker compose](../../getting-started/container/docker-compose/docker-compose-base.md) ## Stop OpenCloud @@ -32,7 +32,7 @@ Stop the currently running OpenCloud instance: ## Backup Config and Data -It is recommended to create a [backup](/docs/admin/maintenance/backup) before proceeding with the upgrade. +It is recommended to create a [backup](../maintenance/backup) before proceeding with the upgrade. ## Pull the new Opencloud version diff --git a/docs/dev/server/apis/http/authorization.md b/docs/dev/server/apis/http/authorization.md index c1da13f1..366042ce 100644 --- a/docs/dev/server/apis/http/authorization.md +++ b/docs/dev/server/apis/http/authorization.md @@ -9,7 +9,7 @@ In its default configuration, OpenCloud supports three authentication methods as 2. Implicit Flow 3. Hybrid Flow -For detailed information on OpenCloud's support for OpenID Connect (OIDC), please consult the [Official Documentation](/docs/admin/configuration/authentication-and-user-management). +For detailed information on OpenCloud's support for OpenID Connect (OIDC), please consult the [Official Documentation](../../../../admin/configuration/authentication-and-user-management). While selecting an OpenCloud client for authentication, take note of specific limitations such as the `Redirect URI`: diff --git a/docs/dev/server/apis/http/graph/index.md b/docs/dev/server/apis/http/graph/index.md index 5147c939..6de8b923 100644 --- a/docs/dev/server/apis/http/graph/index.md +++ b/docs/dev/server/apis/http/graph/index.md @@ -57,6 +57,12 @@ GET https://cloud.opencloud.test/graph/v1.0/drives?$filter=driveType eq 'project For more information about OData query options please check the [API specification](https://github.com/opencloud-eu/libre-graph-api) and the provided examples. +### Authorization + +For development purposes the examples in the developer documentation use Basic Auth. It is disabled by default and should only be enabled by setting `PROXY_ENABLE_BASIC_AUTH` in [the proxy](../../../server/services/proxy/environment-variables) for development or test instances. + +To authenticate with a Bearer token or OpenID Connect access token replace the `-u user:password` Basic Auth option of curl with a `-H 'Authorization: Bearer '` header. A `` can be obtained by copying it from a request in the browser, although it will time out within minutes. To automatically refresh the OpenID Connect access token an ssh-agent like solution like [oidc-agent](https://github.com/indigo-dc/oidc-agent) should be used. The graph endpoints that support a preconfigured token can be found in the [API specification](https://github.com/opencloud-eu/libre-graph-api) + #### Authorization with App token Users can create an App Token in their Open Cloud interface. This token can be used to authenticate a user using the Account Name for the username and the token as password. Here is an example using curl diff --git a/docs/dev/server/apis/http/webdav/index.md b/docs/dev/server/apis/http/webdav/index.md index 002611e8..50eb1820 100644 --- a/docs/dev/server/apis/http/webdav/index.md +++ b/docs/dev/server/apis/http/webdav/index.md @@ -69,7 +69,7 @@ The WebDAV protocol was created before the REST paradigm has become the de-facto ### Authentication -For development purposes the examples in the developer documentation use Basic Auth. It is disabled by default and should only be enabled by setting `PROXY_ENABLE_BASIC_AUTH` in [the proxy](/docs/dev/server/services/proxy/environment-variables) for development or test instances. +For development purposes the examples in the developer documentation use Basic Auth. It is disabled by default and should only be enabled by setting `PROXY_ENABLE_BASIC_AUTH` in [the proxy](./../../../server/services/proxy/environment-variables) for development or test instances. To authenticate with a Bearer token or OpenID Connect access token replace the `-u user:password` Basic Auth option of curl with a `-H 'Authorization: Bearer '` header. A `` can be obtained by copying it from a request in the browser, although it will time out within minutes. To automatically refresh the OpenID Connect access token an ssh-agent like solution like [oidc-agent](https://github.com/indigo-dc/oidc-agent) should be used. diff --git a/docs/dev/server/apis/index.md b/docs/dev/server/apis/index.md index a3e8a3a6..172c2093 100644 --- a/docs/dev/server/apis/index.md +++ b/docs/dev/server/apis/index.md @@ -5,7 +5,7 @@ sidebar_position: 1 OpenCloud provides a large set of different **application programming interfaces (APIs)**. OpenCloud is built by microservices. That means many calls to "functions" in the code are remote calls. -Basically we have two different API "universes": [HTTP](/docs/dev/server/apis/http) and [gRPC](/docs/dev/server/apis/grpc_apis). +Basically we have two different API "universes": [HTTP](apis/http) and [gRPC](apis/grpc_apis). | HTTP | gRPC | | -------------------------------- | -------------------------------- | @@ -15,7 +15,7 @@ For inter-service-communication we are using mostly gRPC calls because it has so ![OpenCloud APIs Architecture](/img/oc-apis.drawio.svg) -## [HTTP](/docs/dev/server/apis/http) +## [HTTP](apis/http) HTTP APIs are mostly used for client < > server communication. Modern applications are embracing a [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) software architecture style. REST APIs are using the HTTP protocol to transfer data between clients and servers. All our clients talk to the Server using HTTP APIs. This has legacy reasons and is well-supported across many platforms and technologies. OpenCloud uses an HTTP API gateway (proxy service) to route client requests to the correct service. @@ -27,7 +27,7 @@ It is best practise to define APIs and their behavior by a spec. We are using th Some APIs have become a de facto standard and are additionally covered by an [RFC](https://en.wikipedia.org/wiki/Request_for_Comments). -## [gRPC](/docs/dev/server/apis/grpc_apis) +## [gRPC](apis/grpc_apis) In gRPC, a client application can directly call methods on a server application on a different machine as if it was a local object. This makes it easier to create distributed applications based on microservices. In gRPC we can define a service and specify the methods that can be called remotely. A gRPC client has a stub that provides the same methods and types as the server. OpenCloud uses a gRPC API Gateway (gateway service) to route the requests to the correct service. diff --git a/docs/dev/server/configuration/config-system.md b/docs/dev/server/configuration/config-system.md index e94f24e0..83a0a2a2 100644 --- a/docs/dev/server/configuration/config-system.md +++ b/docs/dev/server/configuration/config-system.md @@ -128,4 +128,4 @@ Environment variables take precedence over both `opencloud.yaml` and `` element. This is necessary when an action should be performed when clicking the menu item (e.g. opening a file editor). diff --git a/docs/dev/web/extension-system/extension-types/custom-component-extensions.md b/docs/dev/web/extension-system/extension-types/custom-component-extensions.md index 26af1054..d55be79a 100644 --- a/docs/dev/web/extension-system/extension-types/custom-component-extensions.md +++ b/docs/dev/web/extension-system/extension-types/custom-component-extensions.md @@ -23,7 +23,7 @@ interface CustomComponentExtension { } ``` -For `id`, `type`, and `extensionPointIds`, please see [extension base section](/docs/dev/web/extension-system#extension-base-configuration) in the top level docs. +For `id`, `type`, and `extensionPointIds`, please see [extension base section](../#extension-base-configuration) in the top level docs. The `content` property specifies a render function or a Component for the target extension point. diff --git a/docs/dev/web/extension-system/extension-types/folder-view-extensions.md b/docs/dev/web/extension-system/extension-types/folder-view-extensions.md index c0233601..f18d8165 100644 --- a/docs/dev/web/extension-system/extension-types/folder-view-extensions.md +++ b/docs/dev/web/extension-system/extension-types/folder-view-extensions.md @@ -21,7 +21,7 @@ interface FolderViewExtension { } ``` -For `id`, `type`, and `extensionPointIds`, please see [extension base section](/docs/dev/web/extension-system#extension-base-configuration) in the top level docs. +For `id`, `type`, and `extensionPointIds`, please see [extension base section](../#extension-base-configuration) in the top level docs. #### FolderView diff --git a/docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions.md b/docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions.md index 818de4e7..7d7e171e 100644 --- a/docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions.md +++ b/docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions.md @@ -23,7 +23,7 @@ interface SidebarNavExtension { } ``` -For `id`, `type`, and `extensionPointIds`, please see [extension base section](/docs/dev/web/extension-system#extension-base-configuration) in the top level docs. +For `id`, `type`, and `extensionPointIds`, please see [extension base section](../#extension-base-configuration) in the top level docs. #### AppNavigationItem diff --git a/docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions.md b/docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions.md index 21ea1b53..91baa35f 100644 --- a/docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions.md +++ b/docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions.md @@ -28,7 +28,7 @@ interface SidebarPanelExtension } ``` -For `id`, `type`, and `extensionPointIds`, please see [extension base section](/docs/dev/web/extension-system#extension-base-configuration) in the top level docs. +For `id`, `type`, and `extensionPointIds`, please see [extension base section](../#extension-base-configuration) in the top level docs. The `panel` object configures the actual sidebar panel. It consists of different properties and functions, where all the functions get called with a `SideBarPanelContext` entity from the integrating extension points. diff --git a/docs/dev/web/extension-system/extension-types/search-extensions.md b/docs/dev/web/extension-system/extension-types/search-extensions.md index 978a487a..aa59eb46 100644 --- a/docs/dev/web/extension-system/extension-types/search-extensions.md +++ b/docs/dev/web/extension-system/extension-types/search-extensions.md @@ -28,7 +28,7 @@ interface SearchExtension { } ``` -For `id`, `type`, and `extensionPointIds`, please see [extension base section](/docs/dev/web/extension-system#extension-base-configuration) in the top level docs. +For `id`, `type`, and `extensionPointIds`, please see [extension base section](../#extension-base-configuration) in the top level docs. The `searchProvider` object configures the actual provider. It consist of the following: diff --git a/docs/dev/web/extension-system/index.md b/docs/dev/web/extension-system/index.md index 43e2db37..65abef69 100644 --- a/docs/dev/web/extension-system/index.md +++ b/docs/dev/web/extension-system/index.md @@ -84,9 +84,9 @@ By defining an application via `defineWebApplication` you can provide the follow #### Creating a new app -Please check out the [web-app-skeleton repository](https://github.com/opencloud-eu/web-app-skeleton) for a boilerplate application to get started with your own application. In addition to that, if you want to learn how to implement an app for viewing and editing specific file types, please consult the [relevant documentation](/docs/dev/web/extension-system/viewer-editor-apps) for detailed instructions and guidance. +Please check out the [web-app-skeleton repository](https://github.com/opencloud-eu/web-app-skeleton) for a boilerplate application to get started with your own application. In addition to that, if you want to learn how to implement an app for viewing and editing specific file types, please consult the [relevant documentation](.viewer-editor-apps) for detailed instructions and guidance. -To learn how to integrate an app into OpenCloud Web, please refer to the [Web Application admin docs](/docs/admin/configuration/web-applications). +To learn how to integrate an app into OpenCloud Web, please refer to the [Web Application admin docs](../../../admin/configuration/web-applications). ### Extensions @@ -105,15 +105,15 @@ and most prominently also in the `files` app we have defined some extension poin For building an extension you can choose from the types predefined by the OpenCloud Web extension system. See the full list of available extension types below. 1. `ActionExtension` (type `action`) - An extension that can register `Action` items which then get shown in various places (e.g. context menus, batch actions), depending on the - extension points referenced in the extension respectively. Most commonly used for file and folder actions (e.g. copy, rename, delete, etc.). For details, please refer to the [action docs](/docs/dev/web/extension-system/extension-types/action-extensions) -2. `SearchExtension` (type `search`) - An extension that can register additional search providers. For details, please refer to the [search docs](/docs/dev/web/extension-system/extension-types/search-extensions). + extension points referenced in the extension respectively. Most commonly used for file and folder actions (e.g. copy, rename, delete, etc.). For details, please refer to the [action docs](../extension-system/extension-types/action-extensions) +2. `SearchExtension` (type `search`) - An extension that can register additional search providers. For details, please refer to the [search docs](../extension-system/extension-types/search-extensions). 3. `SidebarNavExtension` (type `sidebarNav`) - An extension that can register additional navigation items for the left sidebar. These can be scoped to specific apps, and programmatically enabled/disabled. - For details, please refer to the [sidebar nav docs](/docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions). -4. `SidebarPanelExtension`, (type `sidebarPanel`) - An extension that can register panels for the right sidebar. For details, please refer to the [sidebar panel docs](/docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions). + For details, please refer to the [sidebar nav docs](../extension-system/extension-types/left-sidebar-menu-item-extensions). +4. `SidebarPanelExtension`, (type `sidebarPanel`) - An extension that can register panels for the right sidebar. For details, please refer to the [sidebar panel docs](../extension-system/extension-types/right-sidebar-panel-extensions). 5. `FolderViewExtension` (type `folderView`) - An extension that can register additional ways of displaying the content of a folder (resources like spaces, folders or files) to the user. - For details, please refer to the [folder view docs](/docs/dev/web/extension-system/extension-types/folder-view-extensions). + For details, please refer to the [folder view docs](../extension-system/extension-types/folder-view-extensions). 6. `CustomComponentExtension` (type `customComponent`) - An extension that can register a custom component for a render target. For details, please refer to the - [custom component docs](/docs/dev/web/extension-system/extension-types/custom-component-extensions) + [custom component docs](../extension-system/extension-types/custom-component-extensions) You're free to introduce your own extension types within your application code and use the extension registry to query the available ones. However, if you have the impression that an important extension type is missing and would be beneficial for the platform, please reach out to us by opening a [GitHub issue](https://github.com/opencloud-eu/web/issues/new/choose). @@ -163,7 +163,7 @@ The user can then select one out of all the extensions which have been registere #### Creating a new extension -Please check out the [web-app-skeleton repository](https://github.com/opencloud-eu/web-app-skeleton) for a boilerplate application that also includes an extension. In addition to that, the [extension types docs](/docs/dev/web/extension-system/extension-types) provide instructions and examples on how to implement the different extension types. +Please check out the [web-app-skeleton repository](https://github.com/opencloud-eu/web-app-skeleton) for a boilerplate application that also includes an extension. In addition to that, the [extension types docs](../extension-system/extension-types) provide instructions and examples on how to implement the different extension types. ### Helpful packages diff --git a/docs/dev/web/extension-system/viewer-editor-apps.md b/docs/dev/web/extension-system/viewer-editor-apps.md index 4c5a780a..ba735655 100644 --- a/docs/dev/web/extension-system/viewer-editor-apps.md +++ b/docs/dev/web/extension-system/viewer-editor-apps.md @@ -15,11 +15,11 @@ An app is essentially a distinct package that must be specified as an external a The structure of an app is quite simple and straightforward. Consider, for example, the [pdf-viewer app](https://github.com/opencloud-eu/web/tree/main/packages/web-app-pdf-viewer). It consists of a `package.json` file, a `src` directory containing all the source code, and a `l10n` directory for translations. Optionally, you may also include a `tests` directory if your application requires testing. -To learn more about apps in general, please refer to the [Web app docs](/docs/dev/web/extension-system). +To learn more about apps in general, please refer to the [Web app docs](../extension-system). ### App setup -Inside the `src` folder you will need an `index.ts` file that sets up the app so it can be registered by the Web runtime. It follows the basic structure as described in [the apps section](/docs/dev/web/extension-system), so it may look like this: +Inside the `src` folder you will need an `index.ts` file that sets up the app so it can be registered by the Web runtime. It follows the basic structure as described in [the apps section](../extension-system), so it may look like this: ```typescript import { AppWrapperRoute, defineWebApplication, AppMenuItemExtension } from '@opencloud-eu/web-pkg'; diff --git a/docs/dev/web/getting-started.md b/docs/dev/web/getting-started.md index f0d9517b..f0f08b47 100644 --- a/docs/dev/web/getting-started.md +++ b/docs/dev/web/getting-started.md @@ -9,7 +9,7 @@ The source code is hosted at [https://github.com/opencloud-eu/web](https://githu ## Installation -To install and setup the Web client on your local machine, please refer to the [development setup docs](/docs/dev/web/development/tooling#development-setup). +To install and setup the Web client on your local machine, please refer to the [development setup docs](./development/tooling#development-setup). ## Configuration @@ -93,7 +93,7 @@ Additional CSS files to further customize the user experience and adapt it to yo Additional JavaScript files to further customize the user experience and adapt it to your specific needs. Expects an array of objects that specify a `src` attribute, pointing to the path/URL of your script, and an optional `async` attribute (defaults to false), like `[{ "src": "js/custom.js", "async": true }]`. :::note -Check out the [extension system docs](/docs/dev/web/extension-system) for a more convenient way to add functionality to the Web client. +Check out the [extension system docs](./extension-system) for a more convenient way to add functionality to the Web client. ::: ### `sentry` diff --git a/docs/dev/web/index.md b/docs/dev/web/index.md index 48418379..82b5a1b5 100644 --- a/docs/dev/web/index.md +++ b/docs/dev/web/index.md @@ -3,4 +3,5 @@ title: 'Web UI' --- This is the next generation OpenCloud frontend. -If you're new here, head over to the the [getting started guide](/docs/dev/web/getting-started) for a quick introduction. +If you're new here, head over to the the [getting started guide](./web/getting-started) +for a quick introduction. diff --git a/docs/dev/web/testing/running-tests.md b/docs/dev/web/testing/running-tests.md index 11368758..ed77f909 100644 --- a/docs/dev/web/testing/running-tests.md +++ b/docs/dev/web/testing/running-tests.md @@ -8,7 +8,7 @@ id: running-tests In order to allow us to make changes quickly, often and with a high level of confidence, we heavily rely on tests within the `web` repository. -This section assumes you have the Web development stack up and running. Please check out the [development setup docs](/docs/dev/web/development/tooling#development-setup) if you haven't. +This section assumes you have the Web development stack up and running. Please check out the [development setup docs](../development/tooling#development-setup) if you haven't. ### Unit Tests @@ -122,7 +122,7 @@ We can run some of the e2e tests on OpenCloud setup with Keycloak as an external #### Run OpenCloud With Keycloak -There's a documentation to serve [OpenCloud with Keycloak](/docs/admin/configuration/authentication-and-user-management/keycloak). Please follow each step to run **OpenCloud with Keycloak**. +There's a documentation to serve [OpenCloud with Keycloak](../../../admin/configuration/authentication-and-user-management/keycloak). Please follow each step to run **OpenCloud with Keycloak**. #### Run E2E Tests diff --git a/docs/user/admin/web-dav.md b/docs/user/admin/web-dav.md index cb7bb15e..2bbd1cb6 100644 --- a/docs/user/admin/web-dav.md +++ b/docs/user/admin/web-dav.md @@ -16,7 +16,7 @@ With WebDAV, you can connect OpenCloud Spaces and Folders as network drives on y - Access to a resource in OpenCloud, either a Space, a Folder or the root of your account - A WebDAV client (e.g. built-in OS support or [Mountain Duck](https://mountainduck.io/)) - (Optional but recommended) An App Token - → [How to create an App Token](/docs/user/admin/app-tokens) + → [How to create an App Token](./app-tokens) ## Step-by-Step Guide @@ -40,7 +40,7 @@ We recommend using an App Token instead of your password for better security. - Go to Settings > App Tokens - Click "+ New", give it a name, and set an expiration date - Copy the token immediately – it will only be shown once - → [See App Token Guide](/docs/user/admin/app-tokens) + → [See App Token Guide](./app-tokens#copy-the-app-token) ### Get the WebDAV URL diff --git a/docs/user/intro.md b/docs/user/intro.md index 9e3629a9..8a0d9aee 100644 --- a/docs/user/intro.md +++ b/docs/user/intro.md @@ -56,38 +56,38 @@ Through intelligent file management and a strong open source community, files be ## Table of contents -### [User Interface and Navigation](/docs/user/general) +### [User Interface and Navigation](./general) Here you will find general information about account settings, customizations and view modes. -### [Manage Files and Folders](/docs/user/files-and-folders) +### [Manage Files and Folders](./files-and-folders) Here you will find information about the management of files and folders. -### [Share Files and Folders](/docs/user/sharing) +### [Share Files and Folders](./sharing) Here you will find information on how to share files and folders. -### [Working in Teams with Spaces](/docs/user/spaces) +### [Working in Teams with Spaces](./spaces) Here you will find information for dealing with Spaces. -### [OpenCloud Desktop](/docs/user/desktop-client) +### [OpenCloud Desktop](./desktop-client) Here you will find information on how to install and set up the desktop client. -### [OpenCloud iOS App](/docs/user/ios-app) +### [OpenCloud iOS App](./ios-app) Here you will find information about the OpenCloud iOS App. -### [Roles](/docs/user/roles) +### [Roles](./roles) Here you will find information about the different roles that can be assigned. -### [Administration of OpenCloud](/docs/user/admin) +### [Administration of OpenCloud](./admin) Here you will find information on what options admins have and how you can use them. -### [Common Issues and Help](/docs/user/common-issues) +### [Common Issues and Help](./common-issues) Here you will find information on common issues and help on how to solve them. diff --git a/docs/user/sharing/file-drop.md b/docs/user/sharing/file-drop.md index 45dbf1d4..2f1bf688 100644 --- a/docs/user/sharing/file-drop.md +++ b/docs/user/sharing/file-drop.md @@ -24,7 +24,7 @@ The trick: The “link recipients” cannot see the files already in the folder. - Select the option for "Secret File Drop". Select file drop - Type a password and confirm the entries with click on "copy link". -- You can also set an "Expiry date", if you want the link to expire. [External Sharing](/docs/user/sharing/external), if you want to know how to set the Expiry date. +- You can also set an "Expiry date", if you want the link to expire. [External Sharing](./external), if you want to know how to set the Expiry date. Enter password and copy link - Now you send the link and the password to a "link recipient". From 7639a4b692254583abebeff73c9d50db426027f7 Mon Sep 17 00:00:00 2001 From: Anja Barz Date: Wed, 21 Jan 2026 11:23:59 +0100 Subject: [PATCH 2/3] remove unnessercary md files --- absolute-links-report-all.md | 173 ---------------------------- absolute-links-with-line-numbers.md | 114 ------------------ 2 files changed, 287 deletions(-) delete mode 100644 absolute-links-report-all.md delete mode 100644 absolute-links-with-line-numbers.md diff --git a/absolute-links-report-all.md b/absolute-links-report-all.md deleted file mode 100644 index ba6571f7..00000000 --- a/absolute-links-report-all.md +++ /dev/null @@ -1,173 +0,0 @@ -# Bericht: Absolute Links in /docs und /versioned_docs - -Gefunden am: 2026-01-21 - -## Zusammenfassung - -Insgesamt wurden **56 absolute Links** gefunden: - -- **0 Links in /docs** -- **56 Links in /versioned_docs/version-4.0** - ---- - -## Absolute Links in versioned_docs/version-4.0 - -### versioned_docs/version-4.0/admin/configuration/authentication-and-user-management/keycloak.md - -- **Zeile 41:** `/docs/admin/configuration/authentication-and-user-management/external-idp#opencloud-configuration` -- **Zeile 45:** `/docs/admin/configuration/authentication-and-user-management/external-idp#client-configuration` - -### versioned_docs/version-4.0/admin/configuration/authentication-and-user-management/index.md - -- **Zeile 56:** `/docs/admin/configuration/authentication-and-user-management/keycloak#shared-user-directory-mode` -- **Zeile 64:** `/docs/admin/configuration/authentication-and-user-management/keycloak#autoprovisioning-mode` - -### versioned_docs/version-4.0/admin/configuration/storage/decomposeds3.md - -- **Zeile 84:** `/docs/admin/resources/common-issues` - -### versioned_docs/version-4.0/admin/getting-started/container/docker.md - -- **Zeile 79:** `/docs/admin/resources/common-issues` - -### versioned_docs/version-4.0/admin/getting-started/container/docker-compose/docker-compose-base.md - -- **Zeile 274:** `/docs/admin/resources/common-issues` - -### versioned_docs/version-4.0/admin/getting-started/other/bare-metal.md - -- **Zeile 131:** `/docs/admin/resources/common-issues` - -### versioned_docs/version-4.0/admin/maintenance/upgrade/upgrade-4.0.0.md - -- **Zeile 34:** `/docs/admin/maintenance/backup` -- **Zeile 115:** `/docs/admin/getting-started/container/docker-compose/docker-compose-base.md` -- **Zeile 239:** `/docs/admin/resources/common-issues` - -### versioned_docs/version-4.0/admin/maintenance/upgrade/upgrade.md - -- **Zeile 35:** `/docs/admin/maintenance/backup` - -### versioned_docs/version-4.0/user/sharing/file-drop.md - -- **Zeile 27:** `/docs/user/sharing/external` - -### versioned_docs/version-4.0/user/intro.md - -- **Zeile 59:** `/docs/user/general` -- **Zeile 63:** `/docs/user/files-and-folders` -- **Zeile 67:** `/docs/user/sharing` -- **Zeile 71:** `/docs/user/spaces` -- **Zeile 75:** `/docs/user/desktop-client` -- **Zeile 79:** `/docs/user/ios-app` -- **Zeile 83:** `/docs/user/roles` -- **Zeile 87:** `/docs/user/admin` -- **Zeile 91:** `/docs/user/common-issues` - -### versioned_docs/version-4.0/user/admin/web-dav.md - -- **Zeile 19:** `/docs/user/admin/app-tokens` -- **Zeile 43:** `/docs/user/admin/app-tokens` - -### versioned_docs/version-4.0/dev/web/development/conventions.md - -- **Zeile 20:** `/docs/dev/web/testing/running-tests` - -### versioned_docs/version-4.0/dev/web/development/repo-structure.md - -- **Zeile 15:** `/docs/dev/web/development/tooling` -- **Zeile 27:** `/docs/dev/web/testing/running-tests` -- **Zeile 37:** `/docs/dev/web/development/tooling` -- **Zeile 120:** `/docs/dev/web/extension-system` - -### versioned_docs/version-4.0/dev/web/getting-started.md - -- **Zeile 12:** `/docs/dev/web/development/tooling#development-setup` -- **Zeile 96:** `/docs/dev/web/extension-system` - -### versioned_docs/version-4.0/dev/web/testing/running-tests.md - -- **Zeile 11:** `/docs/dev/web/development/tooling#development-setup` -- **Zeile 125:** `/docs/admin/configuration/authentication-and-user-management/keycloak` - -### versioned_docs/version-4.0/dev/web/index.md - -- **Zeile 6:** `/docs/dev/web/getting-started` - -### versioned_docs/version-4.0/dev/web/extension-system/viewer-editor-apps.md - -- **Zeile 18:** `/docs/dev/web/extension-system` -- **Zeile 22:** `/docs/dev/web/extension-system` - -### versioned_docs/version-4.0/dev/web/extension-system/index.md - -- **Zeile 87:** `/docs/dev/web/extension-system/viewer-editor-apps` -- **Zeile 89:** `/docs/admin/configuration/web-applications` -- **Zeile 108:** `/docs/dev/web/extension-system/extension-types/action-extensions` -- **Zeile 109:** `/docs/dev/web/extension-system/extension-types/search-extensions` -- **Zeile 111:** `/docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions` -- **Zeile 112:** `/docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions` -- **Zeile 114:** `/docs/dev/web/extension-system/extension-types/folder-view-extensions` -- **Zeile 116:** `/docs/dev/web/extension-system/extension-types/custom-component-extensions` -- **Zeile 166:** `/docs/dev/web/extension-system/extension-types` - -### versioned_docs/version-4.0/dev/web/extension-system/extension-types/custom-component-extensions.md - -- **Zeile 26:** `/docs/dev/web/extension-system#extension-base-configuration` - -### versioned_docs/version-4.0/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions.md - -- **Zeile 26:** `/docs/dev/web/extension-system#extension-base-configuration` - -### versioned_docs/version-4.0/dev/web/extension-system/extension-types/search-extensions.md - -- **Zeile 31:** `/docs/dev/web/extension-system#extension-base-configuration` - -### versioned_docs/version-4.0/dev/web/extension-system/extension-types/right-sidebar-panel-extensions.md - -- **Zeile 31:** `/docs/dev/web/extension-system#extension-base-configuration` - -### versioned_docs/version-4.0/dev/web/extension-system/extension-types/app-menu-item-extensions.md - -- **Zeile 30:** `/docs/dev/web/extension-system#extension-base-configuration` - -### versioned_docs/version-4.0/dev/web/extension-system/extension-types/action-extensions.md - -- **Zeile 24:** `/docs/dev/web/extension-system#extension-base-configuration` - -### versioned_docs/version-4.0/dev/web/extension-system/extension-types/folder-view-extensions.md - -- **Zeile 24:** `/docs/dev/web/extension-system#extension-base-configuration` - -### versioned_docs/version-4.0/dev/server/configuration/config-system.md - -- **Zeile 131:** `/docs/dev/server/services/activitylog` -- **Zeile 131:** `/docs/dev/server/services/proxy` -- **Zeile 131:** `/docs/dev/server/services/frontend` - -### versioned_docs/version-4.0/dev/server/apis/index.md - -- **Zeile 8:** `/docs/dev/server/apis/http` -- **Zeile 8:** `/docs/dev/server/apis/grpc_apis` -- **Zeile 18:** `/docs/dev/server/apis/http` -- **Zeile 30:** `/docs/dev/server/apis/grpc_apis` - -### versioned_docs/version-4.0/dev/server/apis/http/authorization.md - -- **Zeile 12:** `/docs/admin/configuration/authentication-and-user-management` - -### versioned_docs/version-4.0/dev/server/apis/http/graph/index.md - -- **Zeile 62:** `/docs/dev/server/services/proxy/environment-variables` - -### versioned_docs/version-4.0/dev/server/apis/http/webdav/index.md - -- **Zeile 72:** `/docs/dev/server/services/proxy/environment-variables` - ---- - -## Status - -✅ **Hauptordner /docs:** Keine absoluten Links gefunden (bereits bereinigt) -⚠️ **Versionierter Ordner /versioned_docs/version-4.0:** 56 absolute Links gefunden - diese sollten überprüft werden, wenn sie auf ältere Versionen zeigen sollen oder aktualisiert werden müssen diff --git a/absolute-links-with-line-numbers.md b/absolute-links-with-line-numbers.md deleted file mode 100644 index a22c5c46..00000000 --- a/absolute-links-with-line-numbers.md +++ /dev/null @@ -1,114 +0,0 @@ -# Liste: Absolute Links in /docs - Mit Zeilennummern - -Gefunden am: 2026-01-20 -Insgesamt: 36 Links in 18 Dateien - ---- - -## docs/dev/web/extension-system/extension-types/search-extensions.md - -x - **Zeile 31:** `/docs/dev/web/extension-system#extension-base-configuration` - -x ## docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions.md - -- **Zeile 26:** `/docs/dev/web/extension-system#extension-base-configuration` - -x ## docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions.md - -- **Zeile 31:** `/docs/dev/web/extension-system#extension-base-configuration` - -x ## docs/dev/web/extension-system/extension-types/folder-view-extensions.md - -- **Zeile 24:** `/docs/dev/web/extension-system#extension-base-configuration` - -## docs/dev/web/extension-system/extension-types/custom-component-extensions.md - -x - **Zeile 26:** `/docs/dev/web/extension-system#extension-base-configuration` - -x## docs/dev/web/extension-system/index.md - -- **Zeile 87:** `/docs/dev/web/extension-system/viewer-editor-apps` -- **Zeile 89:** `/docs/admin/configuration/web-applications` -- **Zeile 108:** `/docs/dev/web/extension-system/extension-types/action-extensions` -- **Zeile 109:** `/docs/dev/web/extension-system/extension-types/search-extensions` -- **Zeile 111:** `/docs/dev/web/extension-system/extension-types/left-sidebar-menu-item-extensions` -- **Zeile 112:** `/docs/dev/web/extension-system/extension-types/right-sidebar-panel-extensions` -- **Zeile 114:** `/docs/dev/web/extension-system/extension-types/folder-view-extensions` -- **Zeile 116:** `/docs/dev/web/extension-system/extension-types/custom-component-extensions` -- **Zeile 166:** `/docs/dev/web/extension-system/extension-types` - -x## docs/dev/web/getting-started.md - -- **Zeile 12:** `/docs/dev/web/development/tooling#development-setup` -- **Zeile 96:** `/docs/dev/web/extension-system` - -x## docs/dev/web/extension-system/extension-types/app-menu-item-extensions.md - -- **Zeile 30:** `/docs/dev/web/extension-system#extension-base-configuration` - -x## docs/dev/web/extension-system/extension-types/action-extensions.md - -- **Zeile 24:** `/docs/dev/web/extension-system#extension-base-configuration` - -x## docs/dev/web/extension-system/viewer-editor-apps.md - -- **Zeile 18:** `/docs/dev/web/extension-system` -- **Zeile 22:** `/docs/dev/web/extension-system` - -x ## docs/dev/web/testing/running-tests.md - -- **Zeile 11:** `/docs/dev/web/development/tooling#development-setup` -- **Zeile 125:** `/docs/admin/configuration/authentication-and-user-management/keycloak` - -x ## docs/dev/web/development/repo-structure.md - -- **Zeile 15:** `/docs/dev/web/development/tooling` -- **Zeile 27:** `/docs/dev/web/testing/running-tests` -- **Zeile 37:** `/docs/dev/web/development/tooling` -- **Zeile 120:** `/docs/dev/web/extension-system` - -x ## docs/dev/web/development/conventions.md - -- **Zeile 20:** `/docs/dev/web/testing/running-tests` - -x ## docs/user/sharing/file-drop.md - -- **Zeile 27:** `/docs/user/sharing/external` - -x## docs/admin/getting-started/container/docker.md - -- **Zeile 79:** `/docs/admin/resources/common-issues` - -x## docs/admin/getting-started/container/docker-compose/docker-compose-base.md - -- **Zeile 274:** `/docs/admin/resources/common-issues` - -x ## docs/admin/getting-started/other/bare-metal.md - -- **Zeile 131:** `/docs/admin/resources/common-issues` - -x ## docs/admin/configuration/storage/decomposeds3.md - -- **Zeile 84:** `/docs/admin/resources/common-issues` - -x ## docs/admin/configuration/authentication-and-user-management/index.md - -- **Zeile 56:** `/docs/admin/configuration/authentication-and-user-management/keycloak#shared-user-directory-mode` -- **Zeile 64:** `/docs/admin/configuration/authentication-and-user-management/keycloak#autoprovisioning-mode` - -x ## docs/admin/configuration/authentication-and-user-management/keycloak.md - -- **Zeile 41:** `/docs/admin/configuration/authentication-and-user-management/external-idp#opencloud-configuration` -- **Zeile 45:** `/docs/admin/configuration/authentication-and-user-management/external-idp#client-configuration` - ---- - -## Zusammenfassung nach Zielseiten (Top-Verweise) - -| Zielseite | Häufigkeit | -| ----------------------------------------------------------------------- | ---------- | -| `/docs/dev/web/extension-system#extension-base-configuration` | 5x | -| `/docs/dev/web/development/tooling` | 3x | -| `/docs/dev/web/extension-system` | 5x | -| `/docs/admin/resources/common-issues` | 4x | -| `/docs/admin/configuration/authentication-and-user-management/keycloak` | 3x | From 6d11d4eb929945aecd92c9d21869b4cbd8f7eafe Mon Sep 17 00:00:00 2001 From: Alexander Ackermann Date: Wed, 21 Jan 2026 12:13:21 +0100 Subject: [PATCH 3/3] fix broken links --- .../authentication-and-user-management/index.md | 4 ++-- docs/admin/maintenance/upgrade/upgrade.md | 2 +- docs/dev/server/apis/http/graph/index.md | 2 +- docs/dev/server/apis/http/webdav/index.md | 2 +- docs/dev/server/apis/index.md | 6 +++--- docs/dev/web/extension-system/index.md | 16 ++++++++-------- docs/dev/web/index.md | 2 +- docusaurus.config.ts | 1 - 8 files changed, 17 insertions(+), 18 deletions(-) diff --git a/docs/admin/configuration/authentication-and-user-management/index.md b/docs/admin/configuration/authentication-and-user-management/index.md index a3a0c16a..9944e0cb 100644 --- a/docs/admin/configuration/authentication-and-user-management/index.md +++ b/docs/admin/configuration/authentication-and-user-management/index.md @@ -53,7 +53,7 @@ OpenCloud now supports two authentication modes when using Keycloak with LDAP: In this mode, LDAP serves as a central user directory for both Keycloak and OpenCloud. This setup is suitable for scenarios where the LDAP server is not under the control of the OpenCloud admin and can be connected to KeyCloak and OpenCloud using standard attributes and a read-only bind user. -For detailed configuration and setup instructions, see the [Keycloak Shared User Directory](authentication-and-user-management/keycloak#shared-user-directory-mode) guide. +For detailed configuration and setup instructions, see the [Keycloak Shared User Directory](./keycloak#shared-user-directory-mode) guide. ### Autoprovisioning Mode @@ -61,4 +61,4 @@ In this mode, Keycloak is holding all users and OpenCloud autoprovisions new use This mode is suitable in scenarios where the OpenIDConnect provider is external and not under control of the OpenCloud admin. To mitigate that lack of control, OpenCloud will use an LDAP server which is fully under the control of the OpenCloud admin to store the users and groups and additional attributes. OpenCloud can disable users for login to actively prevent unwanted access to the system when the workflow with the external Identity Provider is slow or indirect. In this case, the LDAP server needs an OpenCloud Schema and write access for the LDAP bind user. -For detailed configuration and setup instructions, see the [Keycloak with Autoprovisioning](authentication-and-user-management/keycloak#autoprovisioning-mode) guide. +For detailed configuration and setup instructions, see the [Keycloak with Autoprovisioning](./keycloak#autoprovisioning-mode) guide. diff --git a/docs/admin/maintenance/upgrade/upgrade.md b/docs/admin/maintenance/upgrade/upgrade.md index 985dd9d7..6f058f86 100644 --- a/docs/admin/maintenance/upgrade/upgrade.md +++ b/docs/admin/maintenance/upgrade/upgrade.md @@ -32,7 +32,7 @@ Stop the currently running OpenCloud instance: ## Backup Config and Data -It is recommended to create a [backup](../maintenance/backup) before proceeding with the upgrade. +It is recommended to create a [backup](../backup) before proceeding with the upgrade. ## Pull the new Opencloud version diff --git a/docs/dev/server/apis/http/graph/index.md b/docs/dev/server/apis/http/graph/index.md index 6de8b923..1ec976e1 100644 --- a/docs/dev/server/apis/http/graph/index.md +++ b/docs/dev/server/apis/http/graph/index.md @@ -59,7 +59,7 @@ For more information about OData query options please check the [API specificati ### Authorization -For development purposes the examples in the developer documentation use Basic Auth. It is disabled by default and should only be enabled by setting `PROXY_ENABLE_BASIC_AUTH` in [the proxy](../../../server/services/proxy/environment-variables) for development or test instances. +For development purposes the examples in the developer documentation use Basic Auth. It is disabled by default and should only be enabled by setting `PROXY_ENABLE_BASIC_AUTH` in [the proxy](../../../services/proxy/env-vars.mdx) for development or test instances. To authenticate with a Bearer token or OpenID Connect access token replace the `-u user:password` Basic Auth option of curl with a `-H 'Authorization: Bearer '` header. A `` can be obtained by copying it from a request in the browser, although it will time out within minutes. To automatically refresh the OpenID Connect access token an ssh-agent like solution like [oidc-agent](https://github.com/indigo-dc/oidc-agent) should be used. The graph endpoints that support a preconfigured token can be found in the [API specification](https://github.com/opencloud-eu/libre-graph-api) diff --git a/docs/dev/server/apis/http/webdav/index.md b/docs/dev/server/apis/http/webdav/index.md index 50eb1820..e793bcdd 100644 --- a/docs/dev/server/apis/http/webdav/index.md +++ b/docs/dev/server/apis/http/webdav/index.md @@ -69,7 +69,7 @@ The WebDAV protocol was created before the REST paradigm has become the de-facto ### Authentication -For development purposes the examples in the developer documentation use Basic Auth. It is disabled by default and should only be enabled by setting `PROXY_ENABLE_BASIC_AUTH` in [the proxy](./../../../server/services/proxy/environment-variables) for development or test instances. +For development purposes the examples in the developer documentation use Basic Auth. It is disabled by default and should only be enabled by setting `PROXY_ENABLE_BASIC_AUTH` in [the proxy](./../../../services/proxy/env-vars.mdx) for development or test instances. To authenticate with a Bearer token or OpenID Connect access token replace the `-u user:password` Basic Auth option of curl with a `-H 'Authorization: Bearer '` header. A `` can be obtained by copying it from a request in the browser, although it will time out within minutes. To automatically refresh the OpenID Connect access token an ssh-agent like solution like [oidc-agent](https://github.com/indigo-dc/oidc-agent) should be used. diff --git a/docs/dev/server/apis/index.md b/docs/dev/server/apis/index.md index 172c2093..b371aa1b 100644 --- a/docs/dev/server/apis/index.md +++ b/docs/dev/server/apis/index.md @@ -5,7 +5,7 @@ sidebar_position: 1 OpenCloud provides a large set of different **application programming interfaces (APIs)**. OpenCloud is built by microservices. That means many calls to "functions" in the code are remote calls. -Basically we have two different API "universes": [HTTP](apis/http) and [gRPC](apis/grpc_apis). +Basically we have two different API "universes": [HTTP](./http) and [gRPC](./grpc_apis). | HTTP | gRPC | | -------------------------------- | -------------------------------- | @@ -15,7 +15,7 @@ For inter-service-communication we are using mostly gRPC calls because it has so ![OpenCloud APIs Architecture](/img/oc-apis.drawio.svg) -## [HTTP](apis/http) +## [HTTP](./http) HTTP APIs are mostly used for client < > server communication. Modern applications are embracing a [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) software architecture style. REST APIs are using the HTTP protocol to transfer data between clients and servers. All our clients talk to the Server using HTTP APIs. This has legacy reasons and is well-supported across many platforms and technologies. OpenCloud uses an HTTP API gateway (proxy service) to route client requests to the correct service. @@ -27,7 +27,7 @@ It is best practise to define APIs and their behavior by a spec. We are using th Some APIs have become a de facto standard and are additionally covered by an [RFC](https://en.wikipedia.org/wiki/Request_for_Comments). -## [gRPC](apis/grpc_apis) +## [gRPC](./grpc_apis) In gRPC, a client application can directly call methods on a server application on a different machine as if it was a local object. This makes it easier to create distributed applications based on microservices. In gRPC we can define a service and specify the methods that can be called remotely. A gRPC client has a stub that provides the same methods and types as the server. OpenCloud uses a gRPC API Gateway (gateway service) to route the requests to the correct service. diff --git a/docs/dev/web/extension-system/index.md b/docs/dev/web/extension-system/index.md index 65abef69..f0c45eb3 100644 --- a/docs/dev/web/extension-system/index.md +++ b/docs/dev/web/extension-system/index.md @@ -84,7 +84,7 @@ By defining an application via `defineWebApplication` you can provide the follow #### Creating a new app -Please check out the [web-app-skeleton repository](https://github.com/opencloud-eu/web-app-skeleton) for a boilerplate application to get started with your own application. In addition to that, if you want to learn how to implement an app for viewing and editing specific file types, please consult the [relevant documentation](.viewer-editor-apps) for detailed instructions and guidance. +Please check out the [web-app-skeleton repository](https://github.com/opencloud-eu/web-app-skeleton) for a boilerplate application to get started with your own application. In addition to that, if you want to learn how to implement an app for viewing and editing specific file types, please consult the [relevant documentation](./viewer-editor-apps) for detailed instructions and guidance. To learn how to integrate an app into OpenCloud Web, please refer to the [Web Application admin docs](../../../admin/configuration/web-applications). @@ -105,15 +105,15 @@ and most prominently also in the `files` app we have defined some extension poin For building an extension you can choose from the types predefined by the OpenCloud Web extension system. See the full list of available extension types below. 1. `ActionExtension` (type `action`) - An extension that can register `Action` items which then get shown in various places (e.g. context menus, batch actions), depending on the - extension points referenced in the extension respectively. Most commonly used for file and folder actions (e.g. copy, rename, delete, etc.). For details, please refer to the [action docs](../extension-system/extension-types/action-extensions) -2. `SearchExtension` (type `search`) - An extension that can register additional search providers. For details, please refer to the [search docs](../extension-system/extension-types/search-extensions). + extension points referenced in the extension respectively. Most commonly used for file and folder actions (e.g. copy, rename, delete, etc.). For details, please refer to the [action docs](./extension-types/action-extensions) +2. `SearchExtension` (type `search`) - An extension that can register additional search providers. For details, please refer to the [search docs](./extension-types/search-extensions). 3. `SidebarNavExtension` (type `sidebarNav`) - An extension that can register additional navigation items for the left sidebar. These can be scoped to specific apps, and programmatically enabled/disabled. - For details, please refer to the [sidebar nav docs](../extension-system/extension-types/left-sidebar-menu-item-extensions). -4. `SidebarPanelExtension`, (type `sidebarPanel`) - An extension that can register panels for the right sidebar. For details, please refer to the [sidebar panel docs](../extension-system/extension-types/right-sidebar-panel-extensions). + For details, please refer to the [sidebar nav docs](./extension-types/left-sidebar-menu-item-extensions). +4. `SidebarPanelExtension`, (type `sidebarPanel`) - An extension that can register panels for the right sidebar. For details, please refer to the [sidebar panel docs](./extension-types/right-sidebar-panel-extensions). 5. `FolderViewExtension` (type `folderView`) - An extension that can register additional ways of displaying the content of a folder (resources like spaces, folders or files) to the user. - For details, please refer to the [folder view docs](../extension-system/extension-types/folder-view-extensions). + For details, please refer to the [folder view docs](./extension-types/folder-view-extensions). 6. `CustomComponentExtension` (type `customComponent`) - An extension that can register a custom component for a render target. For details, please refer to the - [custom component docs](../extension-system/extension-types/custom-component-extensions) + [custom component docs](./extension-types/custom-component-extensions) You're free to introduce your own extension types within your application code and use the extension registry to query the available ones. However, if you have the impression that an important extension type is missing and would be beneficial for the platform, please reach out to us by opening a [GitHub issue](https://github.com/opencloud-eu/web/issues/new/choose). @@ -163,7 +163,7 @@ The user can then select one out of all the extensions which have been registere #### Creating a new extension -Please check out the [web-app-skeleton repository](https://github.com/opencloud-eu/web-app-skeleton) for a boilerplate application that also includes an extension. In addition to that, the [extension types docs](../extension-system/extension-types) provide instructions and examples on how to implement the different extension types. +Please check out the [web-app-skeleton repository](https://github.com/opencloud-eu/web-app-skeleton) for a boilerplate application that also includes an extension. In addition to that, the [extension types docs](./extension-types) provide instructions and examples on how to implement the different extension types. ### Helpful packages diff --git a/docs/dev/web/index.md b/docs/dev/web/index.md index 82b5a1b5..ee78d28c 100644 --- a/docs/dev/web/index.md +++ b/docs/dev/web/index.md @@ -3,5 +3,5 @@ title: 'Web UI' --- This is the next generation OpenCloud frontend. -If you're new here, head over to the the [getting started guide](./web/getting-started) +If you're new here, head over to the the [getting started guide](./getting-started) for a quick introduction. diff --git a/docusaurus.config.ts b/docusaurus.config.ts index ef015f80..cffa13f9 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -9,7 +9,6 @@ const config: Config = { title: 'OpenCloud Docs', tagline: 'Excellent file sharing', favicon: 'img/oc-favicon.svg', - trailingSlash: false, // Set the production url of your site here url: 'https://docs.opencloud.eu',