This aligns with most other uses of visit_input_values and fixes the job
cache when data inputs are in nested conditionals. Without the fix the
`name` attribute of `JobToInputDatasetAssociation` would not contain the
fully prefixed parameter. For trinity
(https://github.com/galaxyproject/tools-iuc/blob/72ae2e05f35098c4cb6dd4f038bff07fd36917ed/tools/trinity/trinity.xml#L195)
this would be `pool|left_input`, where `pool` is the outer conditional.
With this fix it would be `pool|inputs|left_input`, which matches what
we have in the tool state.
Fixes
```
UnboundLocalError: local variable 'sorted_elements' referenced before assignment
File "galaxy/tools/__init__.py", line 1909, in handle_single_execution
rval = self.execute(
File "galaxy/tools/__init__.py", line 2005, in execute
return self.tool_action.execute(
File "galaxy/tools/actions/model_operations.py", line 83, in execute
self._produce_outputs(
File "galaxy/tools/actions/model_operations.py", line 108, in _produce_outputs
tool.produce_outputs(
File "galaxy/tools/__init__.py", line 3490, in produce_outputs
for dce in sorted_elements:
```
in https://sentry.galaxyproject.org/share/issue/264aea1fd3994e5ba67ab80fcbd2c577/
with manual fixes to 3 files to make them compatible with black 22.12.0 .
We need to keep black pinned at `<23` until we vendorise `packaging`, since
the new version of black depends on `packaging >=22.0` which is the version
where `LegacyVersion` (which we use for tool lineages) was removed.
- Implement APIs for serving Galaxy's public datasets as DRS objects.
- Implement support in galaxy.files.uris for DRS URIs so that upload, etc... can use DRS URIs from other data repositories.
The ways this can be improved are endless:
- New object ID patterns can be implemented to allow access to composite data, metadata files from a bundle view of datasets.
- New object ID patterns can be implemented to allow access to collections as bundles of datasets.
- More auth types and AccessMethods could be implemented for loading datasets from clients.
- Some sort of scheme for providing authenticated URLs to non-public data could be implemented to provide access to more of Galaxy's data if user's can implement.
Despite all these limitations - I think having the guts in like this provide useful points for interested parties to go and add functionality to enable their desired usecases.