SSWG-0019: GraphQL & Graphiti

The review of SSWG-0019: GraphQL & Graphiti begins now and runs for two weeks, until September 5, 2022.

Update: The review period has been extended since the proposal gained a large section about Graphiti, the review will conclude on September 15th, 2022. The added content is explained in: GraphQL Proposal - Adds Graphiti schema definition examples by NeedleInAJayStack · Pull Request #70 · swift-server/sswg · GitHub and was merged into the proposal itself.


The packages are being proposed under the Incubation maturity level.

Reviews are an important part of the Swift Server Work Group incubation process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to the review manager (via email or direct message in the Swift forums).

What goes into a review of a proposal?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, become listed on the Swift Server Ecosystem index page .

When reviewing a proposal, here are some questions to consider:

  • What is your evaluation of the proposal and its APIs/implementation?
  • Is the problem being addressed relevant for the wider Swift on Server ecosystem?
  • Does this proposal fit well with the feel and direction of the Swift Server ecosystem?
  • If you have used other libraries in Swift or other languages, how do you feel that this proposal compares to those?
  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Thanks,
Konrad 'ktoso' Malawski
Review Manager

16 Likes

With GraphQL's growing popularity, the server-side Swift community should have a robust backend implementation to reduce the overhead of adding GraphQL APIs to webserver projects. This overhead is significant; the type system and resolution patterns of GraphQL require a

There is an unfinished, trailing sentence in the Motivation section

Huh I totally missed this -- would you want to add your own wording in there @NeedleInAJayStack please? No need to restart the review I think, let's fix the sentence though.

Thanks for noticing @corymosiman12

Oh my gosh, I gotta stop proofreading at midnight :man_facepalming:

Thanks @corymosiman12. I'll put in a small pull request to fix this right away.

1 Like

Okay, I've put in fixes here

Merged the fixup, thank you @NeedleInAJayStack :+1:

@NeedleInAJayStack Could you extend the proposal to include some more detail about Graphiti. Maybe include some examples of defining schema.

1 Like

@adam-fowler Yeah, definitely. The one (super simple) schema example uses Graphiti, but I can make a more sophisticated one that shows off more of schema construction features. I'll also add more details about Graphiti's role in the overall proposal.

1 Like

The initial review period has passed, so we'll discuss within the SSWG what to do next here.

It does sound like adding more examples about Graphiti would be welcome, and that you wanted to add those @NeedleInAJayStack. Would you mind perhaps adding a bit of that, as you mentioned, and we could extend the review for a little bit?

Awesome! Absolutely, here's a PR that contains additional examples of schema definition using Graphiti:

https://github.com/swift-server/sswg/pull/70

3 Likes

Thanks, this is great -- much more comprehensive now.

We'll extend the review period until the next sswg meeting so we can have a result shortly after that -- so until September 15 :slight_smile:

Thanks again!

Hello everyone,
I'm happy to announce the SSWG has unanimously voted to accept this proposal (7 yay, 0 nay) into Incubation maturity level. Congratulations @NeedleInAJayStack and team! :tada:

The project(s) fulfill all requirements of the Incubating level, including multiple maintainers and an active stream of development, good CI and adoption of concurrency features.

We'll add the project to the list of SSWG endorsed projects shortly.


One additional note I'd like to add here is about the security best practices involved in becoming an SSWG endorsed project: sswg/incubation.md at master · swift-server/sswg · GitHub The libraries already make use of the GitHub "Security Advisories" feature which is good.

This is also a good reminder for users of SSWG libraries to subscribe to the Security Updates - Swift Forums category on the forums, in order to be notified about any potential security issues discovered in any of the SSWG libraries.

14 Likes

Hooray! :confetti_ball: Thanks for your help throughout the process @ktoso!

4 Likes