You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the recent EBRAINS Software Distribution (ESD) Hackathon in Heidelberg, a potential weakness of Cobrawap has been pointed out.
As well documented here, for a fixed profile of analysis, different variants can be used, differentiated by using the | character. E.g., for main configuration profile config_some_profile.yaml, we could have two different variants:
config_some_profile|variant_1.yaml
config_some_profile|variant_2.yaml
Actually, the use of pipes in filenames can be a very likely pitfall, either for what regards filename parsing by external libraries (see the case of neo package), and more in general for filesystem robustness and portability. Also, many expert users may be used to manipulate files through the shell, and having |'s in filenames requires extra efforts for avoiding the interpretation of | as a "concatenate" command.
A possible solution for variants can be the already implemented use of the _ hierarchy in profile naming. So in the example above, the two variants would be:
config_some_profile_variant_1.yaml
config_some_profile_variant_2.yaml
which already have higher priority with respect to config_some_profile.yaml (exactly as it used to be before).
The text was updated successfully, but these errors were encountered:
The crux is to choose a character that may not already be used in the path, and because _ has already another function I landed on |. In the pipeline, filenames are automatically quoted to not get in trouble with the bash meaning of characters.
However, let's discuss about a more elegant solution.
During the recent EBRAINS Software Distribution (ESD) Hackathon in Heidelberg, a potential weakness of Cobrawap has been pointed out.
As well documented here, for a fixed profile of analysis, different variants can be used, differentiated by using the
|
character. E.g., for main configuration profileconfig_some_profile.yaml
, we could have two different variants:config_some_profile|variant_1.yaml
config_some_profile|variant_2.yaml
Actually, the use of pipes in filenames can be a very likely pitfall, either for what regards filename parsing by external libraries (see the case of
neo
package), and more in general for filesystem robustness and portability. Also, many expert users may be used to manipulate files through the shell, and having|
's in filenames requires extra efforts for avoiding the interpretation of|
as a "concatenate" command.A possible solution for variants can be the already implemented use of the
_
hierarchy in profile naming. So in the example above, the two variants would be:config_some_profile_variant_1.yaml
config_some_profile_variant_2.yaml
which already have higher priority with respect to
config_some_profile.yaml
(exactly as it used to be before).The text was updated successfully, but these errors were encountered: