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

Anonymous user geneset building #30

Closed
ravila4 opened this issue May 13, 2022 · 5 comments
Closed

Anonymous user geneset building #30

ravila4 opened this issue May 13, 2022 · 5 comments

Comments

@ravila4
Copy link
Collaborator

ravila4 commented May 13, 2022

Currently, the website's "Build" page allows users to build and download genesets while logged out. There is also a "Create" button that would allow the user to create an "anoymous" geneset in the database, but this feature is not implemented at the moment.

We need to decide whether we want to support these two Build/Download features, and may need to implement a few things to make this workflows smoother.

Downloading anonymous genesets - This is mostly working, and I think it's a good idea to keep.
One thing that could be improved is offloading some of the geneset creation code to the backend. The benefit would be that the data would match exactly what the database would record if the user was logged in. One way to do it is to allow unauthenticated POST requests with the --dry_run flag (This could also be useful for testing). In this case, to download a geneset we simply fetch the JSON from the response, and transform it to csv/tsv/gmx formats if needed.

Creating anonymous genesets - Not supported. Currently returns a 401 Unauthorized Error if user is not logged in.
If we don't plan to support it, we should remove the button for logged out users, and update the text under the Login page's "Use As Guest" section.
I'm open to discussion into reasons to support it, but I think we would have to address a few questions on the backend namely:

  1. If an anonymous user creates a geneset, who can edit/delete it? (Perhaps it could be temporary and auto-delete itself?)
  2. How to keep track of changes, and avoid conflicts? e.g. If two people edit the same geneset at the same time.

I'll duplicate this issue in the mygeneset backend repository, to track any changes it may require in the backend.

@ravila4
Copy link
Collaborator Author

ravila4 commented May 18, 2022

@vincerubinetti Another option for creating genesets in logged out mode could be to simply store the geneset in local cache. We could display a warning that the genesets will only be stored in the database when the user creates an account. We could even display locally created genesets in the "Your Genesets" list of the Build page.

@vincerubinetti
Copy link
Collaborator

It was my understanding (and I think Casey's understanding as well) that you'd be able to create anonymous genesets. I think this is a very important feature to have, as it's frustrating to find a tool but then be "locked" behind a login.

As it says on the http://mygeneset.info/login page, this comes with the caveat of not being able to create a private geneset or edit a geneset after it's created.

@vincerubinetti
Copy link
Collaborator

@cgreene Do you think anonymous (without logging) genesets should be supported?

@ravila4
Copy link
Collaborator Author

ravila4 commented May 18, 2022

@vincerubinetti So, it's sort of like a Pastebin for genesets? If we disallow editing, it does make things easier to implement. I just have to be sure this is a feature we want.

@cgreene
Copy link
Collaborator

cgreene commented May 18, 2022

I agree that having the ability to interact without logging in provides an opportunity to get folks excited. The analogy of pastebin for genesets is pretty on point!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants