Joss-reviews: [REVIEW]: Phobos: A tool for creating complex robot models

Created on 17 Mar 2019  ยท  90Comments  ยท  Source: openjournals/joss-reviews

Submitting author: @Amudtogal (Simon Reichel)
Repository: https://github.com/dfki-ric/phobos
Version: v1.0.1
Editor: @gkthiruvathukal
Reviewer: @CameronDevine, @trallard
Archive: 10.5281/zenodo.3581101

Status

status

Status badge code:

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

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) 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

@CameronDevine & @trallard, 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.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @gkthiruvathukal know.

โœจ Please try and complete your review in the next two weeks โœจ

Review checklist for @CameronDevine

Conflict of interest

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Version: v1.0.1
  • [x] Authorship: Has the submitting author (@Amudtogal) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] 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

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [x] 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

  • [x] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?

Review checklist for @trallard

Conflict of interest

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Version: v1.0.1
  • [x] Authorship: Has the submitting author (@Amudtogal) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] 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

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] 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 function of the software can be verified?
  • [x] 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

  • [x] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
accepted published recommend-accept review

All 90 comments

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @CameronDevine, it looks like you're currently assigned as the reviewer for this paper :tada:.

:star: Important :star:

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
Attempting PDF compilation. Reticulating splines etc...

@Amudtogal Looking through the repository I didn't find any tests or other ways to check if the software is operating correctly (See Automated tests section of the checklist above).

I also opened an issue (dfki-ric/phobos#179) about some issues in the Wiki.

@CameronDevine I will fix the issues in the wiki soon. Sorry for the delay, I had some issues with my computer...

The issue with tests for Phobos has been discussed for a long time. Setting up tests for a Blender addon is a cumbersome process (see https://github.com/dfki-ric/phobos/issues/121). For now, we decided that the additional effort maintaining a CI environment for Phobos is not really worth the trouble. This will be revisited, if we can actually see a growing user base and can also nail down real testing scenarios for the different operators.

Does this make sense, or do you think the tests are absolutely necessary? I'd be ready to discuss this further :)

@Amudtogal I don't think tests are absolutely necessary. However, I do think it wouldn't be too hard to add in a limited number of tests. For example, calculateBoxInertia, writeURDFGeometry, and similar functions could be tested without installing blender in a test environment.

I agree with @CameronDevine. In software engineering, we often refer to these tests as model tests. That is, the part of your code that perhaps isn't entangled with the user interface. If there are patterns being used (e.g. Model-View-Controller) you might be able to focus on the model part. The methods @CameronDevine showed strongly suggest this possibility as the code is independent of Blender per se.

I opened two more issues today, dfki-ric/phobos#180 and dfki-ric/phobos#181. Both of these issue relate to a minor difficulties I experienced while configuring Phobos.

I have just closed these issues.
Furthermore, I added the model tests to our agenda. Do you expect us to finish the test before advancing the publication?

@CameronDevine, have the issues you reported all been addressed satisfactorily?
@trallard Do you have any additional input on this submission?

@gkthiruvathukal The only outstanding item for me is the lack of automated tests. Since neither automated or manual tests are provided I do not yet feel comfortable checking that item off.

@Amudtogal I am seeing that we (or I, more precisely) did not respond to your question about model tests. Sorry for the delay as it has been a busy ending to my academic year here.

Can you please add some basic model tests so we can check off the last box? I'd feel a lot better if there were at least a few tests, which would establish a basis for more expanded testing at a later date. As soon as you can take care of this and @CameronDevine gets a final look, I can proceed.

HI sorry for taking so long @gkthiruvathukal AND @Amudtogal from my part the thing missing as well is that corresponding to the tests.

I believe some model tests would be essential even if to have a baseline of the software performance / behaviour at the current state.

Apart from that I do not see any major issues or blockers

Thanks, @trallard.
@Amudtogal, based on the feedback from the reviewers--and my own relatively strong opinions about the need for tests--please act upon this input so we can proceed to the next steps.

@gkthiruvathukal sorry for responding so late, too. The same academic madness is happening here right now :)
I will work on the tests as soon as I can find some spare time. When I am done, I will come back to you.
Thank you for the reviews and help you have been providing!

@Amudtogal Just a nudge here. Any update on tests?

@Amudtogal Please update on when you will be able to work on some tests.

I am planning to start the tests within the next three weeks. Next weekend there is a big event I am part of, which has been devouring my spare time... When it is over, I can shift my focus back to coding...

Sorry for delaying this whole process (I don't want to waste your time)! Is there a time limit I need to consider or can I pursue this plan?
Thanks again for your patience!

@whedon remind @Amudtogal in 2 weeks

Reminder set for @Amudtogal in 2 weeks

@danielskatz Thanks for setting the reminder.

@Amudtogal Please try to work on this as soon as you can. Even if you can get some initial tests in place, this would be satisfactory and allow us to move to the next steps.

Hi folks, I am just checking how this is going and if you need any help with the review

Hi folks,
a short update on my progress:

I have setup a Travis CI, which runs and installs Phobos and is able to run different tests from the test folder.
https://travis-ci.org/Amudtogal/phobos
Right now, all these changes sit on my fork on github (https://github.com/Amudtogal/phobos), as there are still some minor issues to be resolved before I can merge it into the master:

  • proper error code propagation from the test files to the Travis commandline (otherwise the build never fails)
  • fix the current tests (I wrote a bunch of tests which do not rely on any of the Blender functionality)

Let me know whether you think this is promising or you expected something else :)
Have a nice week,
Simon

@trallard Thanks for checking in! We definitely can use your help with the remaining work on this review. Would you be willing to take a look at @Amudtogal's updates for Travis CI/testing? If it is on the right track, I think we can move toward acceptance pretty soon.

@gkthiruvathukal, I will take a look at this as well.

@CameronDevine Thank you!

@Amudtogal, once the error code propagation is fixed and tests for model joints are added, as mentioned in testmodel.test.py, I will be ready to recommend this for publication.

:wave: @Amudtogal, please update us on how things are progressing here.

FYI, @Amudtogal, I think that was an automatic nudge message.

@Amudtogal Just checking whether you had a chance to address the error code propagation comment from @CameronDevine.

@gkthiruvathukal Sorry, I didn't propagate the information over here. I did fix the error propagation based on the Pull Request from CameronDevine. Next up will be fixing the errors within the test scripts. After that, I will apply some polishing to the messy git history on my fork and push it to the Phobos master.
The current build (finally failing when tests fail) can be found here:
https://travis-ci.org/Amudtogal/phobos/builds/559186686

@Amudtogal Thanks for the update. Let me know when you've gotten it sorted out. Then we can proceed.

@Amudtogal Just a gentle nudge to keep this moving. It seems like we are close, so please let me know when you can address the remaining issue.

As of now, the tests are on the master branch :smiley:
It might take a week until the Travis Setup is activated (as I do not have access to the phobos-owning github account), however the e-mail for this is sent already.
The latest build can be found on my fork Travis (https://travis-ci.org/Amudtogal/phobos) and works as intended.
As soon as the Travis Setup is activated, I will write again!
Thanks for the patience, we are close to finishing :+1:

@Amudtogal Ok, great! I am already happy with what you're demonstrating here (your latest build). Hopefully, you can get the photos owner to authorize Travis. Then approval will be almost spontaneous. I'm looking forward to accepting your submission and appreciate your work on the last mile (or last kilometer). We're almost there.

@gkthiruvathukal There has not been any update yet. I have resent the mail to the repo owners, let's hope for next week!
Thanks for your patience during this marathon!

@Amudtogal Thanks for following up! I am about to go on break until after the 18th. Will follow up sometime after that date.

/ooo August 11 until August 18

:+1: Marked @gkthiruvathukal as OOO from Sunday, August 11th 2019 to Sunday, August 18th 2019. :calendar:

We finally reached the end of the road!
The first build on Phobos ran successfully: https://travis-ci.org/dfki-ric/phobos
Enjoy your break!
I am looking forward to your reply when you return :)

@gkthiruvathukal All of the items on my checklist are now complete. I believe this paper is ready to be accepted.

:wave: Hey @CameronDevine...

Letting you know, @gkthiruvathukal is currently OOO until Sunday, August 18th 2019. :heart:

Ok, I'm back. Now I just need to get the semester started.

Thanks @CameronDevine for confirming that all items on your checklist are now complete.

@Amudtogal, I am ready to move toward final acceptance. Please do the following:

  • [ ] Make a tagged release of your software, and list the version tag of the archived version here.
  • [ ] Archive the reviewed software in Zenodo
  • [ ] Check the Zenodo deposit has the correct metadata, this includes the title (should match the paper title) and author list (make sure the list is correct and people who only made a small fix are not on it); you may also add the authors' ORCID.
  • [ ] List the Zenodo DOI of the archived version here.

Great!
The last steps will however take another two weeks... I am sorry for another delay.
This time it is my own thesis getting in the way :smile:
I expect we will draft the next release mid september, including the tests and changes that have been added since version 1.0.0. As soon as we are finished with it, I will come back to you!
Have a great start for the semester, and I am looking forward to the last few steps!

/ooo August 30 until September 16

Thanks, @Amudtogal. Ok, I will follow up with you in a couple of weeks.
Thanks @CameronDevine. I think your work here is done, but I may have you take one final look once @Amudtogal tags the next release.

We are running through the last stages, I will keep you updated!
There will be a change from LGPL to BSD, but I guess that is no problem...

@Amudtogal Can you let us know when this license change is complete? Once done, I believe we are ready to move toward acceptance. You'll need to tag the latest release and create the Zenodo artifact.

๐Ÿ‘‹ @Amudtogal - I'm just checking in on this as the associate-editor-in-chief on duty this week ... Is there any progress on the license change you can report?

@Amudtogal โ€” Could we have a status update on this? Let me know if you want us to set a reminder for you.

Hi,
we are almost done, I guess we will be finished just before Christmas!
It is on our list, we just have another project to tackle first... :/
I will update you soon!

@whedon remind @Amudtogal in 2 weeks

I'm sorry @Amudtogal, I'm afraid I can't do that. That's something only editors are allowed to do.

@whedon remind @Amudtogal in 2 weeks

Reminder set for @Amudtogal in 2 weeks

:wave: @Amudtogal, please update us on how things are progressing here.

We reached the final stage:

  • [x] Make a tagged release of your software, and list the version tag of the archived version here.
    Where can I do this? The release tag is 1.0.1 "Capricious Choutengan"
  • [x] Archive the reviewed software in Zenodo
  • [x] Check the Zenodo deposit has the correct metadata, this includes the title (should match the paper title) and author list (make sure the list is correct and people who only made a small fix are not on it); you may also add the authors' ORCID.
  • [x] List the Zenodo DOI of the archived version here. 10.5281/zenodo.3581101

I haven't published the Zenodo archive yet, as there are a few options I could fill in (e.g. the Journal section). Just give me a call what I shall do with it and I can get it online!

@gkthiruvathukal I just wanted to check back in, if there are still things missing (or whether my post got lost in the pre-Christmas stress). Happy new year by the way :smile:

@Amudtogal Happy new year & thanks for the gentle nudge. Just getting back into the swing of things after the holiday/new year (and getting ready for the upcoming academic semester).

@openjournals/joss-editors I am ready to proceed toward acceptance of this submission.

Thanks to @CameronDevine and @trallard for your reviews!

@openjournals/joss-eics I am ready to proceed toward acceptance of this submission. My bad for not checking the completion properly (editors instead of eics).

@whedon accept

No archive DOI set. Exiting...

@whedon set 10.5281/zenodo.3581101 as archive

OK. 10.5281/zenodo.3581101 is the archive.

@whedon set v1.0.1 as version

OK. v1.0.1 is the version.

@whedon accept

Attempting dry run of processing paper acceptance...
Reference check summary:

OK DOIs

- None

MISSING DOIs

- None

INVALID DOIs

- None

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

If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/1203, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.
@whedon accept deposit=true

๐Ÿ‘‹ @arfon - note that ref 2 in the xml has the same problem as we've seen before with an incomplete URL...
This is otherwise ready for accepting.

OK thanks @danielskatz. Let's accept here and I'll fix post publication.

@whedon accept deposit=true

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

PDF failed to compile for issue #1326 with the following error:

@whedon accept deposit=true

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

๐Ÿฆ๐Ÿฆ๐Ÿฆ ๐Ÿ‘‰ Tweet for this paper ๐Ÿ‘ˆ ๐Ÿฆ๐Ÿฆ๐Ÿฆ

๐Ÿšจ๐Ÿšจ๐Ÿšจ 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/1204
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01326
  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...

Thanks to @CameronDevine & @trallard for reviewing!
And to @gkthiruvathukal for editing!
And congratulations to @Amudtogal and co-authors!

๐Ÿ‘‹ @arfon - can you fix the XML, and then close this?

@danielskatz I'm worried that I am missing problems in the XML when finishing up submissions. What do you see that is incorrect?

see line 89 of the XML in https://github.com/openjournals/joss-papers/pull/1204/files where the "https" is missing at the start of the URL

How did you find that? Were you looking for that type of error in particular? I have been only checking the first few lines for name and title.

just through scanning the XML to see if everything looks ok - sorry I can't be more helpful

Thanks everyone!
Just checking back:
The Zenodo Archive is currently a draft, I have not published it, because I was not sure, whether I should put any information about the Journal into the Zenodo form...

We reached the final stage:

  • [x] Make a tagged release of your software, and list the version tag of the archived version here.
    Where can I do this? The release tag is 1.0.1 "Capricious Choutengan"
  • [x] Archive the reviewed software in Zenodo
  • [x] Check the Zenodo deposit has the correct metadata, this includes the title (should match the paper title) and author list (make sure the list is correct and people who only made a small fix are not on it); you may also add the authors' ORCID.
  • [x] List the Zenodo DOI of the archived version here. 10.5281/zenodo.3581101

I haven't published the Zenodo archive yet, as there are a few options I could fill in (e.g. the Journal section). Just give me a call what I shall do with it and I can get it online!

Shall I go online or fill in this stuff:
joss

๐Ÿ‘‹ @arfon - can you fix the XML, and then close this?

This is fixed.

@Amudtogal - I don't think you need to put the journal information into this form.

In that case,
:fireworks: :champagne: :fireworks:

Thank you so much for your time and effort! I am glad, this went through and excited to maybe meet some of you one day!

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

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

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

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:

Was this page helpful?
0 / 5 - 0 ratings