-
-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create new structure for the user guide #222
Comments
Some useful links (references)Guides and Reference material
Technical Writing
|
In general, no. That particular feature is now part of the CWL standards without a prefix. It should be documented with a "v1.1+" badge. https://www.commonwl.org/v1.1/CommandLineTool.html#InplaceUpdateRequirement By now, everyone supports CWL v1.2 , so the user guide should use that version and not spend much time, if any, about differences from the previous versions. |
Adding this in case you don't have it (II might have missed it)- we should explain what an implementation is - and explain the difference between cwl-tool and other implementations so it is clear there are other implementations if you want to run at scale/have an platform/want commercial support/want to integrate with another tool (i.e. Galaxy) I have another list Peter/I drew up awhile ago so I will find it and cut and paste here in a bit. |
Additional thoughts - I think at the beginning you should explain the general difference between a tool, workflow and expression tool. I think that is what you have in the Basics but just in case I am putting this here: Other topics that might be of interest include:
You can use Peter's tutorial here for some examples: https://github.com/arvados/rnaseq-cwl-training
|
Hi @swzCuroverse !
Agreed 👍
Excellent list of resources! We can include most of these items under Tutorials & How-Tos, and the good practices definitely needs to be put somewhere well visible to users. In the last Biocommons workflows meeting (Australia) there was a poll about workflows after the Janis presentation, where many participants pointed they'd like to know where to find best practices about workflow tools (not only CWL). And my bad for not including FAIR! It completely slipped my mind, great point. Thank you! |
Thanks @kinow - this is a great and comprehensive list of contents, resources and to-do's. My two cents are:
|
Hi @skanwal
+1 to all your points! I also struggled with Keep sending the suggestions if you have any more. I received some feedback from @tetron and @swzCuroverse this week, and I'll add it to the top comment later (updating the PR for the theme/sphinx at the moment). Thank you!!! |
I have pinned this issue to attract more attention to users coming to report issues. Also added links to each section of the current User Guide in bold. You can search by "episode" if you prefer too. I called every page an episode, even though not all were episodes (e.g. Extras > YAML is "episode YAML") so that searching for it is easier here 👍 cc @tetron |
Added the Wiki about using TypeScript with CWL that @alexiswl presented yesterday in the APAC-EMEA meeting. I added it under Advanced Topics as suggested by @skanwal , but maybe it should be duplicated or mentioned in Recommended Practices too (I would recommend it for users maintaining long or complicated JS expressions). |
+1 for mentioning under both sections @kinow |
This comment was marked as duplicate.
This comment was marked as duplicate.
1 similar comment
This needs review before becoming a "recommended practice". Transpiling is cool, but how might that affect re-use? |
Yup, maybe Advanced Topics would be a better home for this then. I mentioned to @alexiswl , that would be nice to have some of pros & cons (the pros being pretty much implicit), e.g.:
|
I’m not sure all of the pros are implicit, they certainly weren’t for me until I started playing around. And this I assume is the case for many devs unfamiliar with TypeScript.
Yes and no to this one. I think TypeScript is much easier to read than ES5 JavaScript, but also very easy to pick up if a user knows JS. So, if a user is not familiar with TypeScript, I doubt that they’re particularly familiar with JavaScript. An alternative argument is that the TypeScript methods might mean that users use the JavaScript expressions of CWL more extensively, which pushes out developers unfamiliar with the TypeScript syntax.
Yes and no to this one too. I think TypeScript would be very consistent on its methods of transpiling to ES5 code so that could be a benefit. I’m not familiar with the processes on how this would be converted to a language like WDL. I think this would be an issue with JavaScript expressions in general and should be noted in the user guide if a developer wants to make their workflows language agnostic.
This is where a package-lock.json file would be useful and should make the transpilation and testing reproducible. |
Hi @AlexisW, good pointsl ! I've created the issue common-workflow-language/common-workflow-language#227 to move the discussion over there 👍 |
@kinow Can you help me figure out which parts are left "to-do"? |
Sure. I think the unchecked boxes have not been addressed here as we decided to prioritize the new structure. I left notes to myself and to future developers in the source code. So the Markdown files must contain comments (start with |
Part of common-workflow-language/common-workflow-language#219 , for post common-workflow-language/common-workflow-language#220
Supersedes common-workflow-language/common-workflow-language#5 (I've gone through its items and added them here).
Our user guide currently follows a Software Carpentry model, that is not ideal for a wider audience. This issue contains an initial brain dump for a new structure, but it will be refined after feedback in meetings and here on GitHub 👍
Table of Contents
CommandLineTool
orWorkflow
as entry point (not sure if other Processes are allowed too? But I think we should focus on cwltool in this user guide). I remember this was confusing for me at first.-
- Tutorial inconcistencies common-workflow-language#3184.1. CommandLineTool
4.2. Expressions (maybe not before other concepts?)
expressionLib
#1264.3. Inputs
4.4. Outputs
4.5. Records - rework Record inputs, dependent and mutually exclusive parameters #386
4.6. Enums - more about enums #155
4.7. Steps
4.8. Operations - Examples of Operations #218
4.9. ExpressionTool
4.10. Workflows
4.11. Environment Variables
4.12. Requirements and Hints
4.13. Advanced Topics
4.14. Best Practices
Notes, and remember-to's
pulling out a single item from an array - pulling out a specific member of an array #184
Questions
Extras
Feel free to send any suggestions, critics, ideas, etc., update this issue, or link pull requests and issues to this one or to the parent placeholder (#219).
-Bruno
The text was updated successfully, but these errors were encountered: