openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
708 stars 37 forks source link

[REVIEW]: VTUFileHandler: A VTU library in the Julia language that implements an algebra for basic mathematical operations on VTU data #4300

Closed editorialbot closed 2 years ago

editorialbot commented 2 years ago

Submitting author: !--author-handle-->@baxmittens<!--end-author-handle-- (maximilian bittens) Repository: https://github.com/baxmittens/VTUFileHandler Branch with paper.md (empty if default branch): Version: v0.2.0 Editor: !--editor-->@jbytecode<!--end-editor-- Reviewers: @dmbates, @mkitti Archive: 10.5281/zenodo.6576155

Status

status

Status badge code:

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

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

@dmbates & @mkitti, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @jbytecode 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 āœØ

Checklists

šŸ“ Checklist for @mkitti

šŸ“ Checklist for @dmbates

editorialbot commented 2 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

mkitti commented 2 years ago

Do you just use the Paraview UI to File -> Open the VTU files?

If I typed the following in a shell, would it open the files?

paraview vox8.vtu vox8_1.vtu
baxmittens commented 2 years ago

Do you just use the Paraview UI to File -> Open the VTU files?

If I typed the following in a shell, would it open the files?

paraview vox8.vtu vox8_1.vtu

I have Paraview installed on windows and I couldn't figure out how to load several files by command line at once

paraview vox8.vtu

or

paraview --data=vox8.vtu

works for me but not for two files

In the docs there is the data-option defined an a additional option for a (time)-series but not for two seperate inputs...at least as far as I'm aware

edit: paraview --data=vox8.vtu

paraview --data=vox8_1.vtu

would work but would open two seperate instances of Paraview

dmbates commented 2 years ago

The problem is, to my knowledge, there is no XMLParser available which is written purely in Julia. All projects I know (LightXML.jl , EzXML.jl) use libxml2 as a basis, which I wanted to avoid.

It would be good to document this in the README for XMLParser.

Thank you for the suggestion. Added it in the readme.

First, my thanks for @mkitti for his thoughtful and comprehensive review through many iterations. I have more-or-less just monitored the conversation because @mkitti was bringing up the points that I would have made (and many more).

I am grateful to see the adoption of a registered package. Part of the conversation seemed to be trying to avoid using the Julia package system to its fullest extent. That would be unfortunate if it results in reinventing the wheel.

The above comment regarding not using a package that depends on libxml2 is an example. Package systems for other languages would require shipping the source code for a library like libxml2 and working out the onerous details of compiling and linking on systems to which the author would not have access. That is a big pain and can become a big time sink. However, the BinaryBuilder.jl framework circumvents this process in Julia. You can add a dependency on the XML2_jll package and the nasty details of compiling and linking are handled for you. This allows you to access well designed and tested code without needing to be concerned with the provision of source code, configuration, compilation and linkage details.

In general there will be a trade-off between learning to use code provided in a library and building and testing code in Julia with similar capabilities. The purpose of BinaryBuilder.jl is to make it easier to do the former.

jbytecode commented 2 years ago

@dmbates - thank you for the review. It seems you have checked all of the reviewing items on. So, do we have any further revisions or can I recommend an acceptance now?

dmbates commented 2 years ago

@dmbates - thank you for the review. It seem you have checked all of the reviewing items on. So, do we have any further revisions or can I recommend an acceptance now?

Yes. However, I did notice two typos in the current draft article that should be corrected.

Line 38 - "unstructed" should be "unstructured", I believe. Line 63 - "conclude" is misspelled as "conlcude"

jbytecode commented 2 years ago

@dmbates - thank you. I will also check the whole things after the corrections are made.

@baxmittens - please correct the final suggestions and ping me.

thank you all!

mkitti commented 2 years ago

The above comment regarding not using a package that depends on libxml2 is an example. Package systems for other languages would require shipping the source code for a library like libxml2 and working out the onerous details of compiling and linking on systems to which the author would not have access. That is a big pain and can become a big time sink. However, the BinaryBuilder.jl framework circumvents this process in Julia. You can add a dependency on the XML2_jll package and the nasty details of compiling and linking are handled for you. This allows you to access well designed and tested code without needing to be concerned with the provision of source code, configuration, compilation and linkage details.

There is some value in having a lightweight XML package that does not have an external binary dependency. It would be great if they could coordinate by implementing a common "AbstractXMLParser" interface in the same fashion as https://github.com/JuliaMath/AbstractFFTs.jl.

In this case, it might be worthwhile to combine functionality into https://github.com/JuliaComputing/XML.jl (recently relocated), but this exceeds the scope of the review.

baxmittens commented 2 years ago

@jbytecode - corrected the typos.

baxmittens commented 2 years ago

@editorialbot generate pdf

editorialbot commented 2 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

jbytecode commented 2 years ago

Dear @baxmittens

Thank you in advance.

jbytecode commented 2 years ago

@baxmittens - if my PR breaks something, please manually fix the typos rather than applying the PR.

baxmittens commented 2 years ago

@editorialbot generate pdf

editorialbot commented 2 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

jbytecode commented 2 years ago

@baxmittens could you please fix those items in paper? please have a full read and correct other typos if exist.

baxmittens commented 2 years ago

@editorialbot generate pdf

editorialbot commented 2 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

jbytecode commented 2 years ago

@baxmittens - it seems okay now. Could you please continue with the following steps that I've mentioned above?

baxmittens commented 2 years ago

@jbytecode - I'm just about finishing...sorry for taking that long

jbytecode commented 2 years ago

@baxmittens - no worries, thank you.

baxmittens commented 2 years ago
jbytecode commented 2 years ago

@editorialbot set v0.2.0 as version

editorialbot commented 2 years ago

Done! version is now v0.2.0

jbytecode commented 2 years ago

@editorialbot set 10.5281/zenodo.6576155 as archive

editorialbot commented 2 years ago

Done! Archive is now 10.5281/zenodo.6576155

jbytecode commented 2 years ago

@editorialbot recommend-accept

editorialbot commented 2 years ago
Attempting dry run of processing paper acceptance...
editorialbot commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.23919/EuCAP.2017.7928679 is OK
- 10.21105/joss.03673 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 2 years ago

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

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/3226

If the paper PDF and the deposit XML files look good in https://github.com/openjournals/joss-papers/pull/3226, then you can now move forward with accepting the submission by compiling again with the command @editorialbot accept

jbytecode commented 2 years ago

@baxmittens thank you for the submission, @mkitti and @dmbates thank you for your valuable reviews and consuming your time for JOSS.

One of the @openjournals/joss-eics will have the final decision.

Thank you!

baxmittens commented 2 years ago

@jbytecode @mkitti @dmbates - thank you for reviewing my first joss article. Your help greatly improved the quality of my project and the paper as well. I really appriciate it! I will publish further articels here, i guess. The next time I will be better prepared and setting up documentaion and stuff will only take me a fraction of the time I spent for this project. So I really feel I do benefit from undergoing this review procedure. Thanks again to you all, maybe we'll meet again some day : )

arfon commented 2 years ago

@editorialbot accept

editorialbot commented 2 years ago
Doing it live! Attempting automated processing of paper acceptance...
editorialbot commented 2 years ago

šŸ¦šŸ¦šŸ¦ šŸ‘‰ Tweet for this paper šŸ‘ˆ šŸ¦šŸ¦šŸ¦

editorialbot commented 2 years ago

šŸšØšŸšØšŸšØ 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 :point_right: https://github.com/openjournals/joss-papers/pull/3235
  2. Wait a couple of minutes, then verify that the paper DOI resolves https://doi.org/10.21105/joss.04300
  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 commented 2 years ago

@dmbates, @mkitti ā€“ many thanks for your reviews here and to @jbytecode for editing this submission! JOSS relies upon the volunteer effort of people like you and we simply wouldn't be able to do this without you āœØ

@baxmittens ā€“ your paper is now accepted and published in JOSS :zap::rocket::boom:

editorialbot commented 2 years ago

:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:

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.04300/status.svg)](https://doi.org/10.21105/joss.04300)

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

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

This is how it will look in your documentation:

DOI

We need your help!

The 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: