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

Production Update: Validation & Filtration #182

Merged
merged 395 commits into from
Dec 3, 2024

Conversation

siddheshraze
Copy link
Collaborator

  • Validation system has been overhauled and updated. Testing has been run and confirmed to work successfully.
  • Row filtering has also been updated. Filtration system has been enhanced to also handle visibility, and updating checkboxes now directly reloads data instead of filtering existing paginated system.
  • Documentation workflow created and integrated into build sequence.
  • Removed plot-species navigation endpoint
  • Attempting shift to use edge runtime to ensure that future upgrades to Next v15+ do not cause systematic failures (edge runtime required as part of 15+)

…oved to file upload stage

2. Measurements Summary Grid Columns' measurementDate column updated to type string. Moment-based date check added and conversion to date and then to datestring added.
3. date-fns typescript package added
4. upload parent compartmentalized into new separate modal component. All datagrid views updated to use this in place of existing manual modal creation
5. uploadparentmodal enhanced to restrict users from exiting modal by any means other than pressing the X button.
6. uploadstart stage updated to simplify and reduce complexity. components moved to center and back/finalize button adjusted to be more visually appealing.
…ht active parts of the upload system and separate them from the administrative parent component uploadparent.tsx

2. added modal system to compartmentalize upload parent system into dedicated state-managed variable system
…te and datagridhelpers.ts handling to show validation history (future-proofing, not currently in use)
1. datagridcommons (and validation procedures) -- multiple rows with validation errors were not being highlighted (only one at a time).
After investigating, it was determined that the bug was in the structuring of the validation procedures, which was overwriting or removing
past validation errors for a given coremeasurementID. It seems to be working now.
2. sidebar -- sidebar-independent scrolling implemented to ensure that main page stretching does not occur.
3. login -- automated slideshow of background images was only running once. interval system and reset implemented to ensure that it runs continuously
when the login page is open.
4. measurementssummary -- API route updated to remove duplicate validation error querying, which was also causing issues with the row error display.
Output was also not being parsed correctly, leading to problems with pagination, now corrected.
5. styleddatagrid -- border outlining was not rendering properly, corrected

New features/functionality:
1. stemtreedetails -- page created in measurementshub, custom view and route implemented, and configuration added to generic datagrid.
helper functions added as needed, and RDS macros implemented.
2. dynamic routing system implemented for validation procedures -- all manual routes have been collapsed into one route
3. default limits -- species table updated to include default max/min DBH & HOM values that are now queried in place of using hardcoded values.
4. subspecies -- page created in properties hub. Currently unpopulated, but CRUD system will need testing to ensure correct function.
2. removing azure storage container text
3. removing endless login page slide loop (set to 30s)
4. removing endless icon loop (set to 30s)
…rences added directly to datagridcommons instead of passing it in via parameter.
…s part of this, refactoring all config macros into dedicated files and functions to reduce complexity of each file.
…ed back now for some reason. removing it again
1. Documentation application Writerside added and populated with table definitions to use as reference point for RDS type updates later on.
2. Extraneous /fetchall API endpoints removed to reduce clutter
3. File-specific API endpoints centralized into new /filehandlers folder
4. CoreMeasurements API endpoint moved into /fixeddata folder. References updated.
5. Plot and Census contexts were previously being drilled via props into upload segments. Drilling replaced with direct calls to the context instead.
6. Formatting applied across frontend/ directory.
7. RDSDefinitions folder fully populated with respective RDS type definitions and GridColDef datagrid column fields.
8. NPM module critical warning fixed with npm audit fix --force.
…ith dynamic routing. Added subquadrat processing to fixeddata API set and finished integrating subquadrat retrieval into layout and context files.
…ng measurements upload system. Beginning integration of subquadrats into quadrats page instead of having a dedicated subquadrats page (will reduce confusion, since subquadrats are not technically needed for SI server upload)
…. Saving changes before removing existing/outdated APIs and moving their function to the dynamic system. New system will only require 1 API route, which will vastly improve project readability.
…dified to be compatible with all data types so far. Plot creation interface has been added as well and tested to confirm that creation works properly.
1. Created and implemented vitest unit tests. Vitest was selected on account of its higher efficiency than Jest, and compatibility with NextJS's newer versions (current version is set to 14.2). However, end-to-end testing still needs to be implemented. Testing showed Cypress is not compatible with NextJS v12+ yet, and Playwright proved to be a little too complicated to execute within the scope of the current development window. This will need to be phased in down the road, I think.
2. Upload system was updated to integrate with the updated version schema. Systemwide changes were required due to the degree of differentiation between the prior schema and the current version, focusing particularly on the processcensus.tsx file and its supporting functions.
3. Sidebar received large function shift -- was lifted to allow users to create, edit, or remove plots. Additional confirmation dialog added for deletion system. Form setup used for plot addition or editing was enhanced and customized with individual validations -- coordinate and dimension values are now required to be > 0, and area measurements are now automatically calculated, with the field being disabled to user input accordingly. Sidebar was also lifted to enhance the function of the census selection modal. Additional dialogs and button functions incorporated to allow users to "open", "reopen", or "close" a census directly from the sidebar. Census closure dialog was enhanced to require users to submit a date after the listed start date in order to successfully close the census. Census deletion was added, but summarily deleted, with an alert to inform the user that census deletion is not available added.
4. IDB integration was updated to resolve issues with implementation of manual reset. System will now dynamically upgrade DB version to automatically clear stored browser cookies. Please note that this does not affect function in any way and is a pseudo-upgrade solely to clear the browser's cache.
5. Datagrid was repaired following testing that showed that modification of the attributes datagrid was not working correctly, and integration of the dynamic fixeddata routing handler was not correctly performed. Deep-scope changes added to facilitate this.
6. Measurements Summary View page was strongly enhanced to add features to 1) highlight rows that are pending validation but have not failed any validations, 2) enhance the function of the measurements upload systemn as follows: previously, it was possible to directly upload measurements files without uploading requisite fixed data (quadrats, personnel, species, etc). This has been removed and replaced with a detailed dialog that polls each of these fixed data tables and returns a detailed message to the user using progress bars and tooltips to inform them of which tables are missing population.
7. Site navigation system was reworked to incorproate new icons and adapted to the new website structure. Stemtreedetails view page was removed and replaced with the other new views.
…components -- hoping to reduce this file size since it's crossed 1500 lines and also retrieve functionality I can reuse elsewhere.
siddheshraze and others added 26 commits November 5, 2024 11:07
…o datagrid to simplify download process row extraction -- using the same query will ensure that the output will be exactly the same as the fixeddata pull
…g expanded to dynamically re-query data set when checked states change.
…ested and confirmed. error highlighting is rendering correctly.
@siddheshraze siddheshraze merged commit f7adc95 into main Dec 3, 2024
5 checks passed
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

Successfully merging this pull request may close these issues.

2 participants