Closed nathandunn closed 7 years ago
Based on our conversation, here are the URLs at each part of two workflows, one where the user is not logged into Apollo (WORKFLOW A), and another where the user is logged into Apollo (WORKFLOW B)
WORKFLOW A
It looks like step three has two main differences to my eye. (1) the addition of the clientToken, and (2) the URL seems to be doubled again
Clicking on show annotator panel again (feature is still there):
https://myserver/apollo-2.0.5-SNAPSHOT/annotator/index?clien tToken=446399913834611410895&highlight=&overview=1&tracklist=0&nav=1&addTra cks=[{%22label%22:%22BLAST%20%20Results%22,%22category%22:%220.%20Reference %20Assembly%22,%22type%22:%22WebApollo/View/Track/DraggableBLASTFeatures%22 ,%22store%22:%22url%22,%22style%22:{%22renderClassName%22:%22gray-center-10 pct%22,%22subfeatureClasses%22:{%22match_part%22:%22blast-match_part%22}}}] &addStores={%22url%22:{%22type%22:%22JBrowse/Store/SeqFeature/GFF3%22,%22ur lTemplate%22:%22https://gmod-dev.nal.usda.gov/webapp/media/blast/task/01856 1a18e4349e5a0009e9a04b262bc/Agla_Btl03082013.genome_new_ids.fa.gff%22}}&tra cks=DNA,Annotations,BLAST%20%20Results https://myserver/apollo-2.0.5-SNAPSHOT/annotator/index?clie ntToken=446399913834611410895&highlight=&overview=1&tracklist=0&nav=1&addTr acks=%5B%7B%22label%22:%22BLAST%20%20Results%22,%22category%22:%220.%20Refe rence%20Assembly%22,%22type%22:%22WebApollo/View/Track/DraggableBLASTFeatur es%22,%22store%22:%22url%22,%22style%22:%7B%22renderClassName%22:%22gray-ce nter-10pct%22,%22subfeatureClasses%22:%7B%22match_part%22:%22blast-match_pa rt%22%7D%7D%7D%5D&addStores=%7B%22url%22:%7B%22type%22:%22JBrowse/Store/Seq Feature/GFF3%22,%22urlTemplate%22:%22https://gmod-dev.nal.usda.gov/webapp/m edia/blast/task/018561a18e4349e5a0009e9a04b262bc/Agla_Btl03082013.genome_ne w_ids.fa.gff%22%7D%7D&tracks=DNA,Annotations,BLAST%20%20Results
WORKFLOW B
I tried recreating this problem (given the explanation in this issue), but I am not seeing any problems after clicking on JBrowse URLs, logged in or logged out. Unless we have more details about how this is 'breaking', we may not be able to dedicate resources to address it.
The Jbrowse URL works, the issue is that the addTracks and/or addStores features disappear after successfully logging in. Once clicking on the Show Annotator Panel button the features appear, and subsequently clicking on the Full-screen View button again still shows the features.
@monicacecilia I had walked through this with @nathandunn, and this is the default behavior with Apollo 2.0.X when we used addStores and addFeatures.
If you were able to go through that workflow and not get an issue, I'd love to know what methods you're using to so I can adjust our workflows/URLs.
Unfortunately this is a show stopping issue for us at this point.
@childers I had discussed this with @monicacecilia . I'm going to run through it quickly this week and see if I can either (A) fix it, or (B) suggest a workflow.
@nathandunn, thanks!
Testing with:
http://localhost:8080/apollo/Loxrec/jbrowse/?loc=Scaffold66:1079496..1080321&addStores={%22url%22:{%22type%22:%22JBrowse/Store/SeqFeature/GFF3%22,%22urlTemplate%22:%22https://gmod-dev.nal.usda.gov/webapp/media/blast/task/018561a18e4349e5a0009e9a04b262bc/Agla_Btl03082013.genome_new_ids.fa.gff%22}}&addTracks=[{%22label%22:%22BLAST+%20Results%22,%22category%22:%220.%20Reference%20Assembly%22,%22type%22:%22WebApollo/View/Track/DraggableBLASTFeatures%22,%22store%22:%22url%22,%22style%22:{%22renderClassName%22:%22gray-center-10pct%22,%22subfeatureClasses%22:{%22match_part%22:%22blast-match_part%22}}}]&tracks=BLAST+%20Results
It looks like the problem is that things are being un-necessarily encoded when you click on login. Clicking on the Annotator Panel provides the proper level of encoding.
Actually, I think the problem is that calling the "/Login" function, which removes all of the parameters when it does the redirect on the LoginController (because they aren't passed in). Solutions:
1 - pass all of the parameters into the "Login" function from AnnotTrack.js 2 -Login should just become "Show Annotator Panel" which would trigger the same functionality with no loss of function and we remove "Full-screen" mode as well.
@childers @mpoelchau I opted for option 2. You can see this in #1349 (with numerous other fixes). It ends up just being a cleaner solution.
That being said, you can customize what shows up here:
https://github.com/GMOD/Apollo/pull/1349/files#diff-56bde3069d994f1cb5051ff8164b8518R4324
You can turn the tracklist on and hide the annotator panel, though I would recommend against and just train your users to go the track panel area and select it manually and then go about their business.
@nathandunn Thanks for working this out, it seems like it was buried pretty deep in how the login function works.
Does this still support our initial redirect not requiring any login?
Just so I'm sure I have this down here is the workflow:
Is this right?
The transition to Apollo2 view with the right-hand annotator panel will be a pretty big shift for folks, but it may be best to accept that it is the way the system works now. I'd prefer to customize the core code as little as possible.
This is exactly right. I'd really love to move the hierarchical onto the RHS #1335 , but we don't have time right now. If you have a programmer with spare cycles, though, it should be pretty easy to do, however.
Yes, I'll be sad that the hierarchies we developed to organize the tracks will get lost for now.
They're still there, they just have to click on "use native JBrowse Tracks" in the track panel and then they can hide it or whatever they want to do. Not ideal, but still very workable.
@childers it's all good! :bowtie:
You are correct, it is how Apollo has been working for a little under year now.
But I don't agree that the annotator panel will be that significant of a shift for curators, when it comes to actually conducting the annotations. Rather, curators who have already experienced the change received it as a welcomed enhancement to how they are able to navigate the genome - among other functionality.
Think of the annotator panel as an added space that allows curators to handle each annotation with more versatility. It is not a replacement of the environment curators have been using in 1.0.4. The User-created annotations area is exactly the same, and the right-click menus have but a few additions.
The panel addresses requests from frequent-use curators. It allows curators to handle annotations at a base per base level of detail, for example when a curator wishes to change the boundaries of a genomic element one base at a time without dragging the boundaries on the User-created annotations area. Other than the panel, Apollo 2 continues to use the same visualization and annotation window as Apollo 1. The advantage is that you don't have to leave the annotation window in order to move from scaffold (reference sequence) to scaffold, browse through all available annotations, or switch organisms, etc.
As far as the organization of the tracks, please know that you are not going to lose them. You can still configure them. As Nathan says, your users just have to press one button to 'use native JBrowse tracks'.
@nathandunn let's add a 'Ready' label here when this is pushed to staging. Thanks!
Will do on the "Ready" tag . . . was going to have @deepakunni3 test these when he is back later this week.
I'll have to show you my new waffle board ;)
Confirmed that addTracks and/or addStores features are kept after login. 👍