apollographql / apollo-studio-community

🎡  GraphQL developer portal featuring an IDE (Apollo Explorer), auto-documentation, metrics reporting, and more. This repo is for issues, feature requests, and preview docs. 📬
https://studio.apollographql.com
248 stars 29 forks source link

Feature Suggestions for Explorer #11

Closed tvvignesh closed 2 years ago

tvvignesh commented 4 years ago

Hi. I tried out Apollo Explorer today. Really appreciate the work that Apollo has been doing to empower its users. Kudos.

Had some suggestions (which you can prioritize according to your convenience).

Saving queries and mutations and organising them as folders for easy access

While I did try the run history, its not the best way to browse the queries/mutations in an organized fashion. It would be better to have them saved like what insomnia or postman supports and organize them into appropriate folders and maybe even add tags/labels to them.

Support for templating

While this is not a graphql spec, but when you want to change value at one place and have it reflect in all variables used, this would be great. Again, taking the inspiration from insomnia and postman

Export and import queries and mutations

While I would very much like to use explorer. I don't want to get locked in to use it. I would also like to export/import to/from other tools like insomnia, postman, postwoman or playground

Ability to use it as VSCode extension

This would be really helpful so that I need not switch contexts to browser and VSCode back and forth. Since you have a VSCode extension already from Apollo, you can very much try adding the explorer there.

Allowing the explorer to be embedded in pages/websites

When you want the text/markdown/html documentation and GraphQL explorer to live together, something like embedding a jsfiddle along with the docs, you can see if you can provide a embed code or share option so that the persisted query/mutation can be embedded and run along with the docs.

Hope this helps. If all of this happens, then it will be a revolutionary thing and compete with almost any GraphQL client/tool out there.

PS: Is it meant to be hosted offerring or is there any plan to release it as opensource tool like insomnia out?

Thanks.

daniman commented 4 years ago

Hi @tvvignesh! Thank you for the incredible thoughtful feedback here 🙏

We're currently working on honing it as a hosted tool, because pulling it out of Studio at the moment would also be quite complicated.

tvvignesh commented 4 years ago

@daniman Hi. Sorry for the late reply. Nice to see that you have a lot of them already planned.

Regarding Templating, I was suggesting something like this: https://support.insomnia.rest/article/18-environment-variables where you can have environment variables either in the URL or the Header or the GraphQL variables so that you can just change one place and have it reflect in all the other places. Postman also has something similar here: https://learning.postman.com/docs/sending-requests/variables/ (Looks like its called environment variables :thinking: )

For Export/Import (You can take this low on priority as it will take a lot of effort to implement), I wanted to mainly have the flexibility to switch between multiple tools like Insomnia, Postman or Postwoman (atleast 1 to go with since Apollo GraphQL is hosted in Cloud). Something like this: https://support.insomnia.rest/article/52-importing-and-exporting-data The main concern for this is that if I have all the queries and mutations saved in Apollographql and I want to use any other tool to do the query or mutation, I have to end up copy pasting all of them into the tool like insomnia or postman and even organize them all again. So, if I have some sort of importer or exporter to insomnia, postman or postwoman, it will make the job easier in the future to either import from or export to these tools.

Yup. I already use the Apollo VSCode extension for Federation, intellisense and autocomplete. I was wondering if you can even have the entire Apollo Studio experience right within VSCode so that there is no context switching. VSCode provides Webviews where you can embed the user interfaces: https://code.visualstudio.com/api/extension-guides/webview

These were just a few things which I thought of. Will share more thoughts as I try more.

FluorescentHallucinogen commented 4 years ago

Re ability to use it as VSCode extension, see #9. :wink:

papollosc commented 2 years ago

Hi @tvvignesh 👋 Thank you for your feedback. Wanted to provide an update:

  1. Saving queries and mutations and organizing them in folders: We recently released this for Explorer! Please check out the blogpost and let us know what you think!
  2. Templating: Wondering if you had a chance to try out our preflight scripts feature that was rolled out beginning of this year.
  3. Export and import queries and mutations: We are actively thinking about this, now with the first release of operation collections - being able to export collections out of Explorer. Importing operations to Explorer is also a great idea and I will take that as a feature request for our roadmap.
  4. Embedding: We also rolled this out late last year! At least a first version that works with public graphs. We are actively working on making it happen for graphs that are gated behind Studio auth. Would love to hear your thoughts on this 🙏

For the VSCode webviews, that is a great suggestion and I will take that as a feature request. I am closing this issue for now. Please do provide further feedback/suggestions/comments as you (hopefully) dig into our recent feature releases. We truly appreciate it!