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]: OnToCode: Template-based code-generation from ontologies #1513

Closed
whedon opened this issue Jun 20, 2019 · 54 comments

Comments

@whedon
Copy link
Collaborator

commented Jun 20, 2019

Submitting author: @fiveop (Philipp Matthias Schäfer)
Repository: https://gitlab.com/dlr-dw/ontocode
Version: 1.0.1
Editor: @usethedata
Reviewers: @jimmccusker, @nicholascar
Archive: 10.5281/zenodo.3361131

Status

status

Status badge code:

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

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

@jimmccusker and @nicholascar, 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 @usethedata know.

Please try and complete your review in the next two weeks

Review checklist for @jimmccusker

Conflict of interest

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?
  • Version: 1.0.1
  • Authorship: Has the submitting author (@fiveop) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

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: Do the authors clearly state 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 function 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

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

Review checklist for @nicholascar

Conflict of interest

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?
  • Version: 1.0.1
  • Authorship: Has the submitting author (@fiveop) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

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: Do the authors clearly state 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 function 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

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

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 20, 2019

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

⭐️ 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
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 20, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 20, 2019

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Jun 21, 2019

@whedon add @nicholascar as reviewer

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jun 21, 2019

OK, @nicholascar is now a reviewer

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Jun 27, 2019

@nicholascar @jimmccusker -- just checking in. Any questions or needs regarding the review on this paper?

@jimmccusker

This comment has been minimized.

Copy link

commented Jun 28, 2019

@jimmccusker

This comment has been minimized.

Copy link

commented Jul 2, 2019

This is a very unusual review process, so please bear with me. I am including the checklist points that I did not check off as complete, along with comments as to why they are not checked. I don't know if I need to provide a recommended decision on publication beyond these comments.

Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

There are no performance claims on this software.

Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).

There is an example, but it is not referenced in the main documentation or in the paper. The example performs as advertised.

Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?

Looking at the documentation embedded in the class files, it seems like a lot of documentation is available somewhere, but it is not apparent from the GitLab page where that would be.

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

There are no expressed guidelines for any of these, although since it is in gitlab, it is possible to infer that pull requests might be considered, and the issues list will be addressed.

@fiveop

This comment has been minimized.

Copy link

commented Jul 4, 2019

Am I supposed to answer now? (To quote @jimmccusker: "This is a very unusual review process")

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Jul 4, 2019

This is an unusual review process in that it's an open discussion. I've seen it be very effective, particularly in helping to clarify exactly what a reviewer is concerned about, in ways that are not possible with the traditional, closed review process.

@jimmccusker On the performance claims, please simply check that item off, since there are no performance claims made. On the example usage, it does not need to be included in the paper, and often is not. The example(s) are best provided in the formal documentation or in the readme. A single use example can be acceptable, if that is sufficient to provide reasonable examples of the major use cases for the software. As for the functionality documentation, does it seem reasonable to you as someone who might be using the software? Have the authors gone far enough? Finally, as for the community guidelines, the repository includes a contributing.rst file (https://gitlab.com/dlr-dw/ontocode/blob/development/CONTRIBUTING.rst) which appears to be responsive to this requirement.

@fiveop -- Comments are definitely appropriate. This is a dialog.

@jimmccusker

This comment has been minimized.

Copy link

commented Jul 5, 2019

Okay, then the API documentation needs to be accessible somehow, without building it ourselves, and the large example (which actually features code generation) needs to be more prominent in the top level page as well.

@fiveop

This comment has been minimized.

Copy link

commented Jul 8, 2019

@fiveop

This comment has been minimized.

Copy link

commented Jul 8, 2019

See today's (July 8th) commits for my changes: https://gitlab.com/dlr-dw/ontocode/commits/master

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Jul 8, 2019

👋 @nicholascar Have you had a chance to look at this paper for a JOSS review?

@jimmccusker

This comment has been minimized.

Copy link

commented Jul 9, 2019

The README.rst does not render properly. There are differences between ReStructuredText (RST), Markdown, and other formats. Make sure you're creating the right one.

Additionally, make sure you have hyperlinks (not just instructions for visiting the examples readme) to the example and to the readthedocs.io page. I don't see anything in about readthedocs yet in the main readme.

@fiveop

This comment has been minimized.

Copy link

commented Jul 10, 2019

  • The README.rst should again render properly.
  • There already was a link to the documentation (second paragraph under guidepost), it should be better visible now that the README.rst is rendered properly again.
  • I added a link to example/README.rst
@jimmccusker

This comment has been minimized.

Copy link

commented Jul 10, 2019

Then I'm happy with the state of the submission, and it meets all the requirements for JOSS acceptance, in my mind.

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Jul 11, 2019

@jimmccusker Thanks.

@nicholascar

This comment has been minimized.

Copy link

commented Jul 15, 2019

I'm just testing the code now and I've encountered an issue. Following the Quick Guide in the main README, I pasted all code blocks of the section into a file and, after pip installing ontocode, tried to run it but I got the error: AttributeError: module 'ontocode' has no attribute 'Jinja2Template'. I get the same error when trying to import the module locally (i.e. from a cloned repo, not from PyPI).

Surry but this is preventing me from continuing with my review!

@fiveop

This comment has been minimized.

Copy link

commented Jul 16, 2019

The script has to be run in a Python 3 environment with ontocode and jinja2 installed (as mentioned in the first paragraph of the Quick Guide section).

I just successfully tried it in an environment setup via:

virtualenv env
source env/bin/activate
pip install ontocode jinja2

So my guess is that jinja2 was not installed in your environment (it is an optional dependency).

@nicholascar

This comment has been minimized.

Copy link

commented Jul 16, 2019

OK, that's got it all working. I assumed installing the module would install dependencies but I guess not since Jinja2 is optional and there are many templating modules that can be used.

Could you add something to the setup.py that auto-installs Jinja@ since, even though it's optional, it's the only templating system you support now thus it's not really optional?

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Jul 19, 2019

@whedon check references

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jul 19, 2019

Attempting to check references...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Jul 19, 2019


OK DOIs

- 10.1007/978-3-319-46547-0_29 is OK
- 10.1016/j.artmed.2017.07.002 is OK
- 10.5281/zenodo.2652065 is OK
- 10.5281/zenodo.2616374 is OK
- 10.1142/S0218194018300014 is OK
- 10.1016/j.cl.2017.11.003 is OK

MISSING DOIs

- None

INVALID DOIs

- None
@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Jul 19, 2019

@fiveop Please go ahead and create the Zenodo archive and report the DOI back into this thread.

@labarba

This comment has been minimized.

Copy link
Member

commented Aug 1, 2019

If you've made changes during this review, you should make a new tagged release, and then archive that 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.

Please report here the version number, and the Zenodo DOI, to add these to the metadata of the paper.

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Aug 4, 2019

@fiveop I'm checking back in after getting through a major proposal and putting my house on the market to sell. The main thing we're waiting for at this point is for you to create a tagged release, archive at Zenodo, and report the DOI back here. Let me know if you have any questions. And thanks to @labarba for helping to push this forward.

@fiveop

This comment has been minimized.

Copy link

commented Aug 5, 2019

I was away from work for two weeks. I should get to it today or tomorrow.

@fiveop

This comment has been minimized.

Copy link

commented Aug 6, 2019

I released a new version that includes the changes made due to this review process (1.0.1) and uploaded the new version to Zenodo (https://zenodo.org/record/3361131 / DOI 10.5281/zenodo.3361131).

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Aug 10, 2019

@whedon set 1.0.1 as version

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

OK. 1.0.1 is the version.

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Aug 10, 2019

@whedon set 10.5281/zenodo.3361131 as archive

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

OK. 10.5281/zenodo.3361131 is the archive.

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Aug 10, 2019

@whedon generate pdf

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

Attempting PDF compilation. Reticulating splines etc...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Aug 10, 2019

@whedon check references

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

Attempting to check references...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019


OK DOIs

- 10.1007/978-3-319-46547-0_29 is OK
- 10.1016/j.artmed.2017.07.002 is OK
- 10.5281/zenodo.2652065 is OK
- 10.5281/zenodo.2616374 is OK
- 10.1142/S0218194018300014 is OK
- 10.1016/j.cl.2017.11.003 is OK

MISSING DOIs

- None

INVALID DOIs

- None
@usethedata

This comment has been minimized.

Copy link
Collaborator

commented Aug 10, 2019

@openjournals/jose-eics I believe this paper is ready for publication

@arfon

This comment has been minimized.

Copy link
Member

commented Aug 10, 2019

@whedon accept

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

Attempting dry run of processing paper acceptance...
@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

Check final proof 👉 openjournals/joss-papers#890

If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#890, 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

This comment has been minimized.

Copy link
Member

commented Aug 10, 2019

@whedon accept deposit=true

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

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

@whedon whedon added the accepted label Aug 10, 2019

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

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

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

🚨🚨🚨 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 👉 openjournals/joss-papers#891
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01513
  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

This comment has been minimized.

Copy link
Member

commented Aug 10, 2019

@jimmccusker, @nicholascar - many thanks for your reviews here and to @usethedata for editing this submission.

@fiveop - your paper is now accepted into JOSS ⚡️🚀💥

@arfon arfon closed this Aug 10, 2019

@whedon

This comment has been minimized.

Copy link
Collaborator Author

commented Aug 10, 2019

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

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

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

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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
7 participants
You can’t perform that action at this time.