Shopify / shopify-api-ruby

ShopifyAPI is a lightweight gem for accessing the Shopify admin REST and GraphQL web services.
MIT License
1.06k stars 473 forks source link

Roadmap for next 6 week cycle #1195

Closed nelsonwittwer closed 1 year ago

nelsonwittwer commented 1 year ago

Description

Introduces ROADMAP.md that will be used to coordinate our proposed open source efforts.

Our biggest immediate priority is to respond to open issues/PRs here and in the other ruby repos. We propose the following roadmap. We'd love to hear your feedback to validate our direction. We look forward to building in public with you 😎

kirillplatonov commented 1 year ago

@nelsonwittwer it would be awesome to see some roadmap on Ruby libraries 👍 But maybe using repository Projects for that purpose would be easier than static file?

fourseven commented 1 year ago

Is the goal of this roadmap to be visible to outsiders and for it to be sitting in the base of the repo? Or was this PR where it was expected to live for the six-week period?

nelsonwittwer commented 1 year ago

Sorry for the delay on this PR! The goal is to merge in this PR after proposing it. I'm crafting an update for the next cycle that will replace this PR after we get internal alignment on the next phase.

nelsonwittwer commented 1 year ago

Here is our revised roadmap for the next 6 weeks :)

We spent a lot of time last cycle investing in our documentation, specifically for those looking to upgrade from v9 and those who are just getting started with the Ruby stack. If there are gaps in our documentation, we hope the community will help point those flaws out or contribute with fixes :)

What activity wasn't publicly visible was a root cause analysis that we conducted to figure out why our REST resources were having so many reported issues. We identified gaps in the upstream pipeline that generates the OpenAPI schema that appears to be source of the majority of the reported REST resource bugs. We are in the process of fixing those flaws now and we are optimistic we will be able to detect issues upstream before they make it to the library. We still are pursuing the plan of extracting these resources into their own gem, however.

While working in REST, we realize that there is also a large gap within the GraphQL experience. We'd like to be able to manipulate responses to the GraphQL with rich objects like we do within REST. In order to do this we will run introspection queries against the GQL API to define response shapes that we can cast responses into. We've heard complaints about having to use hash syntax for navigating these responses and are optimistic about this new plan to upgrade the GQL experience.

panckreous commented 1 year ago

thank you @nelsonwittwer , @zzooeeyy , and everyone else involved.

a sincere shoutout again to @vfonic as well

nelsonwittwer commented 1 year ago

Finally fixed our pipelines that was preventing this from being merged earlier 🤦

I've updated this with our latest plans for the future. We are working on a new token exchange auth pattern that prevents full page redirects during auth/install which we are really excited about. We've got this in our TS/Remix stack and it has helped reduce app install failures by 30%. This will be rolled out via feature flag so as to give existing apps ample time to migrate over. We plan on supporting both auth strategies and will use feature flags as means of smoothing the transition.