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]: Simple-Web-Server: a fast and flexible HTTP/1.1 C++ client and server library #1592

Closed
36 tasks done
whedon opened this issue Jul 24, 2019 · 87 comments
Closed
36 tasks done
Assignees
Labels
accepted published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review

Comments

@whedon
Copy link

whedon commented Jul 24, 2019

Submitting author: @eidheim (Ole Christian Eidheim)
Repository: https://gitlab.com/eidheim/Simple-Web-Server
Version: v3.0.1
Editor: @gkthiruvathukal
Reviewers: @ts-adi, @HaoZeke
Archive: 10.5281/zenodo.3358045

Status

status

Status badge code:

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

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

@ts-adi and @HaoZeke, 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 @gkthiruvathukal know.

Please try and complete your review in the next two weeks

Review checklist for @ts-adi

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: v3.0.1
  • Authorship: Has the submitting author (@eidheim) 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 @HaoZeke

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: v3.0.1
  • Authorship: Has the submitting author (@eidheim) 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
Copy link
Author

whedon commented Jul 24, 2019

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @ts-adi 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

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

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Jul 24, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Jul 24, 2019

@HaoZeke
Copy link
Member

HaoZeke commented Jul 24, 2019

Hi, @eidheim I've initiated the review process and hope to finish in the next couple of days. I will be opening pull requests and issues on the repository tracker, but I might also ask for clarifications here (typically with matters pertaining to the paper itself). In addition, for the paper.md, I request that a copy to make changes on hackmd.io is made available to me and @ts-adi since it is not appropriate to make changes to it via pull requests.

Also since this is my first review working with something on GitLab, which will not cross-reference (attached image makes this clearer) PRs and issues to this issue thread automatically, how would you prefer to handle the issues?

image

Perhaps @gkthiruvathukal might want to sound off on this as well? Should I manually link to the pull requests or issues on GitLab?

@eidheim
Copy link

eidheim commented Jul 24, 2019

@HaoZeke @ts-adi Thank you for reviewing this paper, and thank you all for the comments already made in #1579.

I invited @HaoZeke and @gkthiruvathukal to comment on the paper on hackmd.io. I'm new to hackmd.io, and could not find a way to invite @ts-adi since I could not find an email address on your GitHub profile. @ts-adi you can mail me on eidheim@gmail.com, and I'll invite you to comment on hackmd.io as well.

With respect to GitLab cross-reference, I suspect manual links would be needed. Since you might be new to GitLab, please note that pull requests are called merge requests on GitLab, but the interface should otherwise hopefully be familiar.

@eidheim
Copy link

eidheim commented Jul 24, 2019

I update paper.md based on feedback in #1579 (comment) in commit https://gitlab.com/eidheim/Simple-Web-Server/commit/5d89bbcd0fdcba3584fae60fd50dec5da9b6e202. I also updated the paper on hackmd.io since this change was suggested in the pre-review, but I guess going forward I should not continuously update the paper on hackmd.io?

@HaoZeke
Copy link
Member

HaoZeke commented Jul 24, 2019

@eidheim, actually it would be lengthier to keep discussing small issues pertaining to the paper on issues so my take is to usually just leave comments on hackmd instead for the paper.

Also @gkthiruvathukal I seem to be missing my checklist...

@gkthiruvathukal
Copy link

@whedon list reviewers

@whedon
Copy link
Author

whedon commented Jul 24, 2019

Here's the current list of reviewers: https://bit.ly/joss-reviewers

@gkthiruvathukal
Copy link

@whedon commands

@whedon
Copy link
Author

whedon commented Jul 24, 2019

Here are some things you can ask me to do:

# List all of Whedon's capabilities
@whedon commands

# Assign a GitHub user as the sole reviewer of this submission
@whedon assign @username as reviewer

# Add a GitHub user to the reviewers of this submission
@whedon add @username as reviewer

# Remove a GitHub user from the reviewers of this submission
@whedon remove @username as reviewer

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

# Change editorial assignment
@whedon assign @username as editor

# Set the software archive DOI at the top of the issue e.g.
@whedon set 10.0000/zenodo.00000 as archive

# Set the software version at the top of the issue e.g.
@whedon set v1.0.1 as version

# Open the review issue
@whedon start review

EDITORIAL TASKS

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Remind an author or reviewer to return to a review after a
# certain period of time (supported units days and weeks)
@whedon remind @reviewer in 2 weeks

# Ask Whedon to accept the paper and deposit with Crossref
@whedon accept

# Ask Whedon to check the references for missing DOIs
@whedon check references

@gkthiruvathukal
Copy link

@ts-adi I know what I did wrong. I used @whedon assign for both of you during pre-review. I am supposed to use @whedon add for the second reviewer. Grr.

I hope I can get one of the @openjournals/joss-editors to help me add you.

@HaoZeke
Copy link
Member

HaoZeke commented Jul 24, 2019

As far as I understand, I can just manually edit the first whedon comment in this thread to add myself if that is acceptable, @gkthiruvathukal.

@kyleniemeyer
Copy link

@whedon add @HaoZeke as reviewer

@whedon
Copy link
Author

whedon commented Jul 24, 2019

OK, @HaoZeke is now a reviewer

@kyleniemeyer
Copy link

@HaoZeke you should be good to go now!

@ts-adi
Copy link

ts-adi commented Jul 25, 2019

@eidheim While I am going through the paper and confirming the code functionality, could you please start putting doxygen style comments in your code in the meantime? http://www.doxygen.nl/manual/docblocks.html
This will ensure that when I get to the documentation validation part, you're already close to being done :)
If you need any pointers, here and here are some .h and .cpp file that I consider well-documented

Also, my email is adisin8@gmail.com for hackmd.io

@eidheim
Copy link

eidheim commented Jul 25, 2019

@ts-adi To make the comments as compact as possible I use /// instead (see for instance: https://gitlab.com/eidheim/Simple-Web-Server/blob/master/server_http.hpp#L334). This style is mentioned in http://www.doxygen.nl/manual/docblocks.html. But if you much prefer another style I can of course consider changing this:) Make note that while the public functions are documented, there might be private/protected functions that might not be documented.

Thank you, I have now added you to the hackmd.io document.

@ts-adi
Copy link

ts-adi commented Jul 25, 2019

@eidheim I'm less concerned with how you denote the comment block, and more concerned with the content of the comment. I think the current API comments you have are a good start, but all of them should provide more details about the function (eg, explaining arguments, valid ranges, default values, return values, etc).

In the end, a user should be able to use your code (and have a baseline understanding of what it does) without digging through any code files.

@eidheim
Copy link

eidheim commented Jul 25, 2019

@ts-adi Sure, I'll extend the documentation as you suggest. I'll try complete this before this time Tomorrow.

@eidheim
Copy link

eidheim commented Jul 26, 2019

@ts-adi The documentation has now been improved in https://gitlab.com/eidheim/Simple-Web-Server/commit/ed46b43fa7ff56a605b35a50bb08649dea372928. Thank you again for the feedback so far.

@eidheim
Copy link

eidheim commented Jul 26, 2019

@HaoZeke
Copy link
Member

HaoZeke commented Jul 27, 2019

@eidheim Thanks for the changes. I am satisfied by the documentation level for the core-code, however, there are no clear links to a compiled form of the documentation. Perhaps a hosted version? Or even a link to the doxygen document (pdf)? In fact, an instructive example might actually be using the server to locally serve the doxygen HTML docs as well.

Also I noticed that the tests have no output which might be a bit confusing for neophytes. Please add some indication of which test is being run.

@whedon
Copy link
Author

whedon commented Aug 26, 2019


OK DOIs

- 10.17487/RFC6455 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@kyleniemeyer
Copy link

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Aug 26, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Aug 26, 2019

@kyleniemeyer
Copy link

Hi @eidheim, could you merge this PR with an edit to a reference: https://gitlab.com/eidheim/Simple-Web-Server/merge_requests/244

@eidheim
Copy link

eidheim commented Aug 26, 2019

@kyleniemeyer your PR is now merged. Thank you.

@kyleniemeyer
Copy link

@whedon generate pdf

@whedon
Copy link
Author

whedon commented Aug 26, 2019

Attempting PDF compilation. Reticulating splines etc...

@whedon
Copy link
Author

whedon commented Aug 26, 2019

@kyleniemeyer
Copy link

@whedon accept

@whedon
Copy link
Author

whedon commented Aug 26, 2019

Attempting dry run of processing paper acceptance...

@whedon
Copy link
Author

whedon commented Aug 26, 2019

Check final proof 👉 openjournals/joss-papers#927

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

@whedon accept deposit=true

@kyleniemeyer
Copy link

@whedon accept deposit=true

@whedon
Copy link
Author

whedon commented Aug 26, 2019

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

@whedon
Copy link
Author

whedon commented Aug 26, 2019

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

@whedon
Copy link
Author

whedon commented Aug 26, 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 👉 Creating pull request for 10.21105.joss.01592 joss-papers#928
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.01592
  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...

@kyleniemeyer
Copy link

Congrats on your article's publication in JOSS @eidheim! Many thanks to @gkthiruvathukal for editing, and @ts-adi and @HaoZeke for reviewing, this submission.

@whedon
Copy link
Author

whedon commented Aug 26, 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.01592/status.svg)](https://doi.org/10.21105/joss.01592)

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

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

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:

ShengHuaWu pushed a commit to ShengHuaWu/Simple-Web-Server that referenced this issue Sep 10, 2019
ShengHuaWu pushed a commit to ShengHuaWu/Simple-Web-Server that referenced this issue Sep 10, 2019
ShengHuaWu pushed a commit to ShengHuaWu/Simple-Web-Server that referenced this issue Sep 10, 2019
@whedon whedon added published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. labels Mar 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted published Papers published in JOSS recommend-accept Papers recommended for acceptance in JOSS. review
Projects
None yet
Development

No branches or pull requests

7 participants