Open AntoninoMarioC opened 2 years ago
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!).
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;
graph TD
User_B-->Folder_4;
User_B-->study_K;
Folder_4-->study_J;
Folder table | Project to Folder table | Project 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
Folder table | Project to Folder table | Project Access Rights |
---|---|---|
| id | title | parent folder | gid | | ------ | ------ | ------ | ------ | | | project id | parent folder | gid | | ------ | ------ | ------ | | Z | 2 | B | | | project id | access rights | | ------ | ------ | | Z | A, B | |
Folder table | Project to Folder table | Project 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:
original_folder
columnFolder 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 | |
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
commented
1 year ago
esraneufeld
commented
1 year ago
during the realization of the folders on the dashboard, please also consider the related discussions in this document namely the part on folders, and also the part on how snapshots (versioning/branching)
elisabettai
commented
7 months ago
This was also discussed on Jan.17 2024, before sim4life.io release:
fyi @drniiken, I guess this what you had in mind during PM1 earlier today. I am not sure reusing tags will make users happy enough. I'd go more for "passive folders" i.e. folders that users can create to organize their projects, but who are private to the user (i.e. no sharing functionality added to it). Some interesting ideas also in the Entropy Reduction doc, Dashboard Organization.
mguidon
commented
6 days ago
|
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 https://github.com/ITISFoundation/osparc-issues/issues/977
Easy UI improvements From meeting with users on May 3rd, https://github.com/ITISFoundation/osparc-issues/issues/1403