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

eCommerce @ DataHub #156

Open
julkue opened this issue Jan 22, 2020 · 3 comments
Open

eCommerce @ DataHub #156

julkue opened this issue Jan 22, 2020 · 3 comments
Assignees

Comments

@julkue
Copy link
Contributor

julkue commented Jan 22, 2020

Hello together,

Like I've mentioned in #113 we're interested in fully decoupling frontends from Pimcore. This not only includes data objects and assets, but also documents and the eCommerce part (cart + checkout).

In terms of eCommerce, theoretically it's just a set of data objects that need to be fetched, beside of the fact that it must be possible to add them to a cart (using DataHub) and only fetch this subset of data objects. But the interesting part is filling in customer data, delivery addresses and other information and storing this for the current order by using the DataHub.

Currently, we could not find any information about how to achieve a fully decoupled application with Pimcore including eCommerce functionality. The documents part is already tracked in #113, especially the part to actually write and mange content, when you don't have a classic "theme" but only a decoupled application (so there are no Twig templates), but this issue should be about eCommerce.

What would be the Pimcore way to integrate cart + checkout functionality into a decoupled frontend application where DataHub + GraphQl is used?

What is your vision? On the Pimcore Inspire conference I could often here that you already support multichannel output, but what about fully decoupling Pimcore, not having Twig templates at all, will you take steps into supporting this direction?

@fashxp
Copy link
Member

fashxp commented Jan 23, 2020

Hi there,
we don't have a ready made solution or fixed path for that topic yet but we definitely want to go into that direction.
Therefore any feedback and input is welcome 😊.

In general we see two big topics in combination with ecommerce:

  1. Integration of index service with datahub - means providing endpoints to fetch and filter data from product index for listings and searches of products. For that there is already a first approach, see Filter query type based on FilterDefinition objects - Work in Progess #149
  2. Carts and checkouts.

Both topics share the challenge that the ecommerce part of Pimcore is highly dynamic and its quite hard to define a fixed schema for these topics.

I'm also not sure if we should try to integrate the ecommerce features into the generic data endpoint configuration. Maybe it would be a good idea to add an additional configuration type GraphQL E-Commerce:
image
There we then define which tenant(s) should be used and provide endpoints for index service, cart manager and checkout manager.
These endpoints (especially for cart manager and checkout manager) could heavily rely on the interfaces provided by Pimcore and so expose the functionality for that.

What do you think about that approach?
Another question would we how to do session handling?

Copy link

Thanks a lot for reporting the issue. We did not consider the issue as "Pimcore:Priority", "Pimcore:ToDo" or "Pimcore:Backlog", so we're not going to work on that anytime soon. Please create a pull request to fix the issue if this is a bug report. We'll then review it as quickly as possible. If you're interested in contributing a feature, please contact us first here before creating a pull request. We'll then decide whether we'd accept it or not. Thanks for your understanding.

@dpfaffenbauer
Copy link
Contributor

BTW: we at CoreShop are working on a Pimcore DataHub GraphQL integration ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants