From ca771cab7a031fffba302f0966d1b79e6b9df665 Mon Sep 17 00:00:00 2001 From: nabim777 Date: Tue, 21 Apr 2026 09:34:13 +0545 Subject: [PATCH 1/6] tests: update smoke testing Signed-off-by: nabim777 --- docs/testing/smoke_testing.md | 79 +++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 35 deletions(-) diff --git a/docs/testing/smoke_testing.md b/docs/testing/smoke_testing.md index f62ee2ab2..86cae3893 100644 --- a/docs/testing/smoke_testing.md +++ b/docs/testing/smoke_testing.md @@ -19,8 +19,9 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t - [2. Link/Unlink a work package for a file/folder from OpenProject](#2-linkunlink-a-work-package-for-a-filefolder-from-openproject) - [3. Direct upload file/folder from OpenProject to Nextcloud](#3-direct-upload-filefolder-from-openproject-to-nextcloud) - [4. Create a WorkPackage from Nextcloud](#4-create-a-workpackage-from-nextcloud) - - [5. Check notification in `OpenProject` widget in Nextcloud](#5-check-notification-in-openproject-widget-in-nextcloud) - - [6. Check New folder with automatically managed permissions in OpenProject](#6-check-new-folder-with-automatically-managed-permissions-in-openproject) + - [5. Check notification in `OpenProject` widget in Nextcloud](#5-check-notification-in-openproject-widget-in-nextcloud) + - [6. Setup and check project folder in Nextcloud (with project folder setup)](#6-setup-and-check-project-folder-in-nextcloud-with-project-folder-setup) + - [7. Check New folder with automatically managed permissions in OpenProject](#7-check-new-folder-with-automatically-managed-permissions-in-openproject) - [App Upgrade Testing](#app-upgrade-testing) - [Upgrade Steps](#upgrade-steps) @@ -67,23 +68,8 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t - [ ] Try to connect the created `OpenProject` user as created `Nextcloud` user. - [ ] `OpenProject` user should be connected as a `Nextcloud` user. -### A5. Setup and check project folder in Nextcloud (with project folder setup) -- [ ] Complete step [Test No A1](#a1-oauth-configuration). -- [ ] Enable `groupfolders` application in `Nextcloud`. -- [ ] Enable `Automatically managed folders` switch in admin setting and set project folder. -- [ ] Application password should be generated. -- [ ] Verify that `OpenProject` user and group are created with user `OpenProject` as sub-admin of the group. -- [ ] Verify that `OpenProjectNoAutomaticProjectFolders` group is also created with user `OpenProject` as sub-admin. -- [ ] Try deleting `OpenProject` user and group, those should not be deleted. -- [ ] Try deleting `OpenProjectNoAutomaticProjectFolders` group, it should not be possible to delete. -- [ ] Test group management (as user `OpenProject`): - - Login as `OpenProject` user - - Add a test user `user1` to the `OpenProject` group - - Remove `user1` from the `OpenProject` group - - Verify that `user1` is automatically moved to the `OpenProjectNoAutomaticProjectFolders` group - -### A6. Complete the common smoke tests -- [ ] Complete [smoke tests 1-6](#common-smoke-test-steps). +### A5. Complete the common smoke tests +- [ ] Complete [smoke tests 1-7](#common-smoke-test-steps). ### A7. Check the integration script for oauth set up @@ -116,25 +102,35 @@ bash integration_setup.sh - [ ] Run following command: - `php occ config:system:set user_oidc --type boolean --value="true" oidc_provider_bearer_validation` - [ ] Go to `Administration > OpenID Connect` and enable `store login tokens` option. -- [ ] Go to `Administation > Security` -- [ ] Add OIDC client ("OpenID Connect clients" section): - - Add a client name (not an identifier) - - Add a redirect URL : `/auth/oidc-/callback` - - After adding, choose `Access Token Type` as `JWT Access Token (RFC9068)`. - - Set `Refresh Token Expire Time` to `Never` +- [ ] Go to `Administation > OpenID Connect Provider` + - Click the button `+ Add client`: + - Add a client name (not an identifier) such as `openproject` + - Add a redirect URL (/auth/oidc-/callback) + - Choose Signing Algorithm option as `RS246`. + - Choose Client Type as `Confidential` and click on `Add` button. + - After clicking `add` button, click on recently created client. + - Choose `Access Token Type` as `JWT Access Token (RFC9068)` and click on `save` button. + - Go to `settings` section. + - Set `Refresh Token Expire Time` to `Never`. - Save - - Copy the Client ID and Client secret (you will need these later in OpenProject and integration_openproject) + - Copy the Client ID and Client secret (you will need these later in OpenProject and integration_openproject). -#### B.1.2. Add Nextcloud IDP in OpenProject +#### B.1.2. Add Nextcloud IDP in OpenProject (Without project folder setup) - [ ] In OpenProject, go to `Administration > Authentication > OpenID providers` - [ ] Add a new custom OpenID provider: - Display name: `nextcloud` (use this name as redirect URL in Nextcloud: ) - Discovery URL: `/index.php/.well-known/openid-configuration` - Client ID: Client ID copied earlier from Nextcloud - Client secret: Client secret copied earlier from Nextcloud -- [ ] Go to `Administration > Files` -- [ ] Select the file storage type called Nextcloud (created earlier in previous test) -- [ ] Under `OAuth configuration`, select `Use access token obtained during user log in` + - Choose other option by default and click on `save` +- [ ] Then, go to `Administration > Files` +- [ ] Create a file storage type `Nextcloud` by clicking the button `+ Storage` and choosing `Nextcloud` +- [ ] Add name it as `Nextcloud`. +- [ ] Add Host as `` +- [ ] Choose authentication Method option as `Single-Sign-On through OpenID Connect Identity Provider`. +- [ ] Then, select the option `Use access token obtained during user log in`. +- [ ] Uncheck project folder (automatically managed folder). +- [ ] Click on button `Finish setup`. #### B.1.3. Setup integration (Without project folder setup) - [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud). @@ -164,7 +160,7 @@ bash integration_setup.sh - [ ] Should show user is connected as an OpenProject user. #### B.1.6. Complete the common smoke tests -- [ ] Complete [smoke tests 1-6](#common-smoke-test-steps). +- [ ] Complete [smoke tests 1-7](#common-smoke-test-steps). ### B.2: External Provider > Here, keycloak is an External Provider @@ -213,7 +209,7 @@ bash integration_setup.sh - [ ] Should show user is connected as an OpenProject user. #### B.2.6. Complete the common smoke tests -- [ ] Complete [smoke tests 1-6](#common-smoke-test-steps). +- [ ] Complete [smoke tests 1-7](#common-smoke-test-steps). #### B.2.7.Setup integration (token exchange enabled) - [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). @@ -235,7 +231,7 @@ bash integration_setup.sh - [ ] Should show user is connected as an OpenProject user. #### B.2.9. Complete the common smoke tests -- [ ] Complete [smoke tests 1-6](#common-smoke-test-steps). +- [ ] Complete [smoke tests 1-7](#common-smoke-test-steps). ### Check the integration script for sso setup (Nextcloud Hub) @@ -381,12 +377,25 @@ bash integration_oidc_setup.sh - [ ] Now as an `OpenProject` admin, assign any of the `Demo Project` work packages to the created `OpenProject` user. - [ ] The `Nextcloud` user should receive a notification regarding the assignment. -### 6. Check New folder with automatically managed permissions in OpenProject +#### 6. Setup and check project folder in Nextcloud (with project folder setup) +- [ ] Enable `groupfolders` application in `Nextcloud`. +- [ ] Enable `Automatically managed folders` switch in admin setting and set project folder. +- [ ] Application password should be generated. +- [ ] Verify that `OpenProject` user and group are created with user `OpenProject` as sub-admin of the group. +- [ ] Verify that `OpenProjectNoAutomaticProjectFolders` group is also created with user `OpenProject` as sub-admin. +- [ ] Try deleting `OpenProject` user and group, those should not be deleted. +- [ ] Try deleting `OpenProjectNoAutomaticProjectFolders` group, it should not be possible to delete. +- [ ] Test group management (as user `OpenProject`): + - Login as `OpenProject` user + - Add a test user `user1` to the `OpenProject` group + - Remove `user1` from the `OpenProject` group + - Verify that `user1` is automatically moved to the `OpenProjectNoAutomaticProjectFolders` group + +### 7. Check New folder with automatically managed permissions in OpenProject - [ ] Navigate to `Demo Project > Work Packages` and double click any one of the work packages available. - [ ] Navigate to `Files` tab, click `link existing files`. - [ ] In a modal, `Nextcloud > OpenProject > Demo project(1)` should be visible. - [ ] Also Navigate to `Nextcloud` and in Files `OpenProject > Demo project(1)` folder is created. -- [ ] Try to delete `OpenProject` or `OpenProject > Demo project(1)`. They should not be deleted. ## App Upgrade Testing From daae5eda2d9703f39fcacf1604ec9a33c49b61b5 Mon Sep 17 00:00:00 2001 From: nabim777 Date: Wed, 29 Apr 2026 13:16:08 +0545 Subject: [PATCH 2/6] review addresses Signed-off-by: nabim777 --- docs/testing/smoke_testing.md | 77 +++++++++++++++++++++-------------- 1 file changed, 46 insertions(+), 31 deletions(-) diff --git a/docs/testing/smoke_testing.md b/docs/testing/smoke_testing.md index 86cae3893..8485011d0 100644 --- a/docs/testing/smoke_testing.md +++ b/docs/testing/smoke_testing.md @@ -35,12 +35,21 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t ## Section A: Two-Way OAuth 2.0 Authorization Code Flow ### A1. Oauth configuration -- [ ] In `OpenProject`, navigate to `Administration > Files`. -- [ ] Create a file storage type `Nextcloud` and name it as `Nextcloud` in `OpenProject`. -- [ ] In admin setting of `Nextcloud`, navigate to `Administration Settings > OpenProject`. -- [ ] Copy `OpenProject` Oauth Credential (client_id and client_secret) and save them in `Nextcloud`. -- [ ] Copy `Nextcloud` Oauth Credential (client_id and client_secret) and save them in `OpenProject`. -- [ ] Disable project folder (automatically managed folder). +- [ ] Keep two browser tabs open: one for `OpenProject` and one for `Nextcloud`. +- [ ] In `OpenProject`, navigate to `Administration > Files` and add a new `Nextcloud` storage: + - Add name to `Nextcloud` and host to ``. + - Select `Two-way OAuth 2.0 authorization code flow` as the authentication method. + - Click `Save and Continue` — note the generated `OpenProject OAuth Client ID` and `Client Secret`. +- [ ] In `Nextcloud`, navigate to `Administration Settings > OpenProject`: + - Set `OpenProject server` to ``. + - Select `Two-way OAuth 2.0 authorization code flow` as the authentication method. + - Enter the `OpenProject OAuth Client ID` and `Client Secret` copied from the previous step. + - Click `Save` — note the generated `Nextcloud OAuth Client ID` and `Client Secret`. +- [ ] Back in `OpenProject` + - Enter the `Nextcloud OAuth Client ID` and `Client Secret`, then click `Save and Continue`. + - Uncheck the `Automatically managed folders` and click on `Finish setup` +- [ ] Back in `Nextcloud`, click `Yes, I have copied these values`. +- [ ] Disable `Automatically managed project folders` and click `Complete without Project Folders`. ### A2. Connect Nextcloud with OpenProject @@ -53,17 +62,16 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t ### A3. Add File storage (Nextcloud) to an OpenProject project - [ ] Complete step [Test No A1](#a1-oauth-configuration). -- [ ] Select an `OpenProject` Project (for example, `Demo Project`) in `OpenProject`. +- [ ] As a user `admin`, select any `OpenProject` Project (for example, `Demo Project`) in `OpenProject`. - [ ] Navigate to `Project settings > Files` of `Demo Project`. - [ ] Add a file storage name `Nextcloud`( choose `No specific Folder` option ) for `Demo Project`. ### A4. Connect OpenProject with Nextcloud - [ ] Complete step [Test No A1](#a1-oauth-configuration). - [ ] Complete step [Test No A3](#A3-Add-File-storage-Nextcloud-to-an-OpenProject-project). -- [ ] Navigate to `Demo Project > Work Packages` and double click any one of the work packages available. +- [ ] As a user `admin`, navigate to `Demo Project > Work Packages` and open any work package by clicking its ID. - [ ] Navigate to `Files` tab, and login to `Nextcloud`. - [ ] `OpenProject` admin is connected to `Nextcloud` as a `Nextcloud` admin. -- [ ] Also, create a user in both `Nextcloud` as well as `OpenProject`. - [ ] Add the created `OpenProject` user as the member of `Demo Project` project (admin can add members to a project). - [ ] Try to connect the created `OpenProject` user as created `Nextcloud` user. - [ ] `OpenProject` user should be connected as a `Nextcloud` user. @@ -94,18 +102,21 @@ bash integration_setup.sh ## Section B: Single-Sign-On through OpenID Connect Identity Provider +> **Note**: `OpenProject` must be an Enterprise edition to use SSO setup. + ### B.1: Nextcloud Hub as IDP #### B.1.1. Configure Nextcloud -- [ ] In Nextcloud, install and enable `oidc` and `user_oidc` apps. +- [ ] In Nextcloud, install and enable `OIDC Identity Provider`(`oidc`) and `OpenID Connect user backend`(`user_oidc`) apps. - [ ] Create a new user( with username, display name, password, and email) - [ ] Run following command: - `php occ config:system:set user_oidc --type boolean --value="true" oidc_provider_bearer_validation` + - Note: This enables bearer token validation for `user_oidc`. Without it, login or connection may fail. This may also be missing during local setups. - [ ] Go to `Administration > OpenID Connect` and enable `store login tokens` option. - [ ] Go to `Administation > OpenID Connect Provider` - Click the button `+ Add client`: - Add a client name (not an identifier) such as `openproject` - - Add a redirect URL (/auth/oidc-/callback) + - Add a redirect URL (/auth/oidc-/callback) - Choose Signing Algorithm option as `RS246`. - Choose Client Type as `Confidential` and click on `Add` button. - After clicking `add` button, click on recently created client. @@ -118,11 +129,11 @@ bash integration_setup.sh #### B.1.2. Add Nextcloud IDP in OpenProject (Without project folder setup) - [ ] In OpenProject, go to `Administration > Authentication > OpenID providers` - [ ] Add a new custom OpenID provider: - - Display name: `nextcloud` (use this name as redirect URL in Nextcloud: ) + - Display name: `nextcloud` (use this name as redirect URL in Nextcloud: ) - Discovery URL: `/index.php/.well-known/openid-configuration` - Client ID: Client ID copied earlier from Nextcloud - Client secret: Client secret copied earlier from Nextcloud - - Choose other option by default and click on `save` + - Keep all other options as default and click on `save`. - [ ] Then, go to `Administration > Files` - [ ] Create a file storage type `Nextcloud` by clicking the button `+ Storage` and choosing `Nextcloud` - [ ] Add name it as `Nextcloud`. @@ -139,6 +150,7 @@ bash integration_setup.sh - [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] In `Authentication settings`, select `provider Type` as `Nextcloud Hub`. - [ ] Set Openproject `client ID` by Client ID copied earlier in **Test No B1**. +- [ ] Uncheck `project folder (automatically managed folder)` #### B.1.4. Login to OpenProject using Nextcloud user - [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud) @@ -175,7 +187,7 @@ bash integration_setup.sh - Identifier: `keycloak` - Client ID: nextcloud client id from keycloak - Client Secret: nextcloud client secret from keycloak - - Discovery endpoint: `/realms//.well-known/openid-configuration` + - Discovery endpoint: `/realms//.well-known/openid-configuration` (for example realm name can be `opnc`) - Scope: `openid email profile api_v3` - submit - [ ] Login as keycloak-created user in `Nextcloud`. @@ -183,27 +195,25 @@ bash integration_setup.sh - [ ] Logout #### B.2.3. Add Keycloak IDP in OpenProject -- [ ] In **OpenProject**, go to `Administration > Authentication > OpenID providers` +- [ ] As an user `admin`, go to `Administration > Authentication > OpenID providers` - [ ] Add a new custom OpenID provider: - Display name: `keycloak` - Discovery URL: `/realms//.well-known/openid-configuration` - Client ID: Client ID of openproject from keycloak - Client secret: Client secret of openproject from keycloak +- [ ] Navigate to `Project settings > Files` of a project (for example, `Demo Project`) and add `Nextcloud` as a file storage. - [ ] Login as keycloak-created user in `Openproject`. - [ ] Log out, then Login as admin in `Openproject`. - [ ] As an `OpenProject` admin, add keycloak-created user as a member in one of the project. -#### B.2.4. Setup integration (token exchange disabled) -- [ ] In nextcloud, go to `Administration > OpenProject`. +#### B.2.4. Setup integration (token exchange disabled) in Nexcloud +- [ ] As an `admin` user, go to `Administration > OpenProject`. - [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] In `Authentication settings`, select `provider Type` as `Keycloak`. - [ ] Disable `token exchange` #### B.2.5. Verify Connection in nextcloud -- [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). -- [ ] Complete step [Test No B.2.2](#b22-Configure-Nextcloud). -- [ ] Complete step [Test No B.2.3](#b23-Add-Keycloak-IDP-in-OpenProject). -- [ ] Complete step [Test No B.2.4](#b24-Setup-integration-token-exchange-disabled). +- [ ] first, Complete steps **B.2.1** to **B.2.4**. - [ ] In nextcloud, login as keycloak-created user. - [ ] Navigate to `Settings > Openproject` - [ ] Should show user is connected as an OpenProject user. @@ -343,8 +353,8 @@ bash integration_oidc_setup.sh ## Common Smoke Test Steps -### 1. Link/Unlink a work package for a file/folder in Nextcloud -- [ ] In openproject, Select a file, navigate to sidebar `OpenProject` tab. +### 1. Link/Unlink a work package for a file/folder in Openproject +- [ ] Select a file, navigate to sidebar `OpenProject` tab. - [ ] Search for any of the work packages in the `Demo Project`. - [ ] Work packages are listed. - [ ] Link to any one of the work packages appeared in the search lists. @@ -354,19 +364,20 @@ bash integration_oidc_setup.sh - [ ] Unlink a work package and it should be deleted from the `OpenProject` Tab with a successful message. ### 2. Link/Unlink a work package for a file/folder from OpenProject -- [ ] Navigate to `Demo Project > Work Packages` and double click any one of the work packages available. +- [ ] In Openproject, navigate to `Demo Project > Work Packages` and double click any one of the work packages available. - [ ] Navigate to `Files` tab, click `link existing files`, select available files (for example, welcome.txt) from Nextcloud and link it to the work package. - [ ] Selected file is linked to the work package in `OpenProject` - [ ] Also Navigate to nextcloud and see in the `OpenProject` tab for file (welcome.txt), the work package should be linked. ### 3. Direct upload file/folder from OpenProject to Nextcloud -- [ ] Navigate to `Demo Project > Work Packages` and double click any one of the work packages available. +- [ ] In Openproject, navigate to `Demo Project > Work Packages` and double click any one of the work packages available. - [ ] Navigate to `Files` tab, click `Upload files`, select available files from your local system (for example, local.txt) and upload choosing the upload location. - [ ] Uploaded file is linked to the work package in `OpenProject` - [ ] Also Navigate to `Nextcloud` and see in the `OpenProject` tab for file (local.txt), the work package should be linked. ### 4. Create a WorkPackage from Nextcloud -- [ ] Open the form to create work package from Nextcloud in the `OpenProject` tab for a file/folder. +- [ ] In `Nextcloud`, select a file amd open the sidebar `OpenProject` tab. +- [ ] Click `Create and link new work package`. - [ ] Select `Demo Project`, fill up the modal form and create. - [ ] Work package should be created and linked to the selected file. @@ -378,12 +389,12 @@ bash integration_oidc_setup.sh - [ ] The `Nextcloud` user should receive a notification regarding the assignment. #### 6. Setup and check project folder in Nextcloud (with project folder setup) -- [ ] Enable `groupfolders` application in `Nextcloud`. +- [ ] Enable `teamfolders` application in `Nextcloud`. - [ ] Enable `Automatically managed folders` switch in admin setting and set project folder. -- [ ] Application password should be generated. -- [ ] Verify that `OpenProject` user and group are created with user `OpenProject` as sub-admin of the group. +- [ ] Application password should be generated (copy this password as this will be needed in the next step). +- [ ] Verify that `OpenProject` user and `OpenProject` group are created with user `OpenProject` as sub-admin of the group. - [ ] Verify that `OpenProjectNoAutomaticProjectFolders` group is also created with user `OpenProject` as sub-admin. -- [ ] Try deleting `OpenProject` user and group, those should not be deleted. +- [ ] Try deleting `OpenProject` user and `OpenProject` group, those should not be deleted. - [ ] Try deleting `OpenProjectNoAutomaticProjectFolders` group, it should not be possible to delete. - [ ] Test group management (as user `OpenProject`): - Login as `OpenProject` user @@ -391,7 +402,11 @@ bash integration_oidc_setup.sh - Remove `user1` from the `OpenProject` group - Verify that `user1` is automatically moved to the `OpenProjectNoAutomaticProjectFolders` group -### 7. Check New folder with automatically managed permissions in OpenProject +### 7. Setup and Check New folder with automatically managed permissions in OpenProject +- [ ] In `OpenProject`, navigate to `Administration > Files > Nextcloud`. +- [ ] On `Automatically managed folders` section, click on Edit. +- [ ] Enable the `Automatically managed folders` option. +- [ ] Enter the application password generated from `Nextcloud` and click on `Finish setup`. - [ ] Navigate to `Demo Project > Work Packages` and double click any one of the work packages available. - [ ] Navigate to `Files` tab, click `link existing files`. - [ ] In a modal, `Nextcloud > OpenProject > Demo project(1)` should be visible. From 500bf680b6a765995dcae4b6b17eb7ee9dfd7921 Mon Sep 17 00:00:00 2001 From: nabim777 Date: Tue, 19 May 2026 11:01:08 +0545 Subject: [PATCH 3/6] ci: add some missing steps Signed-off-by: nabim777 --- docs/testing/smoke_testing.md | 49 +++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/docs/testing/smoke_testing.md b/docs/testing/smoke_testing.md index 8485011d0..04ce89af6 100644 --- a/docs/testing/smoke_testing.md +++ b/docs/testing/smoke_testing.md @@ -36,11 +36,11 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t ### A1. Oauth configuration - [ ] Keep two browser tabs open: one for `OpenProject` and one for `Nextcloud`. -- [ ] In `OpenProject`, navigate to `Administration > Files` and add a new `Nextcloud` storage: - - Add name to `Nextcloud` and host to ``. +- [ ] In `OpenProject`, as an `admin` navigate to `Administration > Files` and add a new `Nextcloud` storage: + - Add name to `Nextcloud` and host to ``. - Select `Two-way OAuth 2.0 authorization code flow` as the authentication method. - Click `Save and Continue` — note the generated `OpenProject OAuth Client ID` and `Client Secret`. -- [ ] In `Nextcloud`, navigate to `Administration Settings > OpenProject`: +- [ ] In `Nextcloud`, as an `admin` navigate to `Administration Settings > OpenProject`: - Set `OpenProject server` to ``. - Select `Two-way OAuth 2.0 authorization code flow` as the authentication method. - Enter the `OpenProject OAuth Client ID` and `Client Secret` copied from the previous step. @@ -73,6 +73,7 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t - [ ] Navigate to `Files` tab, and login to `Nextcloud`. - [ ] `OpenProject` admin is connected to `Nextcloud` as a `Nextcloud` admin. - [ ] Add the created `OpenProject` user as the member of `Demo Project` project (admin can add members to a project). +- [ ] Login as created user in both openproject and nextcloud - [ ] Try to connect the created `OpenProject` user as created `Nextcloud` user. - [ ] `OpenProject` user should be connected as a `Nextcloud` user. @@ -107,17 +108,19 @@ bash integration_setup.sh ### B.1: Nextcloud Hub as IDP #### B.1.1. Configure Nextcloud -- [ ] In Nextcloud, install and enable `OIDC Identity Provider`(`oidc`) and `OpenID Connect user backend`(`user_oidc`) apps. +- [ ] In Nextcloud, login as admin. +- [ ] Install and enable `OIDC Identity Provider`(`oidc`) and `OpenID Connect user backend`(`user_oidc`) apps. - [ ] Create a new user( with username, display name, password, and email) -- [ ] Run following command: - - `php occ config:system:set user_oidc --type boolean --value="true" oidc_provider_bearer_validation` - - Note: This enables bearer token validation for `user_oidc`. Without it, login or connection may fail. This may also be missing during local setups. +- [ ] Check whether `oidc_provider_bearer_validation` exists and is set to `true` by running `php occ config:list`. + > **Note:** This requires the OIDC Identity Provider app >= v1.4.0 . Access tokens and JWT tokens can be validated. + - [ ] If the setting does not exist or is set to `false`, run: + - `php occ config:system:set user_oidc --type boolean --value="true" oidc_provider_bearer_validation` - [ ] Go to `Administration > OpenID Connect` and enable `store login tokens` option. - [ ] Go to `Administation > OpenID Connect Provider` - Click the button `+ Add client`: - Add a client name (not an identifier) such as `openproject` - - Add a redirect URL (/auth/oidc-/callback) - - Choose Signing Algorithm option as `RS246`. + - Add a redirect URL : `/auth/oidc-/callback` + - Choose Signing Algorithm option as `RS256`. - Choose Client Type as `Confidential` and click on `Add` button. - After clicking `add` button, click on recently created client. - Choose `Access Token Type` as `JWT Access Token (RFC9068)` and click on `save` button. @@ -127,7 +130,8 @@ bash integration_setup.sh - Copy the Client ID and Client secret (you will need these later in OpenProject and integration_openproject). #### B.1.2. Add Nextcloud IDP in OpenProject (Without project folder setup) -- [ ] In OpenProject, go to `Administration > Authentication > OpenID providers` +- [ ] In OpenProject, login as admin. +- [ ] Go to `Administration > Authentication > OpenID providers` - [ ] Add a new custom OpenID provider: - Display name: `nextcloud` (use this name as redirect URL in Nextcloud: ) - Discovery URL: `/index.php/.well-known/openid-configuration` @@ -146,7 +150,8 @@ bash integration_setup.sh #### B.1.3. Setup integration (Without project folder setup) - [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud). - [ ] Complete step [Test No B.1.2](#B12-Add-Nextcloud-Idp-in-OpenProject). -- [ ] In nextcloud, go to `Administration > OpenProject`. +- [ ] In nextcloud, as admin go to `Administration > OpenProject`. +- [ ] Add openproject host. - [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] In `Authentication settings`, select `provider Type` as `Nextcloud Hub`. - [ ] Set Openproject `client ID` by Client ID copied earlier in **Test No B1**. @@ -195,16 +200,26 @@ bash integration_setup.sh - [ ] Logout #### B.2.3. Add Keycloak IDP in OpenProject -- [ ] As an user `admin`, go to `Administration > Authentication > OpenID providers` +- [ ] In openproject as an user `admin`, go to `Administration > Authentication > OpenID providers` - [ ] Add a new custom OpenID provider: - Display name: `keycloak` - Discovery URL: `/realms//.well-known/openid-configuration` - - Client ID: Client ID of openproject from keycloak + - Client ID: Client ID of openproject provided by keycloak in the realm. - Client secret: Client secret of openproject from keycloak +- [ ] go to Administration > Files + - [ ] Create a file storage type Nextcloud by clicking the button `+ Storage` and choosing Nextcloud + - [ ] Add name as Nextcloud. + - [ ] Add Host as `` + - [ ] Choose authentication Method option as Single-Sign-On through OpenID Connect Identity Provider. + - [ ] Then, select the option `Use access token obtained during user log in`. + - [ ] Uncheck project folder (automatically managed folder). + - [ ] Click on button `Finish setup`. - [ ] Navigate to `Project settings > Files` of a project (for example, `Demo Project`) and add `Nextcloud` as a file storage. -- [ ] Login as keycloak-created user in `Openproject`. -- [ ] Log out, then Login as admin in `Openproject`. -- [ ] As an `OpenProject` admin, add keycloak-created user as a member in one of the project. +- [ ] In Keycloak, go to the user management section. For example, if your realm name is `opnc`, navigate to: `opnc > Users` +- [ ] Then create a user. +- [ ] In `Openproject`, login as keycloak-created user . +- [ ] In `Openproject`, log out, then Login as admin . +- [ ] As an `OpenProject` admin, add keycloak-created user as a member in one of the project (for example, `Demo Project`). #### B.2.4. Setup integration (token exchange disabled) in Nexcloud - [ ] As an `admin` user, go to `Administration > OpenProject`. @@ -229,7 +244,7 @@ bash integration_setup.sh - [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider` - [ ] In `Authentication settings`, select `provider Type` as `Keycloak` - [ ] Enable `token exchange` -- [ ] Set `OpenProject client ID *` as `Openproject` +- [ ] Set `OpenProject client ID *` as `openproject` #### B.2.8. Verify Connection in nextcloud - [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). From 7f9e622e6adb87fcaf30a512ef283086157310e6 Mon Sep 17 00:00:00 2001 From: nabim777 Date: Fri, 22 May 2026 15:53:51 +0545 Subject: [PATCH 4/6] ci: add missing fullstop Signed-off-by: nabim777 --- docs/testing/smoke_testing.md | 132 +++++++++++++++++----------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/docs/testing/smoke_testing.md b/docs/testing/smoke_testing.md index 04ce89af6..ada49cebf 100644 --- a/docs/testing/smoke_testing.md +++ b/docs/testing/smoke_testing.md @@ -36,18 +36,18 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t ### A1. Oauth configuration - [ ] Keep two browser tabs open: one for `OpenProject` and one for `Nextcloud`. -- [ ] In `OpenProject`, as an `admin` navigate to `Administration > Files` and add a new `Nextcloud` storage: +- [ ] In `OpenProject`, as a user `admin`, navigate to `Administration > Files` and add a new `Nextcloud` storage: - Add name to `Nextcloud` and host to ``. - Select `Two-way OAuth 2.0 authorization code flow` as the authentication method. - Click `Save and Continue` — note the generated `OpenProject OAuth Client ID` and `Client Secret`. -- [ ] In `Nextcloud`, as an `admin` navigate to `Administration Settings > OpenProject`: +- [ ] In `Nextcloud`, as a user `admin`, navigate to `Administration Settings > OpenProject`: - Set `OpenProject server` to ``. - Select `Two-way OAuth 2.0 authorization code flow` as the authentication method. - Enter the `OpenProject OAuth Client ID` and `Client Secret` copied from the previous step. - Click `Save` — note the generated `Nextcloud OAuth Client ID` and `Client Secret`. -- [ ] Back in `OpenProject` +- [ ] Back in `OpenProject`: - Enter the `Nextcloud OAuth Client ID` and `Client Secret`, then click `Save and Continue`. - - Uncheck the `Automatically managed folders` and click on `Finish setup` + - Uncheck the `Automatically managed folders` and click on `Finish setup`. - [ ] Back in `Nextcloud`, click `Yes, I have copied these values`. - [ ] Disable `Automatically managed project folders` and click `Complete without Project Folders`. @@ -73,7 +73,7 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t - [ ] Navigate to `Files` tab, and login to `Nextcloud`. - [ ] `OpenProject` admin is connected to `Nextcloud` as a `Nextcloud` admin. - [ ] Add the created `OpenProject` user as the member of `Demo Project` project (admin can add members to a project). -- [ ] Login as created user in both openproject and nextcloud +- [ ] Login as created user in both openproject and nextcloud. - [ ] Try to connect the created `OpenProject` user as created `Nextcloud` user. - [ ] `OpenProject` user should be connected as a `Nextcloud` user. @@ -82,7 +82,7 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t ### A7. Check the integration script for oauth set up -> Before Running the script make sure that your `Nextcloud` and `OpenProject` instance is up and running +> Before running the script, make sure that your `Nextcloud` and `OpenProject` instances are up and running. - [ ] Run the `integration_setup.sh` script to set up integration without project folder with the following command: ```bash @@ -108,40 +108,40 @@ bash integration_setup.sh ### B.1: Nextcloud Hub as IDP #### B.1.1. Configure Nextcloud -- [ ] In Nextcloud, login as admin. +- [ ] In `Nextcloud`, log in as a user `admin`. - [ ] Install and enable `OIDC Identity Provider`(`oidc`) and `OpenID Connect user backend`(`user_oidc`) apps. -- [ ] Create a new user( with username, display name, password, and email) +- [ ] Create a new user( with username, display name, password, and email). - [ ] Check whether `oidc_provider_bearer_validation` exists and is set to `true` by running `php occ config:list`. > **Note:** This requires the OIDC Identity Provider app >= v1.4.0 . Access tokens and JWT tokens can be validated. - [ ] If the setting does not exist or is set to `false`, run: - `php occ config:system:set user_oidc --type boolean --value="true" oidc_provider_bearer_validation` - [ ] Go to `Administration > OpenID Connect` and enable `store login tokens` option. -- [ ] Go to `Administation > OpenID Connect Provider` - - Click the button `+ Add client`: - - Add a client name (not an identifier) such as `openproject` - - Add a redirect URL : `/auth/oidc-/callback` +- [ ] Go to `Administation > OpenID Connect Provider`. + - Click the button `+ Add client`. + - Add a client name (not an identifier) such as `openproject`. + - Add a redirect URL: `/auth/oidc-/callback`. - Choose Signing Algorithm option as `RS256`. - Choose Client Type as `Confidential` and click on `Add` button. - - After clicking `add` button, click on recently created client. + - After clicking `add` button, click on the recently created client. - Choose `Access Token Type` as `JWT Access Token (RFC9068)` and click on `save` button. - Go to `settings` section. - Set `Refresh Token Expire Time` to `Never`. - - Save + - Save. - Copy the Client ID and Client secret (you will need these later in OpenProject and integration_openproject). #### B.1.2. Add Nextcloud IDP in OpenProject (Without project folder setup) -- [ ] In OpenProject, login as admin. -- [ ] Go to `Administration > Authentication > OpenID providers` +- [ ] In `OpenProject`, log in as a user `admin`. +- [ ] Go to `Administration > Authentication > OpenID providers`. - [ ] Add a new custom OpenID provider: - - Display name: `nextcloud` (use this name as redirect URL in Nextcloud: ) + - Display name: `nextcloud` (use this name as redirect URL in Nextcloud: ) - Discovery URL: `/index.php/.well-known/openid-configuration` - Client ID: Client ID copied earlier from Nextcloud - Client secret: Client secret copied earlier from Nextcloud - Keep all other options as default and click on `save`. -- [ ] Then, go to `Administration > Files` -- [ ] Create a file storage type `Nextcloud` by clicking the button `+ Storage` and choosing `Nextcloud` +- [ ] Then, go to `Administration > Files`. +- [ ] Create a file storage type `Nextcloud` by clicking the button `+ Storage` and choosing `Nextcloud`. - [ ] Add name it as `Nextcloud`. -- [ ] Add Host as `` +- [ ] Add Host as ``. - [ ] Choose authentication Method option as `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] Then, select the option `Use access token obtained during user log in`. - [ ] Uncheck project folder (automatically managed folder). @@ -150,15 +150,15 @@ bash integration_setup.sh #### B.1.3. Setup integration (Without project folder setup) - [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud). - [ ] Complete step [Test No B.1.2](#B12-Add-Nextcloud-Idp-in-OpenProject). -- [ ] In nextcloud, as admin go to `Administration > OpenProject`. +- [ ] In `Nextcloud`, as a user `admin`, go to `Administration > OpenProject`. - [ ] Add openproject host. - [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] In `Authentication settings`, select `provider Type` as `Nextcloud Hub`. - [ ] Set Openproject `client ID` by Client ID copied earlier in **Test No B1**. -- [ ] Uncheck `project folder (automatically managed folder)` +- [ ] Uncheck `project folder (automatically managed folder)`. #### B.1.4. Login to OpenProject using Nextcloud user -- [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud) +- [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud). - [ ] Complete step [Test No B.1.2](#B12-Add-Nextcloud-Idp-in-OpenProject). - [ ] Complete step [Test No B.1.3](#b13-Setup-integration-Without-project-folder-setup). - [ ] In `nextcloud`, login as nextcloud-created user. @@ -173,7 +173,7 @@ bash integration_setup.sh - [ ] Complete step [Test No B.1.3](#b13-Setup-integration-Without-project-folder-setup). - [ ] Complete step [Test No B.1.4](#b14-Login-to-OpenProject-using-Nextcloud-user). - [ ] In nextcloud, login as nextcloud-created user. -- [ ] Navigate to `Settings > Openproject` +- [ ] Navigate to `Settings > Openproject`. - [ ] Should show user is connected as an OpenProject user. #### B.1.6. Complete the common smoke tests @@ -183,10 +183,10 @@ bash integration_setup.sh > Here, keycloak is an External Provider #### B.2.1. Configure Keycloak -- [ ] Set up Keycloak using this guide: [Keycloak Setup](https://www.openproject-edge.com/docs/system-admin-guide/integrations/nextcloud/oidc-sso/#keycloak) +- [ ] Set up Keycloak using this guide: [Keycloak Setup](https://www.openproject-edge.com/docs/system-admin-guide/integrations/nextcloud/oidc-sso/#keycloak). #### B.2.2. Configure Nextcloud -- [ ] In **nextcloud**, go to `Administration > OpenID Connect`. +- [ ] In **nextcloud**, as an admin go to `Administration > OpenID Connect`. - [ ] Enable `store login tokens` options. - [ ] Register a new providers with following data: - Identifier: `keycloak` @@ -196,41 +196,41 @@ bash integration_setup.sh - Scope: `openid email profile api_v3` - submit - [ ] Login as keycloak-created user in `Nextcloud`. -- [ ] Login Should be successful -- [ ] Logout +- [ ] Login Should be successful. +- [ ] Logout. #### B.2.3. Add Keycloak IDP in OpenProject -- [ ] In openproject as an user `admin`, go to `Administration > Authentication > OpenID providers` +- [ ] In `OpenProject`, as a user `admin`, go to `Administration > Authentication > OpenID providers`. - [ ] Add a new custom OpenID provider: - Display name: `keycloak` - Discovery URL: `/realms//.well-known/openid-configuration` - Client ID: Client ID of openproject provided by keycloak in the realm. - Client secret: Client secret of openproject from keycloak -- [ ] go to Administration > Files - - [ ] Create a file storage type Nextcloud by clicking the button `+ Storage` and choosing Nextcloud - - [ ] Add name as Nextcloud. +- [ ] Go to Administration > Files. + - [ ] Create a file storage type `Nextcloud` by clicking the button `+ Storage` and choosing Nextcloud + - [ ] Add name as `Nextcloud`. - [ ] Add Host as `` - [ ] Choose authentication Method option as Single-Sign-On through OpenID Connect Identity Provider. - [ ] Then, select the option `Use access token obtained during user log in`. - [ ] Uncheck project folder (automatically managed folder). - [ ] Click on button `Finish setup`. - [ ] Navigate to `Project settings > Files` of a project (for example, `Demo Project`) and add `Nextcloud` as a file storage. -- [ ] In Keycloak, go to the user management section. For example, if your realm name is `opnc`, navigate to: `opnc > Users` +- [ ] In Keycloak, go to the user management section. For example, if your realm name is `opnc`, navigate to: `opnc > Users`. - [ ] Then create a user. - [ ] In `Openproject`, login as keycloak-created user . -- [ ] In `Openproject`, log out, then Login as admin . +- [ ] In `OpenProject`, log out, then log in as a user `admin`. - [ ] As an `OpenProject` admin, add keycloak-created user as a member in one of the project (for example, `Demo Project`). #### B.2.4. Setup integration (token exchange disabled) in Nexcloud -- [ ] As an `admin` user, go to `Administration > OpenProject`. +- [ ] As a user `admin`, go to `Administration > OpenProject`. - [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] In `Authentication settings`, select `provider Type` as `Keycloak`. -- [ ] Disable `token exchange` +- [ ] Disable `token exchange`. #### B.2.5. Verify Connection in nextcloud - [ ] first, Complete steps **B.2.1** to **B.2.4**. - [ ] In nextcloud, login as keycloak-created user. -- [ ] Navigate to `Settings > Openproject` +- [ ] Navigate to `Settings > Openproject`. - [ ] Should show user is connected as an OpenProject user. #### B.2.6. Complete the common smoke tests @@ -240,11 +240,11 @@ bash integration_setup.sh - [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). - [ ] Complete step [Test No B.2.2](#b22-Configure-Nextcloud). - [ ] Complete step [Test No B.2.3](#b23-Add-Keycloak-IDP-in-OpenProject). -- [ ] Go to `Administration > OpenProject` in nextcloud -- [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider` -- [ ] In `Authentication settings`, select `provider Type` as `Keycloak` -- [ ] Enable `token exchange` -- [ ] Set `OpenProject client ID *` as `openproject` +- [ ] Go to `Administration > OpenProject` in nextcloud. +- [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider`. +- [ ] In `Authentication settings`, select `provider Type` as `Keycloak`. +- [ ] Enable `token exchange`. +- [ ] Set `OpenProject client ID *` as `openproject`. #### B.2.8. Verify Connection in nextcloud - [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). @@ -252,7 +252,7 @@ bash integration_setup.sh - [ ] Complete step [Test No B.2.3](#b23-Add-Keycloak-IDP-in-OpenProject). - [ ] Complete step [Test No B.2.5](#b25-Verify-Connection-in-nextcloud). - [ ] In nextcloud, login as keycloak-created user. -- [ ] Navigate to `settings > Openproject` +- [ ] Navigate to `settings > Openproject`. - [ ] Should show user is connected as an OpenProject user. #### B.2.9. Complete the common smoke tests @@ -260,7 +260,7 @@ bash integration_setup.sh ### Check the integration script for sso setup (Nextcloud Hub) -> Before Running the script make sure that your `Nextcloud` and `OpenProject` instance is up and running +> Before running the script, make sure that your `Nextcloud` and `OpenProject` instances are up and running. > If you're using Nextcloud as the Identity Provider (OIDC), make sure the following apps are installed and enabled in Nextcloud: > - oidc > - integration_openproject @@ -295,7 +295,7 @@ bash integration_oidc_setup.sh - [ ] Also, to set up the integration configuration with project folder setup, at first delete 'nextcloud' file storage from OpenProject. - [ ] In nextcloud, delete the `OpenProject` user, group and team folder from the nextcloud (if they exist). - [ ] Then, reset the Nextcloud config. -- [ ] set environment `SETUP_PROJECT_FOLDER=true` and run the script. +- [ ] Set environment `SETUP_PROJECT_FOLDER=true` and run the script. - [ ] Run the script again after it is already setup (Should not give any error). ### Check the integration script for sso setup (External provider without token exchange) @@ -329,12 +329,12 @@ bash integration_oidc_setup.sh - [ ] Also, to set up the integration configuration with project folder setup, at first delete 'nextcloud' file storage from OpenProject. - [ ] In nextcloud, delete the `OpenProject` user, group and team folder from the nextcloud (if they exist). - [ ] Then, reset the Nextcloud config. -- [ ] set environment `SETUP_PROJECT_FOLDER=true` and run the script. +- [ ] Set environment `SETUP_PROJECT_FOLDER=true` and run the script. - [ ] Run the script again after it is already setup (Should not give any error). ### Check the integration script for sso setup (External provider with token exchange) -> Before Running the below script make sure that you delete the 'nextcloud' file storage from OpenProject and reset the Nextcloud config. +> Before running the script below, make sure that you delete the 'nextcloud' file storage from OpenProject and reset the Nextcloud config. - [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). - [ ] Complete step [Test No B.2.2](#b22-Configure-Nextcloud). @@ -363,7 +363,7 @@ bash integration_oidc_setup.sh - [ ] Also, to set up the integration configuration with project folder setup, at first delete 'nextcloud' file storage from OpenProject. - [ ] In nextcloud, delete the `OpenProject` user, group and team folder from the nextcloud (if they exist). - [ ] Then, reset the Nextcloud config. -- [ ] set environment `SETUP_PROJECT_FOLDER=true` and run the script. +- [ ] Set environment `SETUP_PROJECT_FOLDER=true` and run the script. - [ ] Run the script again after it is already setup (Should not give any error). ## Common Smoke Test Steps @@ -381,13 +381,13 @@ bash integration_oidc_setup.sh ### 2. Link/Unlink a work package for a file/folder from OpenProject - [ ] In Openproject, navigate to `Demo Project > Work Packages` and double click any one of the work packages available. - [ ] Navigate to `Files` tab, click `link existing files`, select available files (for example, welcome.txt) from Nextcloud and link it to the work package. -- [ ] Selected file is linked to the work package in `OpenProject` +- [ ] Selected file is linked to the work package in `OpenProject`. - [ ] Also Navigate to nextcloud and see in the `OpenProject` tab for file (welcome.txt), the work package should be linked. ### 3. Direct upload file/folder from OpenProject to Nextcloud - [ ] In Openproject, navigate to `Demo Project > Work Packages` and double click any one of the work packages available. - [ ] Navigate to `Files` tab, click `Upload files`, select available files from your local system (for example, local.txt) and upload choosing the upload location. -- [ ] Uploaded file is linked to the work package in `OpenProject` +- [ ] Uploaded file is linked to the work package in `OpenProject`. - [ ] Also Navigate to `Nextcloud` and see in the `OpenProject` tab for file (local.txt), the work package should be linked. ### 4. Create a WorkPackage from Nextcloud @@ -411,7 +411,7 @@ bash integration_oidc_setup.sh - [ ] Verify that `OpenProjectNoAutomaticProjectFolders` group is also created with user `OpenProject` as sub-admin. - [ ] Try deleting `OpenProject` user and `OpenProject` group, those should not be deleted. - [ ] Try deleting `OpenProjectNoAutomaticProjectFolders` group, it should not be possible to delete. -- [ ] Test group management (as user `OpenProject`): +- [ ] Test group management (as a user `OpenProject`): - Login as `OpenProject` user - Add a test user `user1` to the `OpenProject` group - Remove `user1` from the `OpenProject` group @@ -431,9 +431,9 @@ bash integration_oidc_setup.sh ### Upgrade Steps -- [ ] **Check update is available**: `php occ app:update --showonly integration_openproject` -- [ ] **Run upgrade**: `php occ app:update --allow-unstable integration_openproject` -- [ ] **Verify upgrade**: Confirm no errors and version updated +- [ ] **Check update is available**: `php occ app:update --showonly integration_openproject`. +- [ ] **Run upgrade**: `php occ app:update --allow-unstable integration_openproject`. +- [ ] **Verify upgrade**: Confirm no errors and version updated. > **Important**: When upgrading from old versions, the upgrade might fail with "Undefined constant" error due to a known cache issue in Nextcloud. To fix this, please run the following commands: > @@ -445,28 +445,28 @@ bash integration_oidc_setup.sh ### Upgrade Test Cases #### Existing OAuth 2.0 Setup -- [ ] **Before upgrade**: Perform complete setup with OAuth2 method (Project folder enabled) -- [ ] Perform [Upgrade steps](#upgrade-steps) -- [ ] **After upgrade**: Check that the integration setup and other changes are preserved +- [ ] **Before upgrade**: Perform complete setup with OAuth2 method (Project folder enabled). +- [ ] Perform [Upgrade steps](#upgrade-steps). +- [ ] **After upgrade**: Check that the integration setup and other changes are preserved. #### Existing SSO Setup ##### Nextcloud Hub as IDP -- [ ] **Before upgrade**: Perform complete setup with sso method (Nextcloud Hub as IDP, Project folder enabled) -- [ ] Perform [Upgrade steps](#upgrade-steps) -- [ ] **After upgrade**: Check that the integration setup and other changes are preserved +- [ ] **Before upgrade**: Perform complete setup with sso method (Nextcloud Hub as IDP, Project folder enabled). +- [ ] Perform [Upgrade steps](#upgrade-steps). +- [ ] **After upgrade**: Check that the integration setup and other changes are preserved. #### External Provider (Keycloak) ##### Token Exchange Disabled -- [ ] **Before upgrade**: Perform complete setup with sso method (Keycloak as IDP, Token exchange disable, Project folder enabled) -- [ ] Perform [Upgrade steps](#upgrade-steps) -- [ ] **After upgrade**: Check that the integration setup and other changes are preserved +- [ ] **Before upgrade**: Perform complete setup with sso method (Keycloak as IDP, Token exchange disable, Project folder enabled). +- [ ] Perform [Upgrade steps](#upgrade-steps). +- [ ] **After upgrade**: Check that the integration setup and other changes are preserved. ##### Token Exchange Enabled -- [ ] **Before upgrade**: Perform complete setup with sso method (Keycloak as IDP, Token exchange enable, Project folder enabled) -- [ ] Perform [Upgrade steps](#upgrade-steps) -- [ ] **After upgrade**: Check that the integration setup and other changes are preserved +- [ ] **Before upgrade**: Perform complete setup with sso method (Keycloak as IDP, Token exchange enable, Project folder enabled). +- [ ] Perform [Upgrade steps](#upgrade-steps). +- [ ] **After upgrade**: Check that the integration setup and other changes are preserved. From d2b3a373b2153c02585eea0f798d2a2960e1dc6f Mon Sep 17 00:00:00 2001 From: nabim777 Date: Fri, 22 May 2026 16:22:56 +0545 Subject: [PATCH 5/6] add keycloak user description Signed-off-by: nabim777 --- docs/testing/smoke_testing.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/testing/smoke_testing.md b/docs/testing/smoke_testing.md index ada49cebf..986ba4108 100644 --- a/docs/testing/smoke_testing.md +++ b/docs/testing/smoke_testing.md @@ -215,9 +215,10 @@ bash integration_setup.sh - [ ] Uncheck project folder (automatically managed folder). - [ ] Click on button `Finish setup`. - [ ] Navigate to `Project settings > Files` of a project (for example, `Demo Project`) and add `Nextcloud` as a file storage. +- [ ] If you are using [Docker setup](../../dev/), default `Keycloak` users already exist (`alice` and `brian`, password: `1234`), so you can skip the user-creation steps below and go directly to step [B.2.4](#b24-setup-integration-token-exchange-disabled-in-nexcloud). - [ ] In Keycloak, go to the user management section. For example, if your realm name is `opnc`, navigate to: `opnc > Users`. - [ ] Then create a user. -- [ ] In `Openproject`, login as keycloak-created user . +- [ ] In `Openproject`, login as keycloak-created user. - [ ] In `OpenProject`, log out, then log in as a user `admin`. - [ ] As an `OpenProject` admin, add keycloak-created user as a member in one of the project (for example, `Demo Project`). From 9fb6e35111509d50b262fdf24b0c48252539737d Mon Sep 17 00:00:00 2001 From: nabim777 Date: Mon, 25 May 2026 15:09:49 +0545 Subject: [PATCH 6/6] docs: addresses review of copilot Signed-off-by: nabim777 --- docs/testing/smoke_testing.md | 126 +++++++++++++++++----------------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/docs/testing/smoke_testing.md b/docs/testing/smoke_testing.md index 986ba4108..c6d3c2aee 100644 --- a/docs/testing/smoke_testing.md +++ b/docs/testing/smoke_testing.md @@ -21,7 +21,7 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t - [4. Create a WorkPackage from Nextcloud](#4-create-a-workpackage-from-nextcloud) - [5. Check notification in `OpenProject` widget in Nextcloud](#5-check-notification-in-openproject-widget-in-nextcloud) - [6. Setup and check project folder in Nextcloud (with project folder setup)](#6-setup-and-check-project-folder-in-nextcloud-with-project-folder-setup) - - [7. Check New folder with automatically managed permissions in OpenProject](#7-check-new-folder-with-automatically-managed-permissions-in-openproject) + - [7. Setup and Check New folder with automatically managed permissions in OpenProject](#7-setup-and-check-new-folder-with-automatically-managed-permissions-in-openproject) - [App Upgrade Testing](#app-upgrade-testing) - [Upgrade Steps](#upgrade-steps) @@ -34,10 +34,10 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t ## Section A: Two-Way OAuth 2.0 Authorization Code Flow -### A1. Oauth configuration +### A1. OAuth configuration - [ ] Keep two browser tabs open: one for `OpenProject` and one for `Nextcloud`. - [ ] In `OpenProject`, as a user `admin`, navigate to `Administration > Files` and add a new `Nextcloud` storage: - - Add name to `Nextcloud` and host to ``. + - Add name to `Nextcloud` and host to ``. - Select `Two-way OAuth 2.0 authorization code flow` as the authentication method. - Click `Save and Continue` — note the generated `OpenProject OAuth Client ID` and `Client Secret`. - [ ] In `Nextcloud`, as a user `admin`, navigate to `Administration Settings > OpenProject`: @@ -54,7 +54,7 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t ### A2. Connect Nextcloud with OpenProject - [ ] Complete step [Test No A1](#a1-oauth-configuration). -- [ ] In `Nextcloud`, navigate to `Personal Settings > Openproject` and click on `Connect to OpenProject` button. +- [ ] In `Nextcloud`, navigate to `Personal Settings > OpenProject` and click on `Connect to OpenProject` button. - [ ] `Nextcloud` admin should be connected as an `OpenProject` admin. - [ ] Also, create a user in both `Nextcloud` as well as `OpenProject`. - [ ] From the personal section of the created user in `Nextcloud`, connect to `OpenProject`. @@ -68,35 +68,35 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t ### A4. Connect OpenProject with Nextcloud - [ ] Complete step [Test No A1](#a1-oauth-configuration). -- [ ] Complete step [Test No A3](#A3-Add-File-storage-Nextcloud-to-an-OpenProject-project). +- [ ] Complete step [Test No A3](#a3-add-file-storage-nextcloud-to-an-openproject-project). - [ ] As a user `admin`, navigate to `Demo Project > Work Packages` and open any work package by clicking its ID. - [ ] Navigate to `Files` tab, and login to `Nextcloud`. - [ ] `OpenProject` admin is connected to `Nextcloud` as a `Nextcloud` admin. - [ ] Add the created `OpenProject` user as the member of `Demo Project` project (admin can add members to a project). -- [ ] Login as created user in both openproject and nextcloud. +- [ ] Login as created user in both `OpenProject` and `Nextcloud`. - [ ] Try to connect the created `OpenProject` user as created `Nextcloud` user. - [ ] `OpenProject` user should be connected as a `Nextcloud` user. ### A5. Complete the common smoke tests - [ ] Complete [smoke tests 1-7](#common-smoke-test-steps). -### A7. Check the integration script for oauth set up +### A6. Check the integration script for oauth set up > Before running the script, make sure that your `Nextcloud` and `OpenProject` instances are up and running. - [ ] Run the `integration_setup.sh` script to set up integration without project folder with the following command: ```bash -SETUP_PROJECT_FOLDER=true \ +SETUP_PROJECT_FOLDER=false \ NEXTCLOUD_HOST= \ OPENPROJECT_HOST= \ OP_ADMIN_USERNAME=admin \ -OP_ADMIN_PASSWORD=admin \ -NC_ADMIN_USERNAME=admin \ -NC_ADMIN_PASSWORD=admin \ -OPENPROJECT_STORAGE_NAME=Nextcloud \ +OP_ADMIN_PASSWORD=admin \ +NC_ADMIN_USERNAME=admin \ +NC_ADMIN_PASSWORD=admin \ +OPENPROJECT_STORAGE_NAME=Nextcloud \ bash integration_setup.sh ``` -- [ ] Upon success, try step [Test No A2](#A2-Connect-Nextcloud-with-OpenProject) (Skip first check). +- [ ] Upon success, try step [Test No A2](#a2-connect-nextcloud-with-openproject) (Skip first check). - [ ] Upon success, try step [Test No A4](#a4-connect-openproject-with-nextcloud) (Skip first check). - [ ] Also, to set up the integration configuration with project folder setup, just set environment `SETUP_PROJECT_FOLDER=true` and run the script. - [ ] Re-run the script again after it is already setup (Should not give any error). @@ -110,13 +110,13 @@ bash integration_setup.sh #### B.1.1. Configure Nextcloud - [ ] In `Nextcloud`, log in as a user `admin`. - [ ] Install and enable `OIDC Identity Provider`(`oidc`) and `OpenID Connect user backend`(`user_oidc`) apps. -- [ ] Create a new user( with username, display name, password, and email). +- [ ] Create a new user ( with username, display name, password, and email). - [ ] Check whether `oidc_provider_bearer_validation` exists and is set to `true` by running `php occ config:list`. - > **Note:** This requires the OIDC Identity Provider app >= v1.4.0 . Access tokens and JWT tokens can be validated. + > **Note:** This requires the OIDC Identity Provider app >= v1.4.0. Access tokens and JWT tokens can be validated. - [ ] If the setting does not exist or is set to `false`, run: - `php occ config:system:set user_oidc --type boolean --value="true" oidc_provider_bearer_validation` - [ ] Go to `Administration > OpenID Connect` and enable `store login tokens` option. -- [ ] Go to `Administation > OpenID Connect Provider`. +- [ ] Go to `Administration > OpenID Connect Provider`. - Click the button `+ Add client`. - Add a client name (not an identifier) such as `openproject`. - Add a redirect URL: `/auth/oidc-/callback`. @@ -140,27 +140,27 @@ bash integration_setup.sh - Keep all other options as default and click on `save`. - [ ] Then, go to `Administration > Files`. - [ ] Create a file storage type `Nextcloud` by clicking the button `+ Storage` and choosing `Nextcloud`. -- [ ] Add name it as `Nextcloud`. -- [ ] Add Host as ``. -- [ ] Choose authentication Method option as `Single-Sign-On through OpenID Connect Identity Provider`. +- [ ] Set the name to `Nextcloud`. +- [ ] Set Host to ``. +- [ ] Set authentication Method to `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] Then, select the option `Use access token obtained during user log in`. - [ ] Uncheck project folder (automatically managed folder). - [ ] Click on button `Finish setup`. #### B.1.3. Setup integration (Without project folder setup) -- [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud). -- [ ] Complete step [Test No B.1.2](#B12-Add-Nextcloud-Idp-in-OpenProject). +- [ ] Complete step [Test No B.1.1](#b11-configure-nextcloud). +- [ ] Complete step [Test No B.1.2](#b12-add-nextcloud-idp-in-openproject-without-project-folder-setup). - [ ] In `Nextcloud`, as a user `admin`, go to `Administration > OpenProject`. - [ ] Add openproject host. - [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] In `Authentication settings`, select `provider Type` as `Nextcloud Hub`. -- [ ] Set Openproject `client ID` by Client ID copied earlier in **Test No B1**. +- [ ] Set OpenProject `client ID` by Client ID copied earlier in **Test No B1**. - [ ] Uncheck `project folder (automatically managed folder)`. #### B.1.4. Login to OpenProject using Nextcloud user - [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud). -- [ ] Complete step [Test No B.1.2](#B12-Add-Nextcloud-Idp-in-OpenProject). -- [ ] Complete step [Test No B.1.3](#b13-Setup-integration-Without-project-folder-setup). +- [ ] Complete step [Test No B.1.2](#b12-add-nextcloud-idp-in-openproject-without-project-folder-setup). +- [ ] Complete step [Test No B.1.3](#b13-setup-integration-without-project-folder-setup). - [ ] In `nextcloud`, login as nextcloud-created user. - [ ] In `openproject`, use the SSO button on the login page to sign in as the nextcloud-created user. - [ ] Login should be successful in `openproject`. @@ -169,11 +169,11 @@ bash integration_setup.sh #### B.1.5. Verify Connection of Nextcloud user with OpenProject - [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud). -- [ ] Complete step [Test No B.1.2](#B12-Add-Nextcloud-Idp-in-OpenProject). -- [ ] Complete step [Test No B.1.3](#b13-Setup-integration-Without-project-folder-setup). -- [ ] Complete step [Test No B.1.4](#b14-Login-to-OpenProject-using-Nextcloud-user). +- [ ] Complete step [Test No B.1.2](#b12-add-nextcloud-idp-in-openproject-without-project-folder-setup). +- [ ] Complete step [Test No B.1.3](#b13-setup-integration-without-project-folder-setup). +- [ ] Complete step [Test No B.1.4](#b14-login-to-openProject-using-nextcloud-user). - [ ] In nextcloud, login as nextcloud-created user. -- [ ] Navigate to `Settings > Openproject`. +- [ ] Navigate to `Settings > OpenProject`. - [ ] Should show user is connected as an OpenProject user. #### B.1.6. Complete the common smoke tests @@ -188,7 +188,7 @@ bash integration_setup.sh #### B.2.2. Configure Nextcloud - [ ] In **nextcloud**, as an admin go to `Administration > OpenID Connect`. - [ ] Enable `store login tokens` options. -- [ ] Register a new providers with following data: +- [ ] Register a new providers with the following data: - Identifier: `keycloak` - Client ID: nextcloud client id from keycloak - Client Secret: nextcloud client secret from keycloak @@ -196,7 +196,7 @@ bash integration_setup.sh - Scope: `openid email profile api_v3` - submit - [ ] Login as keycloak-created user in `Nextcloud`. -- [ ] Login Should be successful. +- [ ] Login should be successful. - [ ] Logout. #### B.2.3. Add Keycloak IDP in OpenProject @@ -210,37 +210,37 @@ bash integration_setup.sh - [ ] Create a file storage type `Nextcloud` by clicking the button `+ Storage` and choosing Nextcloud - [ ] Add name as `Nextcloud`. - [ ] Add Host as `` - - [ ] Choose authentication Method option as Single-Sign-On through OpenID Connect Identity Provider. + - [ ] Set authentication method to `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] Then, select the option `Use access token obtained during user log in`. - [ ] Uncheck project folder (automatically managed folder). - [ ] Click on button `Finish setup`. - [ ] Navigate to `Project settings > Files` of a project (for example, `Demo Project`) and add `Nextcloud` as a file storage. -- [ ] If you are using [Docker setup](../../dev/), default `Keycloak` users already exist (`alice` and `brian`, password: `1234`), so you can skip the user-creation steps below and go directly to step [B.2.4](#b24-setup-integration-token-exchange-disabled-in-nexcloud). +- [ ] If you are using [Docker setup](../../dev/), default `Keycloak` users already exist (`alice` and `brian`, password: `1234`), so you can skip the user-creation steps below and go directly to step [B.2.4](#b24-setup-integration-token-exchange-disabled-in-nextcloud). - [ ] In Keycloak, go to the user management section. For example, if your realm name is `opnc`, navigate to: `opnc > Users`. - [ ] Then create a user. -- [ ] In `Openproject`, login as keycloak-created user. +- [ ] In `OpenProject`, login as keycloak-created user. - [ ] In `OpenProject`, log out, then log in as a user `admin`. - [ ] As an `OpenProject` admin, add keycloak-created user as a member in one of the project (for example, `Demo Project`). -#### B.2.4. Setup integration (token exchange disabled) in Nexcloud +#### B.2.4. Setup integration (token exchange disabled) in Nextcloud - [ ] As a user `admin`, go to `Administration > OpenProject`. - [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] In `Authentication settings`, select `provider Type` as `Keycloak`. - [ ] Disable `token exchange`. #### B.2.5. Verify Connection in nextcloud -- [ ] first, Complete steps **B.2.1** to **B.2.4**. +- [ ] First, complete steps **B.2.1** to **B.2.4**. - [ ] In nextcloud, login as keycloak-created user. -- [ ] Navigate to `Settings > Openproject`. +- [ ] Navigate to `Settings > OpenProject`. - [ ] Should show user is connected as an OpenProject user. #### B.2.6. Complete the common smoke tests - [ ] Complete [smoke tests 1-7](#common-smoke-test-steps). -#### B.2.7.Setup integration (token exchange enabled) -- [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). -- [ ] Complete step [Test No B.2.2](#b22-Configure-Nextcloud). -- [ ] Complete step [Test No B.2.3](#b23-Add-Keycloak-IDP-in-OpenProject). +#### B.2.7. Setup integration (token exchange enabled) +- [ ] Complete step [Test No B.2.1](#b21-configure-keycloak). +- [ ] Complete step [Test No B.2.2](#b22-configure-nextcloud). +- [ ] Complete step [Test No B.2.3](#b23-Add-Keycloak-idp-in-openoroject). - [ ] Go to `Administration > OpenProject` in nextcloud. - [ ] Under `Authentication Method`, select `Single-Sign-On through OpenID Connect Identity Provider`. - [ ] In `Authentication settings`, select `provider Type` as `Keycloak`. @@ -248,12 +248,12 @@ bash integration_setup.sh - [ ] Set `OpenProject client ID *` as `openproject`. #### B.2.8. Verify Connection in nextcloud -- [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). -- [ ] Complete step [Test No B.2.2](#b22-Configure-Nextcloud). -- [ ] Complete step [Test No B.2.3](#b23-Add-Keycloak-IDP-in-OpenProject). -- [ ] Complete step [Test No B.2.5](#b25-Verify-Connection-in-nextcloud). +- [ ] Complete step [Test No B.2.1](#b21-configure-keycloak). +- [ ] Complete step [Test No B.2.2](#b22-configure-nextcloud). +- [ ] Complete step [Test No B.2.3](#b23-add-keycloak-idp-in-openproject). +- [ ] Complete step [Test No B.2.5](#b25-verify-connection-in-nextcloud). - [ ] In nextcloud, login as keycloak-created user. -- [ ] Navigate to `settings > Openproject`. +- [ ] Navigate to `Settings > OpenProject`. - [ ] Should show user is connected as an OpenProject user. #### B.2.9. Complete the common smoke tests @@ -272,8 +272,8 @@ bash integration_setup.sh > > To add the Nextcloud storage, delete the 'nextcloud' file storage from OpenProject, reset the Nextcloud config, and run the script again. -- [ ] Complete step [Test No B.1.1](#B11-Configure-Nextcloud) (only the first , second and thrid steps are required). -- [ ] Complete step [Test No B.1.2](#B12-Add-Nextcloud-Idp-in-OpenProject) (only the first and second steps are required). +- [ ] Complete step [Test No B.1.1](#b11-configure-nextcloud) (only the first , second and third steps are required). +- [ ] Complete step [Test No B.1.2](#b12-add-nextcloud-idp-in-openProject-without-project-folder-setup) (only the first and second steps are required). - [ ] Run the `integration_oidc_setup.sh` script to set up integration without project folder with the following command: ```bash @@ -291,8 +291,8 @@ OP_USE_LOGIN_TOKEN=true \ bash integration_oidc_setup.sh ``` -- [ ] Upon success, try step [Test No B.1.4](#b14-Login-to-OpenProject-using-Nextcloud-user). -- [ ] Upon success, try step [Test No B.1.5](#b15-Verify-Connection-of-Nextcloud-user-with-OpenProject). +- [ ] Upon success, try step [Test No B.1.4](#b14-login-to-openproject-using-nextcloud-user). +- [ ] Upon success, try step [Test No B.1.5](#b15-verify-connection-of-nextcloud-user-with-openproject). - [ ] Also, to set up the integration configuration with project folder setup, at first delete 'nextcloud' file storage from OpenProject. - [ ] In nextcloud, delete the `OpenProject` user, group and team folder from the nextcloud (if they exist). - [ ] Then, reset the Nextcloud config. @@ -302,9 +302,9 @@ bash integration_oidc_setup.sh ### Check the integration script for sso setup (External provider without token exchange) > Before running the script make sure that you delete the 'nextcloud' file storage from OpenProject and reset the integration settings in Nextcloud. -- [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). -- [ ] Complete step [Test No B.2.2](#b22-Configure-Nextcloud). -- [ ] Complete step [Test No B.2.3](#b23-Add-Keycloak-IDP-in-OpenProject). +- [ ] Complete step [Test No B.2.1](#b21-configure-keycloak). +- [ ] Complete step [Test No B.2.2](#b22-configure-nextcloud). +- [ ] Complete step [Test No B.2.3](#b23-add-keycloak-idp-in-openproject). - [ ] Run the `integration_oidc_setup.sh` script to set up integration without project folder with the following command: ```bash @@ -326,7 +326,7 @@ bash integration_oidc_setup.sh ``` -- [ ] Upon success, try step [Test No B.2.5](#B25-Verify-Connection-in-nextcloud). +- [ ] Upon success, try step [Test No B.2.5](#b25-verify-connection-in-nextcloud). - [ ] Also, to set up the integration configuration with project folder setup, at first delete 'nextcloud' file storage from OpenProject. - [ ] In nextcloud, delete the `OpenProject` user, group and team folder from the nextcloud (if they exist). - [ ] Then, reset the Nextcloud config. @@ -337,9 +337,9 @@ bash integration_oidc_setup.sh ### Check the integration script for sso setup (External provider with token exchange) > Before running the script below, make sure that you delete the 'nextcloud' file storage from OpenProject and reset the Nextcloud config. -- [ ] Complete step [Test No B.2.1](#b21-Configure-Keycloak). -- [ ] Complete step [Test No B.2.2](#b22-Configure-Nextcloud). -- [ ] Complete step [Test No B.2.3](#b23-Add-Keycloak-IDP-in-OpenProject). +- [ ] Complete step [Test No B.2.1](#b21-configure-keycloak). +- [ ] Complete step [Test No B.2.2](#b22-configure-nextcloud). +- [ ] Complete step [Test No B.2.3](#b23-add-keycloak-idp-in-openproject). - [ ] Run the `integration_oidc_setup.sh` script to set up integration without project folder with the following command: ```bash @@ -360,7 +360,7 @@ OP_STORAGE_AUDIENCE=nextcloud \ bash integration_oidc_setup.sh ``` -- [ ] Upon success, try step [Test No B.2.8](#B28-Verify-Connection-in-nextcloud). +- [ ] Upon success, try step [Test No B.2.8](#b28-verify-connection-in-nextcloud). - [ ] Also, to set up the integration configuration with project folder setup, at first delete 'nextcloud' file storage from OpenProject. - [ ] In nextcloud, delete the `OpenProject` user, group and team folder from the nextcloud (if they exist). - [ ] Then, reset the Nextcloud config. @@ -369,7 +369,7 @@ bash integration_oidc_setup.sh ## Common Smoke Test Steps -### 1. Link/Unlink a work package for a file/folder in Openproject +### 1. Link/Unlink a work package for a file/folder in nextcloud - [ ] Select a file, navigate to sidebar `OpenProject` tab. - [ ] Search for any of the work packages in the `Demo Project`. - [ ] Work packages are listed. @@ -380,19 +380,19 @@ bash integration_oidc_setup.sh - [ ] Unlink a work package and it should be deleted from the `OpenProject` Tab with a successful message. ### 2. Link/Unlink a work package for a file/folder from OpenProject -- [ ] In Openproject, navigate to `Demo Project > Work Packages` and double click any one of the work packages available. +- [ ] In OpenProject, navigate to `Demo Project > Work Packages` and double click any one of the work packages available. - [ ] Navigate to `Files` tab, click `link existing files`, select available files (for example, welcome.txt) from Nextcloud and link it to the work package. - [ ] Selected file is linked to the work package in `OpenProject`. - [ ] Also Navigate to nextcloud and see in the `OpenProject` tab for file (welcome.txt), the work package should be linked. ### 3. Direct upload file/folder from OpenProject to Nextcloud -- [ ] In Openproject, navigate to `Demo Project > Work Packages` and double click any one of the work packages available. +- [ ] In OpenProject, navigate to `Demo Project > Work Packages` and double click any one of the work packages available. - [ ] Navigate to `Files` tab, click `Upload files`, select available files from your local system (for example, local.txt) and upload choosing the upload location. - [ ] Uploaded file is linked to the work package in `OpenProject`. - [ ] Also Navigate to `Nextcloud` and see in the `OpenProject` tab for file (local.txt), the work package should be linked. ### 4. Create a WorkPackage from Nextcloud -- [ ] In `Nextcloud`, select a file amd open the sidebar `OpenProject` tab. +- [ ] In `Nextcloud`, select a file and open the sidebar `OpenProject` tab. - [ ] Click `Create and link new work package`. - [ ] Select `Demo Project`, fill up the modal form and create. - [ ] Work package should be created and linked to the selected file. @@ -404,8 +404,8 @@ bash integration_oidc_setup.sh - [ ] Now as an `OpenProject` admin, assign any of the `Demo Project` work packages to the created `OpenProject` user. - [ ] The `Nextcloud` user should receive a notification regarding the assignment. -#### 6. Setup and check project folder in Nextcloud (with project folder setup) -- [ ] Enable `teamfolders` application in `Nextcloud`. +### 6. Setup and check project folder in Nextcloud (with project folder setup) +- [ ] Enable the Nextcloud `groupfolders` app (`Team folders`) in `Nextcloud`. - [ ] Enable `Automatically managed folders` switch in admin setting and set project folder. - [ ] Application password should be generated (copy this password as this will be needed in the next step). - [ ] Verify that `OpenProject` user and `OpenProject` group are created with user `OpenProject` as sub-admin of the group.