Zum Inhalt springen
    Zurück zum Blog
    Shopsoftware
    Integration
    News
    Technologien
    Tools & Funktionen

    GraphQL Update für OXID eShop

    18.03.2021
    2 min Lesezeit
    Von Dr. Heike Reuter
    GraphQL Update für OXID eShop

    Von der verworfenen Idee, die OXID Headless API auf verschiedene Module zu verteilen

    Die entstehende OXID Headless API kann relativ simpel über aufeinander aufbauende Module installiert werden:

    Das sogenannte Base Module liefert das Fundament der Integration von GraphQL in den OXID eShop. Daran werden wir nicht rütteln. Denn wer komplett eigene GraphQL-Routen entwickeln möchte, geht vom Base Module aus seinen völlig eigenen Weg.

    Darüber hinaus entwickeln wir für euch bereits ein bedienbares Schema, um nach und nach alle Funktionalitäten in OXID eShop über GraphQL abzubilden und somit den Shop letzten Endes komplett headless ansteuerbar zu machen. Bisher haben wir diese, auf dem Base Module aufbauenden Module, in folgende theoretische Bereiche unterteilt und hatten ursprünglich vor, diese auch als (auf Base aufbauende) Module mit ebendiesen Namen abzubilden:

  1. Catalogue: Alle Operationen für Produkte und Kategorien im Frontend
  2. Account: die komplette Benutzerverwaltung (Kundenkonto anlegen und verwalten, Bestellhistorie einsehen)
  3. Checkout: Alles was benötigt wird, um eine Bestellung durchzuführen
  4. Admin: Shop-Administration via GraphQL
  5. Theoretisch klang es daher zunächst logisch, drei getrennte Module für die Storefront jeweils für den Katalog-Bereich, darauf aufbauend die Bereiche für Kundenkonto und Bestellprozess umzusetzen. Allerdings mussten wir im Entwicklungsprozess diese Entscheidung zugunsten besserer Code-Lesbarkeit und -Pflegbarkeit revidieren. Auch konnte man im Schema der Dokumentation keine klaren Grenzen mehr erkennen, welche Abfragen und Mutationen zu welchem (Sub-)Modul gehören.

    Wir haben uns deshalb nach sorgfältiger Abwägung von Für und Wider dazu entschieden, Catalogue, Account und Checkout zu einem einzigen OXID GraphQL Storefront Module zusammenzuführen, das Ihr nun hier finden könnt:https://github.com/OXID-eSales/graphql-storefront-module

    Künftig werden wir also noch die Repositories für das Base Module, sowie für das Storefront Module pflegen, wiewohl die alten Modul-Repositories in der getaggten Version 1.0 noch immer verfügbar sein werden.

    Und zum Schluss noch ein kleiner Ausblick in die Zukunft: Als nächstes steht die Integration von externen Payment-Anbietern über GraphQL an.

    Weiterführende Links:

    Blogpost:Ein Blick hinter die Kulissen der OXID Kernentwicklung

    Blogpost:Die Geschichte der GraphQL API für OXID eShop

    Blogpost:OXID implements GraphQL

    GitHub OXID GraphQL Base Module:https://github.com/OXID-eSales/graphql-base-module

    GitHub OXID GraphQL Storefront Module:https://github.com/OXID-eSales/graphql-storefront-module

    Dokumentation:https://docs.oxid-esales.com/interfaces/graphql/en/master/

    Dokumentation:https://docs.oxid-esales.com/interfaces/graphql/en/5.1/

    Die beliebtesten Artikel

    OXID Academy: Nur wer stetig dazulernt, bleibt am Ball

    7 Faktoren, die entscheidend sind bei der Einführung eines neuen IT-Systems

    Was ist Content Commerce?