[galaxyproject/galaxy] 788ed8: Improve data initialization of rule builder for lo...
Branch: refs/heads/release_18.05 Home: https://github.com/galaxyproject/galaxy Commit: 788ed8aa43296537c6439d0fea7a5446ffe15da0 https://github.com/galaxyproject/galaxy/commit/788ed8aa43296537c6439d0fea7a5... Author: John Chilton <jmchilton@gmail.com> Date: 2018-05-14 (Mon, 14 May 2018) Changed paths: M client/galaxy/scripts/components/RuleCollectionBuilder.vue M client/galaxy/scripts/mvc/collection/list-collection-creator.js M client/galaxy/scripts/mvc/rules/rule-definitions.js M client/galaxy/scripts/mvc/upload/collection/rules-input-view.js Log Message: ----------- Improve data initialization of rule builder for long term support. A mistake was made in the rush to rule-builder-all-the-stuffs - libraries, hdas, and FTP all initialized a different set of columns from the data (which is probably fine) but with no indication this was happening in the underlying rules (which is definitely not fine). To understand why this was a mistake and see why in the long term this hurts reproducibility, take loading rules for HDAs from the history panel as an example. In the initial implementation it would pre-initialize two columns - one for "hid" and one for "name" - any rules that were generated from there would start with an implicit assumption of two columns. This is a problem because if someone saves some rules and we (Galaxy developers) decide later on that name tag should be in the initial list but HID doesn't make sense and make that change - we basically are breaking all existing rules to support a very logical change in behavior. Likewise, Galaxy produces a hash with last modified date and size for each FTP entry - this is data we have and could stick in the rule builder by default - but if we change that over time existing FTP rules will break. It would be much more sustainable to instead include the initial column generation information in the initial rules generated - so that each of these modalities start in reality with an empty table and the initial set of rules describe what metadata to pull initial columns from. This way if you save a set of rules it will include the initial column choices, and if they are pasted in at some later point where columns are picked differently - the rules will still work because you are replacing the initial column definitions. The initial rules implementation didn't have this concept of loading columns from metadata - but this was added to support loading existing identifiers as part of the "Apply Rules to Existing Collection" tool. This commit extends that idea to do the same thing (but with different columns) when loading data from HDAs, FTP, and data libraries. Commit: 3d6443b58bfa0200cf775b569c542be326476493 https://github.com/galaxyproject/galaxy/commit/3d6443b58bfa0200cf775b569c542... Author: Dannon <dannon.baker@gmail.com> Date: 2018-05-15 (Tue, 15 May 2018) Changed paths: M client/galaxy/scripts/components/RuleCollectionBuilder.vue M client/galaxy/scripts/mvc/collection/list-collection-creator.js M client/galaxy/scripts/mvc/rules/rule-definitions.js M client/galaxy/scripts/mvc/upload/collection/rules-input-view.js Log Message: ----------- Merge pull request #6134 from jmchilton/rule_fixes_8 Improve data initialization of rule builder for long term support. Compare: https://github.com/galaxyproject/galaxy/compare/076e1ddaecd4...3d6443b58bfa **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/ Functionality will be removed from GitHub.com on January 31st, 2019.
participants (1)
-
GitHub