pimcore / data-hub

Data delivery & consumption platform for Pimcore.
Other
128 stars 110 forks source link

eCommerce @ DataHub #156

Open julkue opened 4 years ago

julkue commented 4 years ago

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 commented 4 years ago

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 https://github.com/pimcore/data-hub/pull/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?

github-actions[bot] commented 10 months ago

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 commented 10 months ago

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