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
Allow users to share a Tale for active collaboration #16
Conversation
@bodom0015 is this intended to just cover the sharing page functionality or also that sharing is working as expected via the UI? When I shared a tale with either read or edit permissions to a second user, it doesn't appear on either Public or My Tales. My Tales is filtering based on creator:
Public Tales is filtering based on the public flag:
The tale is technically neither public nor mine. Do we need a "Shared with me" option that filters based on access level? Or should we re-interpret Public as "things I can read" (per @Xarthisius Note, there are a couple of ways to setup a second user for testing. First, via
Then go to https://dashboard.local.wholetale.org/login?token=<_id> Another option is to setup a secondary Google or ORCID account that isn't attached to your main email. I setup ORCID with my gmail and it works fine. |
@craig-willis that is an excellent point, and a great catch on the filtering stuff! I must not have tested this nearly as thoroughly as I had thought :X In the short-term (for testing), I've made the edits you suggested above in the two
I'm not sure what would be the right solution going forward. It should be easy enough to add a new tab there for "Shared with Me", or to simply adjust the existing views/labels to reflect the idea of Read-only vs Write access. Any preference to the long-term approach here? |
Pretty awesome feature! ScrollingI noticed that scrolling on the Share page is slightly different than the metadata page; the metadata page has the scroll box above the footer. In the the Share page the footer will take up real estate as you scroll down InvitationsWhen I shared my Tale with my test user I saw Small ErrorWhen viewing the Share page I see a Editable vs View OnlyI like the idea of the third tab, 'Shared with Me' that has both editable and read only Tales that were shared with the user. I'm not sure how feasible it is to group those two together based on ACL information. I think that it would be safe to assume that if the Tale...
|
Overall this looks good. I like the idea of a separate "Shared with me" tab instead of conflating shared and public/mine. I ran a few additional tests of general sharing behavior using 2 accounts:
What I found:
|
Thank you for pointing these issues out. Apparently, I have been mixing up the magic numbers and using Permissions for operations are broken down as follows (please, @Xarthisius, correct me if this does not match backend assumptions):
I also went ahead and added a "Shared with Me" tab to the Tale Catalog, which did require a bit of refactoring to the
I've also fixed the "Return to Dashboard" and "Close" buttons to handle directing the user to this new tab appropriately. NOTE 1: I think in the long term, the tab / search bars on the Tale Catalog should go below the Running Tales panel (since this panel appears the same in all three tabs, and is not affected by search), so migrating it to a component now should make it trivial to move the component around the view later on. NOTE 2: there was some weird git nonsense happening here where it deleted some files (e.g. |
Redeployed and it went away... |
Added a commit to fix file uploads, which includes handling chunking large files properly and not using the hidden Bonus feature: UI/browser no longer crashes with OOM when you upload very large files (tested up to 9GB file uploads - see #13) I now have 2 users with Tales that they have shared with each other. User A created a tale called One bug I am still noticing (as you'll see in the GIF above, and I'm pretty sure it has something to do with the new upload code) is that I cannot seem to upload files with duplicate names. For example, I already have a file named |
@bodom0015 this is working better for me. "Shared with me" makes sense and works as expected. I'm able to upload files. The permission issues I reported also seem to be fixed. In my testing today, I'm seeing one problem and wanted to follow up on the "reload" discussion from Monday. The problem I'm seeing is when adding a user with Edit permission, they are added with View only. To repeat:
On the "reload" topic: when a tale is shared between two users, in almost every action I've tried the user needs to reload the tale, not simply toggle between tabs. For example. This includes when the tale is first shared with them; updating metadata; adding registered data; and adding files to the workspace. I can't simply toggle between My Tales and Shared Tales or Workspace and External Data or Files and Metadata as @Xarthisius suggested on the last dev call. This certainly merits another issue, but wanted to raise here to see if it's worth me filing. |
Miscellaneous use cases that I've gone though and tested. Noting these to keep track of what I cover, for others in case it inspires a new case, some might be good for the test plan updates. I've been treating User A as my chrome window with my main account and User B as a test account using Firefox.
From the tests above, the only thing that stuck out was that I didn't get a message telling me I can't delete a Tale that's been shared with me ( |
This looks really good! General issues from my previous comment are now gone \o/ Share tab still needs UI fixes I mentioned there though. I additionally found that you can add a single user multiple times: which is something we should probably not allow. |
I pushed a couple new commits to address the last few remaining issues here:
|
@bodom0015 could you please fix the conflict? FWIW I created https://gist.github.com/Xarthisius/fdab84ede710ddd557498fcfd6ae8c64 for an easy way of adding users to test this PR. Script spits out dashboard link that's pasteable |
Retesting now and noticed a few issues I didn't catch before:
|
That's consistent with other readonly tale that you can fork (like public tales). |
I'm having trouble reproducing this one. Here are the steps that I followed
In steps 2 & 4 I see the window title as 'Shared Tales Catalog | WholeTale' (under Firefox and Chrome) |
@Xarthisius -- I didn't know that, so a non issue. |
…into tale-sharing
Problem
A Tale can be either
private
orpublic
, but this does not allow multiple users to actively collaborate on the same Tale at the same time.Approach
Girder offers a set of ACLs for each resource, and we can leverage their API to offer a familiar interface for our users.
Add the Run > Share tab, allowing for more fine-grained management of sharing and permissions.
Demonstration: https://recordit.co/E7JNi9hKwl
Fixes #13
How to Test
PRIVATE
orPUBLIC
PUBLIC
and refresh the pagePUBLIC
should still be selected after reloadPRIVATE
and refresh the pagePRIVATE
should still be selected after reload