Question: How save is the optional attribute ? I mean how consequent are you in this matter when the tool definition xml is to be created.
It's not clear to me what you're asking. That said, it's important to distinguish between Galaxy tool wrappers and their corresponding tools. Either deliberately or inadvertently, the wrapper may have different behavior than the tool. For example, an optional tool parameter may not be optional in the Galaxy wrapper because the wrapper author believes that explicitly setting a value is critical.
Is there any relation to the conditional tag ?
No relation, but there can certainly be some confusion between conditional and optional parameters. It's not clear what the best way to solve this issue is.
Another question: Have you ever thought about pipes. It seems that the tool xml schema entirely ignores it. For instance one could easily tag an input parameter to be able to read from stdin or to write to stdout/stderr. Especially samtools and bedtools do support pipes. Is there an obvious reason not to use it ?
Galaxy's treats each tool run autonomously right now; e.g., each tool run is submitted to the cluster as a separate job. This approach prevents pipes from being used. However, we are definitely interested in extending Galaxy to support piping in the future. J.