Currently, Arctos is a single-session application. Find specimens, open another tab, find specimens, then it becomes possible to end up changing the specimens in Search#2 from the results of Search#1.
Need to lock the environment to the tab, not the user's session.
This became much easier with API implementation, which decouples session from the results code-generator. Needs prioritized @ArctosDB/arctos-working-group-officers . DLM suggests high - this causes problems more often than it should.
The new architecture readily supports clustering, and the proxy is built to do so. This Issue makes me very cautions about clustering, where a session coming unstuck could result in unpredictable results across requests. Suggest we prioritize implementation with a view towards a more stateless Arctos.
Suggest we prioritize implementation with a view towards a more stateless Arctos.
I am not entirely sure what this means, but I do understand what you described in the first comment. I think we need to look at when doing something opens a new tab or just creates a "thread" in the tab you are working in - if that makes any sense at all - and we need a way to communicate what happens when you have "left" the work you were doing and started a new work "thread" - again, not sure if that makes sense or is even possible.
https://restfulapi.net/statelessness/ seems decent.
I think your description works. Currently Arctos tabs don't necessarily progress linearly - they're all tied to one variable that comes from your "session" (=login, sorta) so it's possible for things to "leak" across tabs. (Because tabs didn't exist when this was designed!)
This will change that; work will be much more linear. Opening a new tab won't influence the old one. Searching will "reset" everything that can come after.
This should also be a very large step towards making the performance and reliability of the front end an administrative problem - just adding servers until everybody's happy is possible as long as users can carry whatever they need from one to the other. (In theory this is handled by the software, but the reality seems a bit different and the theory failing here could be exceptionally "interesting.")
Will this solve this problem?
Search to find 5 records to change the ID & click to open the change
identifications in bulk tool.
Open new tab to search for something else... find 5000 records.
Go back to original tab and complete the change of the identifications of
the 5 records.... but when this completes you realize to your horror that
you've just changed the ID of 5000 records! not the 5 you originally found.
-D
On Thu, May 28, 2020 at 7:29 AM dustymc notifications@github.com wrote:
https://restfulapi.net/statelessness/ seems decent.
I think your description works. Currently Arctos tabs don't necessarily
progress linearly - they're all tied to one variable that comes from your
"session" (=login, sorta) so it's possible for things to "leak" across
tabs. (Because tabs didn't exist when this was designed!)This will change that; work will be much more linear. Opening a new tab
won't influence the old one. Searching will "reset" everything that can
come after.This should also be a very large step towards making the performance and
reliability of the front end an administrative problem - just adding
servers until everybody's happy is possible as long as users can carry
whatever they need from one to the other. (In theory this is handled by the
software, but the reality seems a bit different and the theory failing here
could be exceptionally "interesting.")—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ArctosDB/arctos/issues/915#issuecomment-635421316,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACFNUM5N37YHFXWEZ2U3R3DRTZ7N3ANCNFSM4CKHVPAQ
.
--
+++++++++++++++++++++++++++++++++++
Derek S. Sikes, Curator of Insects
Professor of Entomology
University of Alaska Museum
1962 Yukon Drive
Fairbanks, AK 99775-6960
phone: 907-474-6278
FAX: 907-474-5469
University of Alaska Museum - search 400,276 digitized arthropod records
http://arctos.database.museum/uam_ento_all
http://www.uaf.edu/museum/collections/ento/
+++++++++++++++++++++++++++++++++++
Interested in Alaskan Entomology? Join the Alaska Entomological
Society and / or sign up for the email listserv "Alaska Entomological
Network" at
http://www.akentsoc.org/contact_us
Yes! Less horror for everyone!
Less horror is good. I'm all for whatever makes that possible.
On Thu, May 28, 2020, 10:25 AM dustymc notifications@github.com wrote:
- [EXTERNAL]*
Yes! Less horror for everyone!
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ArctosDB/arctos/issues/915#issuecomment-635453429,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADQ7JBCIUR5BF5GGXQUPM6TRT2F7NANCNFSM4CKHVPAQ
.
This should be functional for SpecimenSearch in test; please break it. It's used heavily in loans, through the SpecimenResults/Manage widget, and perhaps someplace I haven't yet found....
@ArctosDB/arctos-working-group-officers This should probably be announced; I'm sure someone uses existing functionality and will find a way to be confused by this change.
Creating a session (eg, logging in) assigns a temporary table name to the user; all searches destroy and create a table of the same name, but not necessarily with the same structure or content. Various forms (adding items to loans, mass-updating identification, etc.) refer to that session table by name.
Open TabA, search, use the manage widget to open TabB (eg, to update identifications). Open TabC, Search. Return to TabB. Change the results of your latest search from TabC, NOT the search that opened TabB (TabA).
Each search creates a uniquely named table; links from that search carry the name of the table with them.
Open TabA, search, use the manage widget to open TabB (eg, to update identifications). Open TabC, Search. Return to TabB. Change the results of the search that opened TabB (TabA), NOT the latest search.
Great, I'll test it out tomorrow
On Mon, Jun 8, 2020, 9:09 PM dustymc notifications@github.com wrote:
- [EXTERNAL]*
This should be functional for SpecimenSearch in test; please break it.
It's used heavily in loans, through the SpecimenResults/Manage widget, and
perhaps someplace I haven't yet found....@ArctosDB/arctos-working-group-officers
https://github.com/orgs/ArctosDB/teams/arctos-working-group-officers
This should probably be announced; I'm sure someone uses existing
functionality and will find a way to be confused by this change.
Old system Techy bits:Creating a session (eg, logging in) assigns a temporary table name to the
user; all searches destroy and create a table of the same name, but not
necessarily with the same structure or content. Various forms (adding items
to loans, mass-updating identification, etc.) refer to that session table
by name.
User ExperienceOpen TabA, search, use the manage widget to open TabB (eg, to update
identifications). Open TabC, Search. Return to TabB. Change the results of
your latest search from TabC, NOT the search that opened TabB (TabA).
New system: Techy bits:Each search creates a uniquely named table; links from that search carry
the name of the table with them.
User ExperienceOpen TabA, search, use the manage widget to open TabB (eg, to update
identifications). Open TabC, Search. Return to TabB. Change the results of
the search that opened TabB (TabA), NOT the latest search.—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ArctosDB/arctos/issues/915#issuecomment-641001282,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADQ7JBCVN6LGSIAXBXUQRULRVWRYFANCNFSM4CKHVPAQ
.
/remind me to do this Thursday
@Jegelewicz set a reminder for Jun 11th 2020
Please test this ASAP - I need to push this to production before I can move on, it needs tested first.
I opened three tabs in test, did a different search on each one, redid each
search in each tab using different parameters, and went to manage: add
parts for each one; all worked as expected, with the data returned and
records to be modified as expected in each tab for the different search
parameters.
On Tue, Jun 9, 2020 at 4:54 PM dustymc notifications@github.com wrote:
- [EXTERNAL]*
Please test this ASAP - I need to push this to production before I can
move on, it needs tested first.—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ArctosDB/arctos/issues/915#issuecomment-641622820,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADQ7JBGKSEAMAFZGAVSUOJ3RV24TTANCNFSM4CKHVPAQ
.
Except, when I actually tried to do a reidentification described above
(open tab A, search, open identifications in manage; open Tab B, search, go
back to tab A and attempt to add identification) I get following errors:
On Tue, Jun 9, 2020 at 6:27 PM Mariel Campbell campbell@carachupa.org
wrote:
I opened three tabs in test, did a different search on each one, redid
each search in each tab using different parameters, and went to manage: add
parts for each one; all worked as expected, with the data returned and
records to be modified as expected in each tab for the different search
parameters.On Tue, Jun 9, 2020 at 4:54 PM dustymc notifications@github.com wrote:
- [EXTERNAL]*
Please test this ASAP - I need to push this to production before I can
move on, it needs tested first.—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ArctosDB/arctos/issues/915#issuecomment-641622820,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADQ7JBGKSEAMAFZGAVSUOJ3RV24TTANCNFSM4CKHVPAQ
.
Tried it again, and it seems to work. There is some bug or error related to
choosing a taxon name using the A sp. format, but if I avoid triggering
whatever that is, and just use existing ID, I am able to add
identifications to the correct record despite having done a new search
after opening the add ID tab.
See http://test.arctos.database.museum/guid/MSB:Mamm:297323
ttps://test.arctos.database.museum/saved/Neotoma%20add%20IDs%20for%20test
http://test.arctos.database.museum/saved/Neotoma%20add%20IDs%20for%20test
On Tue, Jun 9, 2020 at 6:37 PM Mariel Campbell campbell@carachupa.org
wrote:
Except, when I actually tried to do a reidentification described above
(open tab A, search, open identifications in manage; open Tab B, search, go
back to tab A and attempt to add identification) I get following errors:On Tue, Jun 9, 2020 at 6:27 PM Mariel Campbell campbell@carachupa.org
wrote:I opened three tabs in test, did a different search on each one, redid
each search in each tab using different parameters, and went to manage: add
parts for each one; all worked as expected, with the data returned and
records to be modified as expected in each tab for the different search
parameters.On Tue, Jun 9, 2020 at 4:54 PM dustymc notifications@github.com wrote:
- [EXTERNAL]*
Please test this ASAP - I need to push this to production before I can
move on, it needs tested first.—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ArctosDB/arctos/issues/915#issuecomment-641622820,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADQ7JBGKSEAMAFZGAVSUOJ3RV24TTANCNFSM4CKHVPAQ
.
Thanks! The error I see suggests your browser is being "helpful" and filling in the string without firing the code to get the ID. (That's an "internal" form - taxa are data objects, not strings like they are in the bulkloader.)
:wave: @Jegelewicz, do
The scenario you described worked for me.
Still need to do taxonomy and summary cache - check v1.1 SpecimenResultsSummary and SpecimenResults::downloadSpecimenSummary
summary cache is done and checked in prod