Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project Folders in User Workspace (Nov.) #716

Open
13 of 15 tasks
Tracked by #953 ...
AntoninoMarioC opened this issue Sep 15, 2022 · 7 comments
Open
13 of 15 tasks
Tracked by #953 ...

Project Folders in User Workspace (Nov.) #716

AntoninoMarioC opened this issue Sep 15, 2022 · 7 comments
Assignees
Labels
Feedback Feedback through frontend PO issue Created by Product owners s4l:web sim4life product in osparc.io type:enhancement Feature requests (functionality and UI) y8 NIH SPARC Y8 (originally in wrike)

Comments

@AntoninoMarioC
Copy link
Member

AntoninoMarioC commented Sep 15, 2022

Describe the user role
At the moment, users that do not properly define sharing options fill other users's pages with their studies. I do not like to have a mess on my study page, therefore, at least, I'd like to have a separation between my own studies, studies specifically shared with me, and external studies. As well, I'd like to organize my studies according to my own work: CR projects, tests, etc. It would be also great if the user could also decide to hide some projects, for any reasons.

Describe the goal
A bit of organization in the mess

Describe the benefit
Improved mental health and cleaner work organization

More info from #977

  • a folder can be shared
  • every project placed inside a shared folder is automatically "shared"

Easy UI improvements
From meeting with users on May 3rd, #1403

MartinKippenbeger

  1. matusdrobuliak66
  2. t:enhancement
    matusdrobuliak66 odeimaiz
  3. t:enhancement
    matusdrobuliak66 odeimaiz
  4. bug
    matusdrobuliak66 odeimaiz

Tasks

  1. GitHK matusdrobuliak66
  2. matusdrobuliak66
  3. matusdrobuliak66
  4. a:frontend type:enhancement
    odeimaiz

Eisbock

  1. matusdrobuliak66 odeimaiz
  2. matusdrobuliak66
@AntoninoMarioC AntoninoMarioC added enhancement Feedback Feedback through frontend labels Sep 15, 2022
@AntoninoMarioC AntoninoMarioC changed the title My studies in my space, your studies in your space! Organization of OSPARC User Workspace Sep 15, 2022
@elisabettai elisabettai added this to the Jelly Beans milestone Apr 5, 2023
@sanderegg sanderegg assigned pcrespov and unassigned mguidon Apr 6, 2023
@pcrespov
Copy link
Member

pcrespov commented Apr 11, 2023

Goal for sprint Jelly Beans

  • review google-drive approach and API regarding folders (@pcrespov checks and proposes OAS)
  • start w/ only folders that contain studies but cannot be shared

@pcrespov pcrespov modified the milestones: Jelly Beans, Pastel de Nata May 9, 2023
@drniiken drniiken added the PO issue Created by Product owners label May 10, 2023
@pcrespov
Copy link
Member

pcrespov commented May 10, 2023

Goal for sprint Pastel de Nata

  • Create a data model and propose OAS
  • anticipate sharing folders in your design
  • start to work on it
  • refactoring: move filtering from frontend to the backend in /projects endpoint

@matusdrobuliak66
Copy link
Contributor

matusdrobuliak66 commented May 15, 2023

Implementation Notes (Proposal)

These implementation notes discuss the design of osparc user workspace. A new feature that should introduce folder structure to osparc main dashboard. Currently, all projects live on the same level. Users would like to group projects together in a folder like structure and potentially share this folder with other users (User or Group of users!).

Diagram

graph TD
    User_A-->Folder_1;
    User_A-->Folder_2;
    User_A-->study_X;
    User_A-->study_Y;
    Folder_1-->study_Z;
    Folder_1-->study_W;
    Folder_2-->Folder_3;
    Folder_3--> study_H;
Loading
graph TD
    User_B-->Folder_4;
    User_B-->study_K;
    Folder_4-->study_J;
Loading

Data Model with examples

Folder table Project to Folder tableProject Access Rights
id title parent folder gid
1 "User A home" NULL A
2 "User B home" NULL B
3 Folder 1 1 A
4 Folder 2 1 A
5 Folder 3 4 A
6 Folder 4 2 B
project id parent folder gid
Z 3 A
W 3 A
H 5 A
X 1 A
Y 1 A
J 6 B
K 2 B
project id access rights
Z A
W A
H A
X A
Y A
J B
K B

Get the home folder (id=1)
select * from folder_table where gid = A and parent_folder = 1 --> Folder1, Folder2
select * from project_to_folder where gid = A and parent_dolfer = 1 --> X, Y

Fetch Folder 2 (id=4)
select * from folder_table where gid = A and parent_folder = 4 --> Folder3
select * from project_to_folder where gid = A and parent_dolfer = 4 --> None

Share study Z with primary group B (user B)

Folder table Project to Folder tableProject Access Rights
id title parent folder gid
project id parent folder gid
Z 2 B
project id access rights
Z A, B

Share study H with standard group D (where user B belongs)

  1. share study H
  2. user B creates new folder and moves there study H
Folder table Project to Folder tableProject Access Rights
step id title parent folder gid
(2.) 7 Folder 5 2 B
step project id parent folder gid
(1.) H NULL D
(2.) H 7 B
step project id access rights
(1.) Z A, D

Notes:

  • Firstly get projects based on access rights and then get the projects to folder table --> as we can see that we created new row in project to folder table with gid B (but the user has access to this project through GID D)

Share folder 1 with primary group B (user B)

  • Only the second row with ide 7 was added, the first one was already there
  • We see that we need to introduce additional fields to the folder table shared_folder, original_folder, hide?
    • When the title is changed it should be changed for both folders? --> This can be achieved via the original_folder column
    • When user B moved his folder around, the parent folder column is changed
Folder table Project to Folder table
id title parent folder gid shared_folder original_folder hide
3 Folder 1 1 A true 3 F
...
7 Folder 1 2 B true 3 F
project id parent folder gid
Z 7 B
W 7 B

Share folder 3 with standard group D (where user B belongs)

  • Similar story:
    • When shared new folder is create with gid D
    • When User 2 moves the folder, a new folder with GID B is created
Folder table Project to Folder table
id title parent folder gid shared_folder original_folder hide
5 Folder 3 4 A true 5 F
...
7 Folder 3 NULL D true 5 F
8 Folder 3 2 B true 5 F
project id parent folder gid
H 7 D
H 8 B

@pcrespov
Copy link
Member

pcrespov commented Jun 12, 2023

@pcrespov pcrespov added the duplicate This issue or pull request already exists label Jun 12, 2023
@matusdrobuliak66 matusdrobuliak66 modified the milestones: Tom Bombadil, Eisbock Aug 14, 2024
@pcrespov pcrespov modified the milestones: Tom Bombadil, Eisbock Aug 22, 2024
@elisabettai elisabettai added the y8 NIH SPARC Y8 (originally in wrike) label Aug 23, 2024
@elisabettai elisabettai changed the title Project Folders in User Workspace Project Folders in User Workspace (Nov.) Aug 26, 2024
@GitHK GitHK removed their assignment Sep 5, 2024
@pcrespov pcrespov modified the milestones: Eisbock, MartinKippenberger Sep 27, 2024
@ITISFoundation ITISFoundation deleted a comment from cosfor1 Sep 30, 2024
@mguidon
Copy link
Member

mguidon commented Nov 5, 2024

  • Moving folders between workspaces: frontend ready, backend not (currently "stay tune")
  • Search folder listing: 3 endpoints (+1 for folders +1 for workspace) --> Full search (prjocets is done)
  • Drag and drop (frontend only thing)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feedback Feedback through frontend PO issue Created by Product owners s4l:web sim4life product in osparc.io type:enhancement Feature requests (functionality and UI) y8 NIH SPARC Y8 (originally in wrike)
Projects
None yet
Development

Successfully merging a pull request may close this issue.