Closed hepcat72 closed 1 month ago
Possibly the same as #1047
I have an error-free version of the "backward_compatibility
" branch, but there are still some things I want to do. I might not do all of this in one PR. In fact, some of what I've done could/should be broken up, but I need to organize my thoughts on what's left to do...
test_convert_df_v3
test_convert_df_v2
test_load_study_v3_command
test_load_study_v2_command
test_name_from_data
(Infusate)DataValidationView
ConvertedTableLoader
merge_dict
class attribute would be optional and reverting would not involve grabbing data from the merge_dict
. It also means that the overrides of convert_df
(and other method(s)) would no longer be necessary. #1147StudyLoader
and PeakAnnotationsLoader
that detect format/version be a part of ConvertedTableLoader
as either generic methods or abstract class attributes. #1146Done. Remaining issues were split off to separate issues.
FEATURE REQUEST
Inspiration
The new submission process made a few column changes necessary for inter-sheet interactions, to support features like dynamic autofill and dynamic drop-down population (based on other sheets' content). This means that if you try to submit old animal/sample sheets to the build-a-submission page or try to load old data using the new
StudyLoader
, you would run into exceptions.Description
Given the new
ConvertedTableLoader
class, it should be fairly straightforward to support legacy data by making the newSamplesLoader
andAnimalsLoader
inherit fromConvertedTableLoader
instead of directly fromTableLoader
and define the changes necessary to convert version 2 data to version 3. There would also have to be some code added to detect version, but that should similarly be straightforward.The following is a rough estimate of the changes necessary:
Make
StudyLoader
able to recognize the versions and callStudiesLoader
, even if the sheet is not present. So makeStudiesLoader
inherit fromConvertedTableLoader
as well.Update
DataValidationView
to determine the submitted file version and apply that version to the methods that check version, and accept version 2.Alternatives
One alternative would be to edit the existing rabinowitz repo data to convert v2 data to v3.
Dependencies
This issue cannot be started until the completion of the following issue(s)/ pull request(s):
1030
Comment
None
ISSUE OWNER SECTION
Assumptions
Limitations
Affected Components
Requirements
DESIGN
Interface Change description
None provided
Code Change Description
None provided
Tests