@@ -35,12 +35,21 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t
3535## Section A: Two-Way OAuth 2.0 Authorization Code Flow
3636
3737### A1. Oauth configuration
38- - [ ] In ` OpenProject ` , navigate to ` Administration > Files ` .
39- - [ ] Create a file storage type ` Nextcloud ` and name it as ` Nextcloud ` in ` OpenProject ` .
40- - [ ] In admin setting of ` Nextcloud ` , navigate to ` Administration Settings > OpenProject ` .
41- - [ ] Copy ` OpenProject ` Oauth Credential (client_id and client_secret) and save them in ` Nextcloud ` .
42- - [ ] Copy ` Nextcloud ` Oauth Credential (client_id and client_secret) and save them in ` OpenProject ` .
43- - [ ] Disable project folder (automatically managed folder).
38+ - [ ] Keep two browser tabs open: one for ` OpenProject ` and one for ` Nextcloud ` .
39+ - [ ] In ` OpenProject ` , navigate to ` Administration > Files ` and add a new ` Nextcloud ` storage:
40+ - Add name to ` Nextcloud ` and host to ` <openproject_host> ` .
41+ - Select ` Two-way OAuth 2.0 authorization code flow ` as the authentication method.
42+ - Click ` Save and Continue ` — note the generated ` OpenProject OAuth Client ID ` and ` Client Secret ` .
43+ - [ ] In ` Nextcloud ` , navigate to ` Administration Settings > OpenProject ` :
44+ - Set ` OpenProject server ` to ` <openproject_host> ` .
45+ - Select ` Two-way OAuth 2.0 authorization code flow ` as the authentication method.
46+ - Enter the ` OpenProject OAuth Client ID ` and ` Client Secret ` copied from the previous step.
47+ - Click ` Save ` — note the generated ` Nextcloud OAuth Client ID ` and ` Client Secret ` .
48+ - [ ] Back in ` OpenProject `
49+ - Enter the ` Nextcloud OAuth Client ID ` and ` Client Secret ` , then click ` Save and Continue ` .
50+ - Uncheck the ` Automatically managed folders ` and click on ` Finish setup `
51+ - [ ] Back in ` Nextcloud ` , click ` Yes, I have copied these values ` .
52+ - [ ] Disable ` Automatically managed project folders ` and click ` Complete without Project Folders ` .
4453
4554### A2. Connect Nextcloud with OpenProject
4655
@@ -53,17 +62,16 @@ The need for this smoke testing (manual) is that we do not have e2e test setup t
5362
5463### A3. Add File storage (Nextcloud) to an OpenProject project
5564- [ ] Complete step [ Test No A1] ( #a1-oauth-configuration ) .
56- - [ ] Select an ` OpenProject ` Project (for example, ` Demo Project ` ) in ` OpenProject ` .
65+ - [ ] As a user ` admin ` , select any ` OpenProject ` Project (for example, ` Demo Project ` ) in ` OpenProject ` .
5766- [ ] Navigate to ` Project settings > Files ` of ` Demo Project ` .
5867- [ ] Add a file storage name ` Nextcloud ` ( choose ` No specific Folder ` option ) for ` Demo Project ` .
5968
6069### A4. Connect OpenProject with Nextcloud
6170- [ ] Complete step [ Test No A1] ( #a1-oauth-configuration ) .
6271- [ ] Complete step [ Test No A3] ( #A3-Add-File-storage-Nextcloud-to-an-OpenProject-project ) .
63- - [ ] Navigate to ` Demo Project > Work Packages ` and double click any one of the work packages available .
72+ - [ ] As a user ` admin ` , navigate to ` Demo Project > Work Packages ` and open any work package by clicking its ID .
6473- [ ] Navigate to ` Files ` tab, and login to ` Nextcloud ` .
6574- [ ] ` OpenProject ` admin is connected to ` Nextcloud ` as a ` Nextcloud ` admin.
66- - [ ] Also, create a user in both ` Nextcloud ` as well as ` OpenProject ` .
6775- [ ] Add the created ` OpenProject ` user as the member of ` Demo Project ` project (admin can add members to a project).
6876- [ ] Try to connect the created ` OpenProject ` user as created ` Nextcloud ` user.
6977- [ ] ` OpenProject ` user should be connected as a ` Nextcloud ` user.
@@ -94,18 +102,21 @@ bash integration_setup.sh
94102
95103## Section B: Single-Sign-On through OpenID Connect Identity Provider
96104
105+ > ** Note** : ` OpenProject ` must be an Enterprise edition to use SSO setup.
106+
97107### B.1: Nextcloud Hub as IDP
98108
99109#### B.1.1. Configure Nextcloud
100- - [ ] In Nextcloud, install and enable ` oidc ` and ` user_oidc ` apps.
110+ - [ ] In Nextcloud, install and enable ` OIDC Identity Provider ` ( ` oidc ` ) and ` OpenID Connect user backend ` ( ` user_oidc ` ) apps.
101111- [ ] Create a new user( with username, display name, password, and email)
102112- [ ] Run following command:
103113 - ` php occ config:system:set user_oidc --type boolean --value="true" oidc_provider_bearer_validation `
114+ - Note: This enables bearer token validation for ` user_oidc ` . Without it, login or connection may fail. This may also be missing during local setups.
104115- [ ] Go to ` Administration > OpenID Connect ` and enable ` store login tokens ` option.
105116- [ ] Go to ` Administation > OpenID Connect Provider `
106117 - Click the button ` + Add client ` :
107118 - Add a client name (not an identifier) such as ` openproject `
108- - Add a redirect URL (<openproject_host>/auth/oidc-<idp-displayname-from-OP >/callback)
119+ - Add a redirect URL (<openproject_host>/auth/oidc-<idp-displayname-from-openproject >/callback)
109120 - Choose Signing Algorithm option as ` RS246 ` .
110121 - Choose Client Type as ` Confidential ` and click on ` Add ` button.
111122 - After clicking ` add ` button, click on recently created client.
@@ -118,11 +129,11 @@ bash integration_setup.sh
118129#### B.1.2. Add Nextcloud IDP in OpenProject (Without project folder setup)
119130- [ ] In OpenProject, go to ` Administration > Authentication > OpenID providers `
120131- [ ] Add a new custom OpenID provider:
121- - Display name: ` nextcloud ` (use this name as redirect URL in Nextcloud: <idp-displayname-from-OP >)
132+ - Display name: ` nextcloud ` (use this name as redirect URL in Nextcloud: <idp-displayname-from-openproject >)
122133 - Discovery URL: ` <nextcloud_instance_url>/index.php/.well-known/openid-configuration `
123134 - Client ID: Client ID copied earlier from Nextcloud
124135 - Client secret: Client secret copied earlier from Nextcloud
125- - Choose other option by default and click on ` save `
136+ - Keep all other options as default and click on ` save ` .
126137- [ ] Then, go to ` Administration > Files `
127138- [ ] Create a file storage type ` Nextcloud ` by clicking the button ` + Storage ` and choosing ` Nextcloud `
128139- [ ] Add name it as ` Nextcloud ` .
@@ -139,6 +150,7 @@ bash integration_setup.sh
139150- [ ] Under ` Authentication Method ` , select ` Single-Sign-On through OpenID Connect Identity Provider ` .
140151- [ ] In ` Authentication settings ` , select ` provider Type ` as ` Nextcloud Hub ` .
141152- [ ] Set Openproject ` client ID ` by Client ID copied earlier in ** Test No B1** .
153+ - [ ] Uncheck ` project folder (automatically managed folder) `
142154
143155#### B.1.4. Login to OpenProject using Nextcloud user
144156- [ ] Complete step [ Test No B.1.1] ( #B11-Configure-Nextcloud )
@@ -175,35 +187,33 @@ bash integration_setup.sh
175187 - Identifier: ` keycloak `
176188 - Client ID: nextcloud client id from keycloak
177189 - Client Secret: nextcloud client secret from keycloak
178- - Discovery endpoint: ` <keycloak_instance_url>/realms/<realm-name>/.well-known/openid-configuration `
190+ - Discovery endpoint: ` <keycloak_instance_url>/realms/<realm-name>/.well-known/openid-configuration ` (for example realm name can be ` opnc ` )
179191 - Scope: ` openid email profile api_v3 `
180192 - submit
181193- [ ] Login as keycloak-created user in ` Nextcloud ` .
182194- [ ] Login Should be successful
183195- [ ] Logout
184196
185197#### B.2.3. Add Keycloak IDP in OpenProject
186- - [ ] In ** OpenProject ** , go to ` Administration > Authentication > OpenID providers `
198+ - [ ] As an user ` admin ` , go to ` Administration > Authentication > OpenID providers `
187199- [ ] Add a new custom OpenID provider:
188200 - Display name: ` keycloak `
189201 - Discovery URL: ` <keycloak_instance_url>/realms/<realm-name>/.well-known/openid-configuration `
190202 - Client ID: Client ID of openproject from keycloak
191203 - Client secret: Client secret of openproject from keycloak
204+ - [ ] Navigate to ` Project settings > Files ` of a project (for example, ` Demo Project ` ) and add ` Nextcloud ` as a file storage.
192205- [ ] Login as keycloak-created user in ` Openproject ` .
193206- [ ] Log out, then Login as admin in ` Openproject ` .
194207- [ ] As an ` OpenProject ` admin, add keycloak-created user as a member in one of the project.
195208
196- #### B.2.4. Setup integration (token exchange disabled)
197- - [ ] In nextcloud , go to ` Administration > OpenProject ` .
209+ #### B.2.4. Setup integration (token exchange disabled) in Nexcloud
210+ - [ ] As an ` admin ` user , go to ` Administration > OpenProject ` .
198211- [ ] Under ` Authentication Method ` , select ` Single-Sign-On through OpenID Connect Identity Provider ` .
199212- [ ] In ` Authentication settings ` , select ` provider Type ` as ` Keycloak ` .
200213- [ ] Disable ` token exchange `
201214
202215#### B.2.5. Verify Connection in nextcloud
203- - [ ] Complete step [ Test No B.2.1] ( #b21-Configure-Keycloak ) .
204- - [ ] Complete step [ Test No B.2.2] ( #b22-Configure-Nextcloud ) .
205- - [ ] Complete step [ Test No B.2.3] ( #b23-Add-Keycloak-IDP-in-OpenProject ) .
206- - [ ] Complete step [ Test No B.2.4] ( #b24-Setup-integration-token-exchange-disabled ) .
216+ - [ ] first, Complete steps ** B.2.1** to ** B.2.4** .
207217- [ ] In nextcloud, login as keycloak-created user.
208218- [ ] Navigate to ` Settings > Openproject `
209219- [ ] Should show user is connected as an OpenProject user.
@@ -343,8 +353,8 @@ bash integration_oidc_setup.sh
343353
344354## Common Smoke Test Steps
345355
346- ### 1. Link/Unlink a work package for a file/folder in Nextcloud
347- - [ ] In openproject, Select a file, navigate to sidebar ` OpenProject ` tab.
356+ ### 1. Link/Unlink a work package for a file/folder in Openproject
357+ - [ ] Select a file, navigate to sidebar ` OpenProject ` tab.
348358- [ ] Search for any of the work packages in the ` Demo Project ` .
349359- [ ] Work packages are listed.
350360- [ ] Link to any one of the work packages appeared in the search lists.
@@ -354,19 +364,20 @@ bash integration_oidc_setup.sh
354364- [ ] Unlink a work package and it should be deleted from the ` OpenProject ` Tab with a successful message.
355365
356366### 2. Link/Unlink a work package for a file/folder from OpenProject
357- - [ ] Navigate to ` Demo Project > Work Packages ` and double click any one of the work packages available.
367+ - [ ] In Openproject, navigate to ` Demo Project > Work Packages ` and double click any one of the work packages available.
358368- [ ] Navigate to ` Files ` tab, click ` link existing files ` , select available files (for example, welcome.txt) from Nextcloud and link it to the work package.
359369- [ ] Selected file is linked to the work package in ` OpenProject `
360370- [ ] Also Navigate to nextcloud and see in the ` OpenProject ` tab for file (welcome.txt), the work package should be linked.
361371
362372### 3. Direct upload file/folder from OpenProject to Nextcloud
363- - [ ] Navigate to ` Demo Project > Work Packages ` and double click any one of the work packages available.
373+ - [ ] In Openproject, navigate to ` Demo Project > Work Packages ` and double click any one of the work packages available.
364374- [ ] Navigate to ` Files ` tab, click ` Upload files ` , select available files from your local system (for example, local.txt) and upload choosing the upload location.
365375- [ ] Uploaded file is linked to the work package in ` OpenProject `
366376- [ ] Also Navigate to ` Nextcloud ` and see in the ` OpenProject ` tab for file (local.txt), the work package should be linked.
367377
368378### 4. Create a WorkPackage from Nextcloud
369- - [ ] Open the form to create work package from Nextcloud in the ` OpenProject ` tab for a file/folder.
379+ - [ ] In ` Nextcloud ` , select a file amd open the sidebar ` OpenProject ` tab.
380+ - [ ] Click ` Create and link new work package ` .
370381- [ ] Select ` Demo Project ` , fill up the modal form and create.
371382- [ ] Work package should be created and linked to the selected file.
372383
@@ -378,20 +389,24 @@ bash integration_oidc_setup.sh
378389- [ ] The ` Nextcloud ` user should receive a notification regarding the assignment.
379390
380391#### 6. Setup and check project folder in Nextcloud (with project folder setup)
381- - [ ] Enable ` groupfolders ` application in ` Nextcloud ` .
392+ - [ ] Enable ` teamfolders ` application in ` Nextcloud ` .
382393- [ ] Enable ` Automatically managed folders ` switch in admin setting and set project folder.
383- - [ ] Application password should be generated.
384- - [ ] Verify that ` OpenProject ` user and group are created with user ` OpenProject ` as sub-admin of the group.
394+ - [ ] Application password should be generated (copy this password as this will be needed in the next step) .
395+ - [ ] Verify that ` OpenProject ` user and ` OpenProject ` group are created with user ` OpenProject ` as sub-admin of the group.
385396- [ ] Verify that ` OpenProjectNoAutomaticProjectFolders ` group is also created with user ` OpenProject ` as sub-admin.
386- - [ ] Try deleting ` OpenProject ` user and group, those should not be deleted.
397+ - [ ] Try deleting ` OpenProject ` user and ` OpenProject ` group, those should not be deleted.
387398- [ ] Try deleting ` OpenProjectNoAutomaticProjectFolders ` group, it should not be possible to delete.
388399- [ ] Test group management (as user ` OpenProject ` ):
389400 - Login as ` OpenProject ` user
390401 - Add a test user ` user1 ` to the ` OpenProject ` group
391402 - Remove ` user1 ` from the ` OpenProject ` group
392403 - Verify that ` user1 ` is automatically moved to the ` OpenProjectNoAutomaticProjectFolders ` group
393404
394- ### 7. Check New folder with automatically managed permissions in OpenProject
405+ ### 7. Setup and Check New folder with automatically managed permissions in OpenProject
406+ - [ ] In ` OpenProject ` , navigate to ` Administration > Files > Nextcloud ` .
407+ - [ ] On ` Automatically managed folders ` section, click on Edit.
408+ - [ ] Enable the ` Automatically managed folders ` option.
409+ - [ ] Enter the application password generated from ` Nextcloud ` and click on ` Finish setup ` .
395410- [ ] Navigate to ` Demo Project > Work Packages ` and double click any one of the work packages available.
396411- [ ] Navigate to ` Files ` tab, click ` link existing files ` .
397412- [ ] In a modal, ` Nextcloud > OpenProject > Demo project(1) ` should be visible.
0 commit comments