as documented in the xsd
in addition fix https://github.com/galaxyproject/galaxy/issues/14324,
i.e. document the `separator` attribute of options
also doc that only 1MB is used and lines starting with `#` are always
ignored
showing that its currently not possible to select no column
and the same for a select with dynamic options (wo legal_values)
that shows that it works here
Include a test tool that fails like this without the fix:
```
Traceback (most recent call last):
File "/Users/mvandenb/src/galaxy/lib/galaxy/util/template.py", line 80, in fill_template
return unicodify(t, log_exception=False)
File "/Users/mvandenb/src/galaxy/lib/galaxy/util/__init__.py", line 1060, in unicodify
value = str(value)
File "/Users/mvandenb/src/galaxy/.venv/lib/python3.9/site-packages/Cheetah/Template.py", line 1053, in __unicode__
return getattr(self, mainMethName)()
File "cheetah_DynamicallyCompiledCheetahTemplate_1631180564_759418_48584.py", line 89, in respond
File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/wrappers.py", line 342, in is_of_type
datatype = self.datatypes_registry.get_datatype_by_extension(e)
AttributeError: 'NoneType' object has no attribute 'get_datatype_by_extension'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/mvandenb/src/galaxy/lib/galaxy/jobs/runners/__init__.py", line 237, in prepare_job
job_wrapper.prepare()
File "/Users/mvandenb/src/galaxy/lib/galaxy/jobs/__init__.py", line 1160, in prepare
self.command_line, self.extra_filenames, self.environment_variables = tool_evaluator.build()
File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/evaluation.py", line 463, in build
raise e
File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/evaluation.py", line 459, in build
self.__build_command_line()
File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/evaluation.py", line 484, in __build_command_line
command_line = fill_template(command, context=param_dict, python_template_version=self.tool.python_template_version)
File "/Users/mvandenb/src/galaxy/lib/galaxy/util/template.py", line 118, in fill_template
return fill_template(template_text=template_text,
File "/Users/mvandenb/src/galaxy/lib/galaxy/util/template.py", line 126, in fill_template
raise first_exception or e
File "/Users/mvandenb/src/galaxy/lib/galaxy/util/template.py", line 80, in fill_template
return unicodify(t, log_exception=False)
File "/Users/mvandenb/src/galaxy/lib/galaxy/util/__init__.py", line 1060, in unicodify
value = str(value)
File "/Users/mvandenb/src/galaxy/.venv/lib/python3.9/site-packages/Cheetah/Template.py", line 1053, in __unicode__
return getattr(self, mainMethName)()
File "cheetah_DynamicallyCompiledCheetahTemplate_1631180564_725492_78593.py", line 87, in respond
File "/Users/mvandenb/src/galaxy/lib/galaxy/tools/wrappers.py", line 342, in is_of_type
datatype = self.datatypes_registry.get_datatype_by_extension(e)
AttributeError: 'NoneType' object has no attribute 'get_datatype_by_extension'
```
Broken in https://github.com/galaxyproject/galaxy/pull/11613
If the `Set value for this optional select field ? `switch is set to no
we serialize the value as `null` instead of `""`, which is especially
important in optional select fields, where `""` may correspond to an
option that is distinct from not setting a value.
I have only enabled this for select parameters that are cast to text
parameters, but I think this discrimination between set and unset
would also be great for optional text parameters.
There might be a better way to do it in the UI (maybe some icon that
indicates that the value is set, that can be toggled with an backspace
when the field is empty?), but I think this will do for the relatively
rare case of optional select parameters that are cast to text fields.
Fixes https://github.com/galaxyproject/galaxy/issues/12081