wildmeorg / codex-frontend Goto Github PK
View Code? Open in Web Editor NEWThe frontend for Codex, written in React with Material UI components. Codex is active and being used by the research community!
License: GNU General Public License v3.0
The frontend for Codex, written in React with Material UI components. Codex is active and being used by the research community!
License: GNU General Public License v3.0
Users need to be able to set the state of a sighting when matching is complete.
Continuing to support the extensibility of the custom fields will continue to reduce customer support requests for custom data management.
As a researcher on the animal search page, I see all the animal custom fields as filters to be used in adjusting my search results
Should pull all encounter custom fields and populate the filter area automatically
Context: arguments about names are a significant reason against collaboration within biology. People want to maintain the specific name they leverage in their personal catalogue.
By providing an automatically generated name that is associated with Codex specifically, we can promote Codex as a collaboration tool, as well as a catalogue solution, by providing a workspace with common shared nomenclature that does not threaten the name spaces used in individual catalogues.
User Story:
As a user on the individual search, I can use a Filter called “Codex ID” to search by the number of the Codex ID
User story:
As a researcher (or admin) on the sighting page when trying to re-run an ID job, I can select a region for matching, and the regions nested under that region are also selected automatically.
Validation information:
When a sighting is reported, the default value is saved unless a different value is provided by the user. Clearing the value is respected unless it is a required field.
Assume custom sighting field with default value is already created
As a user on the sighting search table, I can see the number of individuals (animals that have been identified) in a sighting.
options are set at /src/models/sighting/useSightingSearchSchemas.js
As a researcher on the individual search table, I can see an individual's last region (the region of the most recent sighting associated with the individual)
table options are set up here: /src/models/individual/useIndividualSearchSchemas.js
Use the same logic as "last seen" column to determine the most recent sighting. will keep results consistently pointing at the same thing
'LAST_SIGHTING_DATE_RANGE'
Dependency on WildMeOrg/houston#907
Desired behavior
en.json
needs to have a string updated to reflect that changes to the twitter API require a paid account for Twitterbot to work
Current behavior
en.json
only indicates how to find account info, rather than including account restrictions
Context: arguments about names are a significant reason against collaboration within biology. People want to maintain the specific name they leverage in their personal catalogue.
By providing an automatically generated name that is associated with Codex specifically, we can promote Codex as a collaboration tool, as well as a catalogue solution, by providing a workspace with common shared nomenclature that does not threaten the name spaces used in individual catalogues.
Context: The original designs waste a lot of space and tend to confuse people about how to take certain actions. Incremental redesigns until we get to a more intuitive UI
User story:
As a user on a sighting page, I will only see 3 tabs: overview, annotation, and animals
QA:
Context: The original designs waste a lot of space and tend to confuse people about how to take certain actions. Incremental redesigns until we get to a more intuitive UI
User story:
QA:
There are default fields within the system that the user should be able to use to adjust the search results.
As a researcher on the animal search page, I see the following filters:
Filters are respected by the export option
By giving admins and support access to a table of the changes that have taken place in the platform, we are enabling them to see patterns and problems that may improve troubleshooting and head off development and support issues
Final design: https://www.figma.com/file/9kvaU99j6Q5XjzSYTyWmtZ/Change-Log?node-id=124-448&t=3hFNSNDVGWvYqyPo-0
Tips:
Context: arguments about names are a significant reason against collaboration within biology. People want to maintain the specific name they leverage in their personal catalogue.
By providing an automatically generated name that is associated with Codex specifically, we can promote Codex as a collaboration tool, as well as a catalogue solution, by providing a workspace with common shared nomenclature that does not threaten the name spaces used in individual catalogues.
User story:
ID prefix will be added as part of turn on Codex ID; edit button will be added as part of Edit species prefix
QA:
Final design mockup: https://www.figma.com/file/67AYBU2OioLcLpEVdq7uEQ/Codex%3A-support-search-of-all-sighting%2Findividual-content?node-id=0-1&t=JVxfCugm3SBQfd7t-0
User Stories:
Validation information
QA: focus on functionality
User story:
We want to update the general look and feed of Codex. As part of this effort, we will work through our components library and update them match new styling. We will tackle one to two components each dev cycle
Validation information:
Current behavior
Error messages are in a consistent location that works well on small modals, but gets lost when there are long lists of information (such as the metadata edit on individuals, sightings, or animals within sightings)
Desired behavior
Have error messages display in a static location so that users will see message, regardless of how far they have scrolled on the page
By providing an automatically generated name that is associated with Codex specifically, we can promote Codex as a collaboration tool, as well as a catalogue solution, by providing a workspace with common shared nomenclature that does not threaten the name spaces used in individual catalogues.
User Story:
QA:
Freeform location should display immediately after region
Column name: Freeform location
table options are set up here: /src/models/sighting/useSightingSearchSchemas.js
Context: arguments about names are a significant reason against collaboration within biology. People want to maintain the specific name they leverage in their personal catalogue.
By providing an automatically generated name that is associated with Codex specifically, we can promote Codex as a collaboration tool, as well as a catalogue solution, by providing a workspace with common shared nomenclature that does not threaten the name spaces used in individual catalogues.
As an admin on the manage species page, I can click the edit button of a species to edit the species prefix.
On the edit species modal, I can enter a code between 3-5 characters that is unique to the platform to be the new prefix for a given species
Context: arguments about names are a significant reason against collaboration within biology. People want to maintain the specific name they leverage in their personal catalogue.
By providing an automatically generated name that is associated with Codex specifically, we can promote Codex as a collaboration tool, as well as a catalogue solution, by providing a workspace with common shared nomenclature that does not threaten the name spaces used in individual catalogues.
User Story:
As a user on the sighting search page, I can search by either species or the Codex ID number
Final Design mockup: https://www.figma.com/file/67AYBU2OioLcLpEVdq7uEQ/Codex%3A-support-search-of-all-sighting%2Findividual-content?node-id=0-1&t=JVxfCugm3SBQfd7t-0
User Stories:
QA: focus on functionality
Admins need to have a top-level view of the data in the platform so they can help with data issues. This table is intended to be the start of that visibility
Final design: https://www.figma.com/file/TfpDVirbMc3K8ctrVxVBFI/Codex%3A-keyword-edit?node-id=148-9094&t=P6QjPziL0OvosqsZ-0
Delete Modal
IMPORTANT: design only encompasses the list of keywords at the bottom. Merge keywords and Replace keywords will be handled in separate tickets
Expected Behavior
Successfully upload a bulk import as long as all the required fields are present for all encounters
Current Behavior
Cannot convert to float for decimalLatitude in Sighting 5
example data
mediaAssets | decimalLatitude | decimalLongitude | year | month | day | hour | minutes | sex | species | individualID | locationID | TimeSpecificity | Life stage |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
harborseal1.jpg | 4.33 | 74.22 | 2014 | 6 | 10 | male | Phoca vitulina | SEAL-011 | US Pacific | day | pup | ||
harborseal2.jpg | 5.22 | 71.21 | 2014 | 7 | 2 | Phoca vitulina | US Pacific | day | adult | ||||
harborseal3.jpg | 6.11 | 70.12 | 2015 | 7 | 15 | female | Phoca vitulina | US Pacific | day | adult | |||
harborseal4.jpg | 7.02 | 69.89 | 2017 | 4 | 2 | 12 | 34 | Phoca vitulina | US Pacific | hour | adult | ||
harborseal5.jpg | 2022 | 5 | Phoca vitulina | US Pacific | year | adult |
Expected Behavior
From the sighting screen, the Overview tab should show the identification status with the time remaining and number of jobs its queued behind.
If the eta is invalid, it should instead display "Estimated time to complete failed to calculate. If processing does not complete within a day, re-run the job."
Current Behavior
because if the eta that FE gets is invalid, FE will show this "unknown" thing
if (!isEtaValid && isAheadValid) {
return {
id: 'PROGRESS_STATISTICS_UNKNOWN_ETA_&_QUEUE',
values: { ahead },
};
}
QA Notes
Anastasia: I can see the number of jobs in the queue now getting smaller as time passes, although it still shows "unknown time remaining". After 25 minutes, ID is still incomplete even though it now shows 0 jobs in the queue. ID completed quickly in QA server, but took 30 minutes in Zebra Codex.
As a user on the sighting search table, I can see the number of animals (encounters) in a sighting.
options are set at /src/models/sighting/useSightingSearchSchemas.js
Reported as issue under #550 by @raaaaj214
I was trying to setup the system that's when I faced an issue , I was setting up houston and for some reason when I tried to execute commands it kept giving me error "Top-level object must be a mapping "
Additional details needed
Context: arguments about names are a significant reason against collaboration within biology. People want to maintain the specific name they leverage in their personal catalogue.
By providing an automatically generated name that is associated with Codex specifically, we can promote Codex as a collaboration tool, as well as a catalogue solution, by providing a workspace with common shared nomenclature that does not threaten the name spaces used in individual catalogues.
Final design: https://www.figma.com/file/xWzUldKxiSvoKsQO4Y7azD/Codex-ID?type=design&node-id=0-1&mode=design&t=LrVVnr6vj3lJvtbo-0
Note: design assumes #508 has been completed.
User Story:
As a user on an individual page, I see the Codex ID as a chip in the summary section at the top of the individual page.
Current Behavior
/src/pages/match/QueryAnnotationsTable.jsx
currently has a column indicating the individual's score. When talking about the query annotation, having a "score" is counter-intuitive and disruptive to the interface.
Dependent on WildMeOrg/houston#870
As a Researcher+exporter or administrator on the sighting search page, I can export the filtered results of the search page as a xls
Final design mockup: https://www.figma.com/file/67AYBU2OioLcLpEVdq7uEQ/Codex%3A-support-search-of-all-sighting%2Findividual-content?node-id=0-1&t=JVxfCugm3SBQfd7t-0
Expected Behavior
Page doesn't lock
Current Behavior
Reproducible in Chome and Firefox from this page: https://qa.dyn.wildme.io/settings
unmounted components in preferences page cause lag and claim to be indicative of a react memory leak
Admins and support need to have access to changes in the platform so they can better support users
Final design: https://www.figma.com/file/9kvaU99j6Q5XjzSYTyWmtZ/Change-Log?node-id=124-448&t=3hFNSNDVGWvYqyPo-0
Technical notes:
User Stories:
QA:
arguments about names are a significant reason against collaboration within biology. People want to maintain the specific name they leverage in their personal catalogue.
By providing an automatically generated name that is associated with Codex specifically, we can promote Codex as a collaboration tool, as well as a catalogue solution, by providing a workspace with common shared nomenclature that does not threaten the name spaces used in individual catalogues.
As a user on the create individual page, I see an alert letting me know that a Codex ID will be assigned to the new individual
User story:
We want to update the theme colors to be less neon, improving the legibility of the platform.
User selected theme colors:
If platform is set to a color that doesn’t exist anymore (Lime or Sky), then it should automatically become the default on update.
Additionally, we want to reduce the stark contrast between the headings and the page.
Finally, we want to have secondary and tertiary brand colors available for body copy
Validation information:
We should just be changing the theme colors; any additional fallout (colors cascading to the wrong components, etc) should be noted, but will not be addressed as part of this effort
By giving admins and support access to a table of the changes that have taken place in the platform, we are enabling them to see patterns and problems that may improve troubleshooting and head off development and support issues
Final design: https://www.figma.com/file/9kvaU99j6Q5XjzSYTyWmtZ/Change-Log?node-id=124-448&t=3hFNSNDVGWvYqyPo-0
Context: This is just a story to create natural access within the web app to keyword management.
Final design: https://www.figma.com/file/TfpDVirbMc3K8ctrVxVBFI/Codex%3A-keyword-edit?node-id=148-9094&t=P6QjPziL0OvosqsZ-0
As an administrator on the admin console, I can access a page that allows for keyword and data management
url: /settings/keywords
Context
FE allows Contributor users to go through entire bulk upload flow, but contributors are not permitted to use bulk import on BE, so submission fails
Expected Behavior
Sign in as Contributor
Do not see "Bulk Import" under Actions menu
Current Behavior
QA Notes
Anastasia: Used the following example data while testing:
mediaAssets | decimalLatitude | decimalLongitude | year | month | day | hour | minutes | sex | species | individualID | locationID | TimeSpecificity | Life stage |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
harborseal1.jpg | 4.33 | 74.22 | 2014 | 6 | 10 | male | Phoca vitulina | SEAL-011 | US Pacific | day | pup | ||
harborseal2.jpg | 5.22 | 71.21 | 2014 | 7 | 2 | Phoca vitulina | US Pacific | day | adult | ||||
harborseal3.jpg | 6.11 | 70.12 | 2015 | 7 | 15 | female | Phoca vitulina | US Pacific | day | adult | |||
harborseal4.jpg | 7.02 | 69.89 | 2017 | 4 | 2 | 12 | 34 | Phoca vitulina | US Pacific | hour | adult | ||
harborseal5.jpg | 2022 | 5 | Phoca vitulina | US Pacific | year | adult |
At present, users can add annotations and have no notice of how to assign an annotation to an animal, allowing them to commit the sighting. A quick-and-easy update we can do is provide direct navigation to the animals tab via the pending alert
As a researcher on an uncommitted sighting, I have a call to action button to assign annotations that navigates me to the appropriate tab, no matter what tab I'm on.
Button label is "Assign" to match button label from #570
keywords get added ad hoc and from historical data sets. These frequently have issues such as typos or outdated terminology. We want to give admins the ability to update these terms ad hoc to ensure the datasets are the best representation of state of the art and professionalism
Final design: https://www.figma.com/file/TfpDVirbMc3K8ctrVxVBFI/Codex%3A-keyword-edit?node-id=148-9094&t=P6QjPziL0OvosqsZ-0
User Stories:
QA:
user clicks TOU link, tab opens but 404 error because pdf cannot be found
when user clicks TOU link, the pdf successfully opens
problem stems from where the pdf is located on production environments vs dev environments
Expected Behavior
You can edit the metadata for an Individual and save your changes.
Current Behavior
If you edit the metadata for an individual and then click Save, nothing happens and the edit window stays up.
Community Link
https://community.wildme.org/t/cant-edit-metadata-on-individual-page-in-codex/2262
QA Notes
Weird error on submit. In testing with this zebra, we couldn't save the sex or adoption name.
User story
As a researcher on the individual search table, I can see an individual's last freeform location (the freeform location of the most recent sighting associated with the individual)
Last freeform location should display immediately after last seen
Column name: Last freeform
Technical notes
table options are set up here: /src/models/individual/useIndividualSearchSchemas.js
Use the same logic as "last seen" column to determine the most recent sighting. will keep results consistently pointing at the same thing
'LAST_SIGHTING_DATE_RANGE'
Dependency on WildMeOrg/houston#908
The + button on the annotation card is supposed to indicate annotation management. This is a unique concept to this platform, and should be referenced with words, not with symbols of assumed meaning, because as it stands, users cannot self-support their way through the curation process
As a user on the Sightings > Animals tab, I see a button that says "Adjust annotations" where the "+" button is
src/pages/sighting/encounters
keywords get added ad hoc and from historical data sets. These frequently have similar intentions but wildly different representations. We need to allow our admins to manage these duplication in bulk to unify datasets in our catalog.
Final design: https://www.figma.com/file/TfpDVirbMc3K8ctrVxVBFI/Codex%3A-keyword-edit?node-id=148-9094&t=P6QjPziL0OvosqsZ-0
User Stories:
QA:
From Dev branch, when platform home screen is accessed, the system initialization screen shows before the home page loads if user is not signed in
Users need to be able to confirm no match when reviewing annotations for matching.
Dependent on ticket WildMeOrg/houston#869
User stories
As a Researcher+exporter or administrator on the individual search page, I can export the filtered results of the search page as a xls
Final design mockup: https://www.figma.com/file/67AYBU2OioLcLpEVdq7uEQ/Codex%3A-support-search-of-all-sighting%2Findividual-content?node-id=0-1&t=JVxfCugm3SBQfd7t-0
As a researcher or admin on the sighting search page, I can search using any custom encounter field, or using the default encounter fields species and sex.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.