Skip to content
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

[REVIEW]: Autosubmit GUI: A Javascript-based Graphical User Interface to Monitor Experiments Workflow Execution #3049

Closed
40 tasks done
whedon opened this issue Feb 20, 2021 · 47 comments
Assignees
Labels
accepted HTML JavaScript published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review TeX

Comments

@whedon
Copy link

whedon commented Feb 20, 2021

Submitting author: @wuruchi (Wilmer Uruchi Ticona)
Repository: https://earth.bsc.es/gitlab/wuruchi/autosubmitreact
Version: v1.0.0
Editor: @arfon
Reviewers: @djmitche, @ikayz
Archive: 10.6084/m9.figshare.14230052.v1

⚠️ JOSS reduced service mode ⚠️

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/a8ac17f6c02fdf76098ac97ed3e09b22"><img src="https://joss.theoj.org/papers/a8ac17f6c02fdf76098ac97ed3e09b22/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/a8ac17f6c02fdf76098ac97ed3e09b22/status.svg)](https://joss.theoj.org/papers/a8ac17f6c02fdf76098ac97ed3e09b22)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@djmitche, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @arfon know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Review checklist for @djmitche

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@wuruchi) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Does the paper have a section titled 'Statement of Need' that clearly states what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Review checklist for @ikayz

Conflict of interest

  • I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • Repository: Is the source code for this software available at the repository url?
  • License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • Contribution and authorship: Has the submitting author (@wuruchi) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • Installation: Does installation proceed as outlined in the documentation?
  • Functionality: Have the functional claims of the software been confirmed?
  • Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • A statement of need: Does the paper have a section titled 'Statement of Need' that clearly states what problems the software is designed to solve and who the target audience is?
  • Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
@whedon
Copy link
Author

whedon commented Feb 20, 2021

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @djmitche it looks like you're currently assigned to review this paper 🎉.

⚠️ JOSS reduced service mode ⚠️

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

⭐ Important ⭐

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

For a list of things I can do to help you, just type:

@whedon commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf

@arfon
Copy link
Member

arfon commented Feb 20, 2021

@djmitche & @ikayz - This is the review thread for the paper. All of our communications will happen here from now on.

Please read the "Reviewer instructions & questions" in the first comment above.

Both reviewers have checklists at the top of this thread (in that first comment) with the JOSS requirements. As you go over the submission, please check any items that you feel have been satisfied. There are also links to the JOSS reviewer guidelines.

The JOSS review is different from most other journals. Our goal is to work with the authors to help them meet our criteria instead of merely passing judgment on the submission. As such, the reviewers are encouraged to submit issues and pull requests on the software repository. When doing so, please mention #3049 so that a link is created to this thread (and I can keep an eye on what is happening). Please also feel free to comment and ask questions on this thread. In my experience, it is better to post comments/questions/suggestions as you come across them instead of waiting until you've reviewed the entire package.

We aim for the review process to be completed within about 4-6 weeks but please make a start well ahead of this as JOSS reviews are by their nature iterative and any early feedback you may be able to provide to the author will be very helpful in meeting this schedule.

@whedon
Copy link
Author

whedon commented Feb 20, 2021

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/HPCSim.2016.7568429 is OK
- 10.5194/gmd-10-19-2017 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented Feb 20, 2021

👉📄 Download article proof 📄 View article proof on GitHub 📄 👈

@whedon
Copy link
Author

whedon commented Feb 20, 2021

Software report (experimental):

github.com/AlDanial/cloc v 1.88  T=234.27 s (111.1 files/s, 14807.6 lines/s)
---------------------------------------------------------------------------------------
Language                             files          blank        comment           code
---------------------------------------------------------------------------------------
JavaScript                           18446         332936         353174        1848739
JSON                                  2833            296              0         370196
Markdown                              2179          88917              4         220358
HTML                                   312          18648            405          64383
TypeScript                            1768           8268          44195          53475
CSS                                    104           1297           2642          20501
C/C++ Header                            42           1342            431           7073
C++                                     22           1292           1096           5645
D                                       20              0              0           5567
YAML                                   213            244            176           4207
XML                                      3            233             11           2011
CoffeeScript                            28            611             54           1649
LESS                                    13            272            745           1630
make                                    20            277            384            988
Bourne Shell                             8            194            132            936
Python                                   4             83            177            798
SVG                                      8             14              5            681
diff                                     1              3             13            588
Windows Module Definition                5             83              0            451
PHP                                      1             33             52             70
JSON5                                    1              0              0             55
TeX                                      1              7              0             46
Bourne Again Shell                       2             11              1             43
TOML                                     1              2              0             39
EJS                                      1              0              0              9
Lisp                                     1              0              0              6
DOS Batch                                1              0              0              2
---------------------------------------------------------------------------------------
SUM:                                 26038         455063         403697        2610146
---------------------------------------------------------------------------------------


Statistical information for the repository 'a0cb992e191e8a4c34575aa3' was
gathered on 2021/02/20.
The following historical commit information, by author, was found:

Author                     Commits    Insertions      Deletions    % of changes
Wilmer Uruchi Ticona            59       2258199         102129           61.41
bleudchanel                     68       1098792         375195           38.35
wuruchi                         24          7716           1673            0.24

Below are the number of rows from each author that have survived and are still
intact in the current revision:

Author                     Rows      Stability          Age       % in comments
bleudchanel             1084557           98.7          4.0               11.96
wuruchi                 1966741        25489.1          2.0               16.12

@djmitche djmitche self-assigned this Feb 20, 2021
@arfon
Copy link
Member

arfon commented Feb 21, 2021

@whedon add @ikayz as reviewer

@whedon
Copy link
Author

whedon commented Feb 21, 2021

OK, @ikayz is now a reviewer

@arfon
Copy link
Member

arfon commented Feb 21, 2021

@whedon re-invite @ikayz as reviewer

@whedon
Copy link
Author

whedon commented Feb 21, 2021

The reviewer already has a pending invite.

@ikayz please accept the invite by clicking this link: https://github.com/openjournals/joss-reviews/invitations

@arfon
Copy link
Member

arfon commented Feb 21, 2021

@ikayz - many thanks for agreeing to review this submission! I've added a checklist for you above. Please take a look at the message I posted earlier in the thread on what to do next.

Any questions, please ask!

@ikayz
Copy link

ikayz commented Feb 22, 2021

@arfon thanks I'll check them out and ask questions

@wuruchi
Copy link

wuruchi commented Feb 23, 2021

Hello @arfon @djmitche @ikayz

We are very happy to have progressed into this stage of the process, and we are glad to be working with you.

As a note:

From the author's analysis: Wilmer Uruchi Ticona, bleudchanel, and wuruchi are all my usernames. I guess some of them got mixed in when I switched to working from home around March/April of 2020.

@ikayz
Copy link

ikayz commented Feb 23, 2021

I'm glad to assist in anyway. I was wondering if all those user names are different people 😅

@djmitche
Copy link

djmitche commented Mar 2, 2021

I meant to get to this over the weekend, but I will find time during this week to do so. Sorry!

@djmitche
Copy link

djmitche commented Mar 3, 2021

I'm midway through review, but have a few comments, none of them major.

First, the tests fail for me:

 FAIL  src/components/context/utils.test.js
  ● 1604334422 is converted to [2/11]17:27:02

    expect(received).toBe(expected) // Object.is equality

    Expected: "[2/11] 17:27:02"
    Received: "[2/11] 11:27:02"

      2 |
      3 | test('1604334422 is converted to [2/11]17:27:02', () => {
    > 4 |   expect(timeStampToDate(1604334422)).toBe("[2/11] 17:27:02");
        |                                       ^
      5 | });
      6 |
      7 | test('1600 seconds to delta 00:26:40', () => {

      at Object.<anonymous> (src/components/context/utils.test.js:4:39)

Summary of all failing tests
 FAIL  src/components/context/utils.test.js
  ● 1604334422 is converted to [2/11]17:27:02

    expect(received).toBe(expected) // Object.is equality

    Expected: "[2/11] 17:27:02"
    Received: "[2/11] 11:27:02"

      2 |
      3 | test('1604334422 is converted to [2/11]17:27:02', () => {
    > 4 |   expect(timeStampToDate(1604334422)).toBe("[2/11] 17:27:02");
        |                                       ^
      5 | });
      6 |
      7 | test('1600 seconds to delta 00:26:40', () => {

      at Object.<anonymous> (src/components/context/utils.test.js:4:39)

I suspect this is because I'm not in the CET timezone!

Second, the paper is mostly fine but I found the sentence about Javascript starting on line 70 ("This programming language has..") to be needlessly opinionated -- my reaction was "if you hate JS so much why did you do this project?" The paper would still be complete without the sentence.

Finally, a point of clarification for myself: is autosubmit, and with it this application, something which might be installed by other HPC groups, or is it specific to BSC? AIUI that doesn't affect eligibility for the paper, but is relevant in judging the usefulness of the documentation.

Thanks!

@djmitche
Copy link

djmitche commented Mar 3, 2021

Actually, I'd like some confirmation/guidance on the last point, @arfon.

@wuruchi
Copy link

wuruchi commented Mar 3, 2021

Hello @djmitche

Thanks for the feedback.

I suspect this is because I'm not in the CET timezone

Looks like we forgot to test against other timezones. Working on it.

Second, the paper is mostly fine but I found the sentence about Javascript starting on line 70 ("This programming language has..") to be needlessly opinionated

You are correct. I guess we tried to convey some of the controversy surrounding Javascript in a way that emphasizes that despite that controversy, we still think it is a good choice. That sentence will be reworded.

is autosubmit, and with it this application, something which might be installed by other HPC groups, or is it specific to BSC?

Autosubmit can be installed by other HPC groups but would require some configuration to address any particular setting in the new environment. Autosubmit GUI consumes an API whose data is generated by Autosubmit at BSC, but another workflow manager can (in theory) generate similar information and Autosubmit GUI can be adapted to consume that information. The main objective is that Autosubmit GUI can be used as a template or starting point for other HPC groups that need a visual monitoring tool for their workflow managers, or if they decide to use Autosubmit.

@wuruchi
Copy link

wuruchi commented Mar 3, 2021

@whedon generate pdf

@ikayz
Copy link

ikayz commented Mar 7, 2021

@wuruchi so I've done I think half of the review. Some feedback, the node_modules folder causes an issue on Windows-based machines (Tried it on two machines, same result). I noticed they were not ignored in the gitiginore file. I had to delete the directory and reinstall the dependencies by running npm install. The tests are failing to run due to canvas.node

image

Jest failed to run until I installed it as a dev dependency. This might be a Windows-related error. These are my finds so far.

@djmitche
Copy link

djmitche commented Mar 7, 2021

Yikes, how did I miss that? node_modules definitely should not be in version control! Note, too, that yarn sees to be the de-facto replacement for npm. Assuming node_modules is in the repo due to some bug with npm, switching to yarn is probably the fix.

@wuruchi
Copy link

wuruchi commented Mar 8, 2021

Hello @ikayz @djmitche

I'm still struggling with this a little bit. The README addresses the first two, and (3) isn't an issue since groups outside BSC wouldn't use this software. The JOSS guidelines are silent on this issue, so I'll check the box.

We can say that at BSC we are open to collaboration, and any team willing to seek support to adapt/modify/improve this application can contact us. I added a line about it at the end of the README.

node_modules definitely should not be in version control! Note, too, that yarn sees to be the de-facto replacement for npm.

I guess we included it at some point in the repository because we were not really sure about our dependencies. I have deleted the node_modules folder and included the necessary installation instructions on the README.

I had a look through the source and this seems like a solid, well-factored React app. Anyone familiar with React dev could jump into this quickly and solve a bug or add a feature. Nice work!

Thank you!

Some feedback, the node_modules folder causes an issue on Windows-based machines (Tried it on two machines, same result). I noticed they were not ignored in the gitiginore file. I had to delete the directory and reinstall the dependencies by running npm install.

Thanks for your time @ikayz. I have deleted the node_modules folder from the repository and made sure that the install process runs without issues. I have tested it (from a fresh clone) on an OSX machine and also on a Windows machine without issue. I used git bash on the windows machine. Please test it again, it should work fine now.

@wuruchi
Copy link

wuruchi commented Mar 17, 2021

Hello @ikayz

I wonder if there is anything else you need to continue with the review process.

Best regards.

@ikayz
Copy link

ikayz commented Mar 17, 2021

@wuruchi sorry I was caught up with something, I finished the review and tried the app with the implemented changes. It works, all the tests pass and I've checked everything the checklist mentioned. It's a well-written React app, good job. My test machine is a Windows 10 build and here by do confirm the app works.
image

@wuruchi
Copy link

wuruchi commented Mar 17, 2021

@wuruchi sorry I was caught up with something, I finished the review and tried the app with the implemented changes. It works, all the tests pass and I've checked everything the checklist mentioned. It's a well-written React app, good job. My test machine is a Windows 10 build and here by do confirm the app works.

Hello @ikayz

Thank you for your time and the compliments!

I guess it is now my turn to make a tagged release and upload it to get a DOI. I have taken these steps and as a result we have:

Autosubmit GUI uploaded as autosubmitreact-v1.0.0 (v1.0.0 is the current version).

The DOI is https://doi.org/10.6084/m9.figshare.14230052.v1

Is it Ok @arfon?

@ikayz
Copy link

ikayz commented Mar 17, 2021

It was an honour and a previlege to review it.

@arfon
Copy link
Member

arfon commented Mar 17, 2021

@whedon set 10.6084/m9.figshare.14230052.v1 as archive

@whedon
Copy link
Author

whedon commented Mar 17, 2021

OK. 10.6084/m9.figshare.14230052.v1 is the archive.

@arfon
Copy link
Member

arfon commented Mar 17, 2021

@whedon accept

@whedon
Copy link
Author

whedon commented Mar 17, 2021

Attempting dry run of processing paper acceptance...

@whedon whedon added the recommend-accept Papers recommended for acceptance in JOSS. label Mar 17, 2021
@whedon
Copy link
Author

whedon commented Mar 17, 2021

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/HPCSim.2016.7568429 is OK
- 10.5194/gmd-10-19-2017 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@whedon
Copy link
Author

whedon commented Mar 17, 2021

👋 @openjournals/joss-eics, this paper is ready to be accepted and published.

Check final proof 👉 openjournals/joss-papers#2152

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#2152, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.

@whedon accept deposit=true

@wuruchi
Copy link

wuruchi commented Mar 17, 2021

Looks good to me.

@whedon accept deposit=true

@danielskatz
Copy link

@wuruchi - you can't do this - just the AEiC on duty can

@wuruchi
Copy link

wuruchi commented Mar 17, 2021

@danielskatz Oh, sorry about it. 😬

@arfon
Copy link
Member

arfon commented Mar 19, 2021

@whedon accept deposit=true

@whedon
Copy link
Author

whedon commented Mar 19, 2021

Doing it live! Attempting automated processing of paper acceptance...

@whedon whedon added accepted published Papers published in JOSS labels Mar 19, 2021
@whedon
Copy link
Author

whedon commented Mar 19, 2021

🐦🐦🐦 👉 Tweet for this paper 👈 🐦🐦🐦

@whedon
Copy link
Author

whedon commented Mar 19, 2021

🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited 👉 Creating pull request for 10.21105.joss.03049 joss-papers#2154
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.03049
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! 🎉🌈🦄💃👻🤘

Any issues? Notify your editorial technical team...

@arfon
Copy link
Member

arfon commented Mar 19, 2021

@djmitche, @ikayz - many thanks for your reviews here. JOSS relies upon the volunteer efforts of people l like you and we simply wouldn't be able to do this without you ✨

@wuruchi - your paper is now accepted and published in JOSS ⚡🚀💥

@arfon arfon closed this as completed Mar 19, 2021
@whedon
Copy link
Author

whedon commented Mar 19, 2021

🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.03049/status.svg)](https://doi.org/10.21105/joss.03049)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.03049">
  <img src="https://joss.theoj.org/papers/10.21105/joss.03049/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.03049/status.svg
   :target: https://doi.org/10.21105/joss.03049

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

@ikayz
Copy link

ikayz commented Mar 19, 2021

@arfon thanks to you for the opportunity and always happy to contribute to Open Source. Looking forward to future opportunities like these.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted HTML JavaScript published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review TeX
Projects
None yet
Development

No branches or pull requests

6 participants