-
Notifications
You must be signed in to change notification settings - Fork 152
Roadmap
Using this query, a user can query for one or more products. Developers can use this query to fetch data necessary to build basic product-related e-commerce experiences like product detail pages, product listing pages, search result pages, cart/checkout, wishlists, product compare, product widgets, and many more. This query has built-in support for the following elements:
- All product types: user can query on Simple, Configurable, Grouped, Bundled, Downloadable, Virtual, and Gift Card product types
- Filtering: user can filter products based on attributes (e.g. sku, price, title, description, and many others) and standard applicable operators (is, is not, greater than, less than, etc)
- Search: user can perform a full-text search on products. This can be combined with filtering as mentioned above
- Sorting: user can sort the set of returned products based on various attributes
- Pagination: user can paginate through the resulting set of products using PageSize and CurrentPage
- Scopes: user can query multiple store views using a store view code designated in the HTTP headers
- EAV: EAV product attributes are automatically generated as part of the schema
- Extension attributes: these attributes can be explicitly declared to be a part of the schema
- Pricing: detailed pricing information containing prices, currency codes, and adjustments
- Resolvers: user can easily extend this model by declaring custom resolvers of modifying existing ones
- Documentation: the schema and description for each field is displayed in graphical tools like GraphiQL.
Using this query, a user can fetch data about a category. Developers can use this query to build out storefront category experiences for shoppers. This includes the navigation menu, breadcrumbs, related categories, and others. Any category can be fetched using its id.
The attributes of the currently logged-in customer can be queried. Authentication is based on the session token.
This query can be used for resolving arbitrary URLs to their canonical versions, including identification of the type of resource: products, categories, or CMS pages.
In this phase we are looking to accelerate development of GraphQL capabilities through Community collaboration. We've broken down our backlog into several tracks.
Implement caching in GraphQL with consideration for both server-side and client-side (mainly for 3rd party tools), which
Persistence layer provides flexible and performant data retrieval and a persistence-agnostic way to declare and store entities.
Provides an ability for a developer to create a checkout experience that is completely GraphQL-based. This includes cart manipulations and retrieval, as well as working with payment and shipping methods.
GraphQL needs to provide sufficient information for a developer to build out the storefront My Account experience for a shopper. This includes being able to fetch, for the logged in customer, My Orders, wishlists, stored payment methods, gift cards, rewards balance, gift registries, product reviews, etc.
This work is intended to improve the coverage of the products query for GraphQL and will be a mixture of bugs and new enhancements. More details in the link above.
This work is intended to improve the capabilities of the Category query by adding things like filtering, more efficient ways to fetch category parents/children, and exposing category-product relationships.
This will add an ability for GraphQL to return rendered CMS content from the original Magento CMS as well as Pagebuilder.
Applying extensibility principles from GraphQL and applying them to the rest of the Magento platform
There are several improvements we can make to the framework, including partial automation of docs and extensibility of tests
Implementing a query complexity limitation so that attackers cannot cause harm by issuing extremely complex queries against the servers
- Roadmap
- ZenHub task board (requires GitHub sign-in)
- Weekly calls:
- Thursday, 15:00 UTC
- Video conference link - https://bluejeans.com/180764326
- Recordings - https://goo.gl/5Q7QAw
- Slack: #graphql (Use http://tinyurl.com/engcom-slack to register)