galaxyproject / planemo

Command-line utilities to assist in developing Galaxy and Common Workflow Language artifacts - including tools, workflows, and training materials.
https://planemo.readthedocs.io/
MIT License
86 stars 85 forks source link

Workflow best practices: check that creator identifiers are URIs #1458

Closed elichad closed 2 weeks ago

elichad commented 3 weeks ago

From https://github.com/galaxyproject/iwc/blob/main/workflows/README.md#ensure-workflows-follow-best-practices :

The "Identifier" field of a Creator added as a person should be filled with a fully qualified URI, e.g., https://orcid.org/0000-0002-1825-0097.

This PR adds a check which will emit a warning if a workflow creator is a person and their identifier is not a URI.

I'm aware this function is meant to mirror the Galaxy UI - I can try and make a matching PR for the UI, though I'm weaker on Vue/JS than Python. Thought I would open this PR first to confirm if that's worthwhile.

Context for the PR: my team is scraping Galaxy workflow RO-Crates from WorkflowHub and found a few where the generated author metadata uses just the ORCID number for the @id rather than the full ORCID URI. We are keen to help reduce those cases through improved linting!

elichad commented 2 weeks ago

Thanks @mvdbeek, fine with me! Sorry for not getting back to your comments sooner.

I haven't seen any workflows where the creator is not a list - I just wasn't sure if this could theoretically happen and pass validation elsewhere.