bio-tools / biotoolsSchema

biotoolsSchema : Tool description data model for computational tools in life sciences
Creative Commons Attribution Share Alike 4.0 International
36 stars 12 forks source link

Rename 'Component' to 'Plug-in' to minimise vagueness #53

Closed matuskalas closed 8 years ago

matuskalas commented 8 years ago

Wikipedia: "In computing, a plug-in (or plugin, add-in, addin, add-on, addon, or extension) is a software component that adds a specific feature to an existing computer program."

Synonyms: plugin, add-in, addin, add-on, addon, extension

NB.! JavaScript "components" are programmatic libraries, not plug-ins to an application.

magnuspalmblad commented 8 years ago

"Components" is also used to refer to parts or processing steps of workflows. So yes, the proposed name change is sound.

matuskalas commented 8 years ago

AND NB.!

Plug-ins and Library-ies are types of Interfaces, while e.g. Workflow-s are types of Resource-s!

And we need an is plug-in to relation!

Examples:

magnuspalmblad commented 8 years ago

Was that a response to my comment (in 8 seconds)? If so, your typing speed is impressive! I was just agreeing the word "components" has many different meanings. Did not mean to add to any confusion!

matuskalas commented 8 years ago

@magnuspalmblad Nope, I wasn't that fast :-), but I fully agree with your comment :+1: I was just adding thoughts about Resource versus Interface with respect to workflows/plug-ins/macros/script.


To continue my "... ?": Do we need an Interface type Script? For executable scripts (programs, workflows), that don't have APIs (and thus aren't Library-ies). That would apply to CWL workflows, BASH scripts, Snakemake workflows, R and Python scripts that aren't packaged with an API as libraries, .... Or do these then always have Interface type Command line? Opinions? @hmenager @jvanheld @mr-c @smoe ...

mr-c commented 8 years ago

Scripts, in the way I think about them, are executed from the command line (amongst other interfaces) -- so I don't understand what the Interface type Script would mean.

CWL descriptions of command line tools and the workflows built from them are executable from the command line as well (but are also executable from other context; like the Galaxy web-based GUI).

joncison commented 8 years ago

folks FYI in the bio.tools candidate stable schema (https://github.com/bio-tools/biotoolsxsd/tree/master/biotools-2.0-beta-01, see also See also https://docs.google.com/document/d/1tqw7FELV4F_qzrTA9KpVYoORAeFPyY1ZOjaGTPN2H1E/edit#heading=h.fffoc8urhpt8) the notions of resource type and interface type have been merged, to yield e.g. "Command-line tool" and "Web application". I think this is much clearer for users.

matuskalas commented 8 years ago

@joncison: I'm sceptical that merging Interfaces and Resources is a good idea. I'd rather see a tool | workflow | workbench | etc. having interface command-line | API | GUI | etc.. Over-simplifying the reality may lead to even more and more chaotic and untrue tools annotations, doubtfully useful relations between tools, and in general limited value to bio.tools users.


@mr-c: There are some scripts that are executable in broadly used shells, e.g. BASH. And there are scripts in special languages, that need special interpreters to execute them, like CWL. How should those 2 groups be distinguished in bio.tools? @hmenager @jvanheld @smoe

mr-c commented 8 years ago

@matuskalas Personally I don't distinguish between bash, python, or cwl-runner in a low level sense -- they are all text documents that begin with #! and the name of the interpreter ..

matuskalas commented 8 years ago

@mr-c Fair enough, perhaps that's a good practical simplification to label all those as having CLIs.

What then still stays for giving it some more thinking & discussing, is whether Resource & Interface should be conflated or modelled. I still see too many reasons for the latter. (and thus for sticking to what we came up with in a joint group effort at the Tools|Workbenches|Workflows hackathon at Pasteur)

joncison commented 8 years ago

UPDATE

In 2.0-beta02 (out soon)

Hope this helps.