Broken in https://github.com/galaxyproject/galaxy/pull/10087.
If the dataset is new we can't copy Metadata, it fails with
```
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/Users/mvandenb/src/galaxy/lib/galaxy/model/metadata.py", line 145, in make_dict_copy
rval[key] = self.spec[key].param.make_copy(value, target_context=self, source_context=to_copy)
File "/Users/mvandenb/src/galaxy/lib/galaxy/model/metadata.py", line 265, in make_copy
return copy.deepcopy(value)
File "/Users/mvandenb/src/galaxy/.venv/lib/python3.8/copy.py", line 153, in deepcopy
y = copier(memo)
File "/Users/mvandenb/src/galaxy/lib/galaxy/model/custom_types.py", line 232, in __deepcopy__
return MutationList(MutationObj.coerce(self._key, copy.deepcopy(self[:])))
AttributeError: 'MutationList' object has no attribute '_key'
```
I guess that's also not necessary, since `copy_from` in handle_outputs
would take care of this (and this restores the logic from https://github.com/galaxyproject/galaxy/pull/10087)
Builds on refactoring the workflow run form landing and orchestration into Vue (#9147).
Implements #9111 - part of https://github.com/galaxyproject/galaxy/projects/15 and outlined in http://bit.ly/simplified-workflow-ui.
What is in the PR:
- Add new Galaxy configuration option - ``simplified_workflow_run_ui`` set to ``off`` by default.
- If instead the admin has set this parameter to ``prefer``, on the workflow run page scan the workflow run request and if three conditions are met show a simplfied tool form. These conditions are:
- No workflow "resource parameters" - pretty niche, not documented, I don't think anyone outside of Canada is using them and even them I'm not sure if they ever got to production.
- No "open" tools (i.e. tools with disconnected runtime inputs).
- No "replacement parameters" defined outside PJAs. I'm calling #{} inside PJA and ${} inside tool steps both "replacement parameters" because the user populates them the same way in the GUI. The API only handles them inside the context of the PJA - it seems the GUI is responsible for replacing them at runtime in the traditional form.
- The simplified workflow form:
- Drops tool and subworkflow steps from rendering all together and instead just renders the inputs. These are not rendered as separate "steps" or forms - but as just different inputs the same clean, simple form (more the like tool GUI). Labels (or step indexes as a fallback) are used at the input name, step annotations are used as the input help text.
- Simplify the workflow request made by the client - send only replacement parameters and inputs - do not serialize tool state for each module. I think this makes what we are tracking more structured and should be more performant as well. Prevents storing HDA IDs in unstructured JSON blobs in the database as well.
- Drops history target option to simplify the UI - simplified_workflow_run_ui_target_history can be set to either 'current' or 'new' to adjust this parameter Galaxy-wide for the simplified form.
- Drops job caching option to simplify the UI - simplified_workflow_run_ui_cache can be set to 'off' or 'on' to change this parameter Galaxy-wide for the simplified form.
- Drops resource parameters - we've already verified there are none for simplified workflows.