Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

[gelöst] Dynamische Erstellung von Nodes per API aus einer externen Datenbank (Best Practice)

Eingetragen von Ineluki (18)
am 10.02.2020 - 11:39 Uhr in
  • Modul-Entwicklung
  • Drupal 8.x oder neuer

Moin,

folgendes Szenario:
Wir haben in unserem Intranet eine Wissensdatenbank mit unterschiedlichen Themen.
Diese Themen sind nach bestimmten Produkten und dazugehörige Unterpunkte strukturiert.
Z. B.
- Produkt A: Unterpunkt 1
- Produkt A: Unterpunkt 2
- Produkt B: Unterpunkt 1
- Produkt B: Unterpunkt 2
[...]

In der Datenbank des Intranets gibt es eine Tabelle, die diese Datensätze in folgender Form abspeichert:
Datensatz ID | Produkt A | Unterpunkt 1 | Text
Datensatz ID | Produkt A | Unterpunkt 2 | Text
Datensatz ID | Produkt B | Unterpunkt 1 | Text
Datensatz ID | Produkt B | Unterpunkt 2 | Text
[...]

Unser Ziel ist es nun, diese Datenbank auf unserer Drupal Webseite (Drupal 8.8.2) in Form von Nodes abzubilden. Jeder Unterpunkt soll einen eigenen Node erhalten, so dass die Drupalsuche die Inhalte auch indexiert und man beim Anklicken
des Suchergebnisses auf die entsprechende Seite geleitet wird. Außerdem sollen die Nodes in einer eigenen Menüstruktur nach dem folgenden Muster eingebunden sein:
Oberpunkt: Wissensdatenbank
- Produkt A
--- Unterpunkt 1
--- Unterpunkt 2
- Produkt B
--- Unterpunkt 1
--- Unterpunkt 2
[...]

Meine Frage ist nun:
Gibt es Erfahrungswerte, wie man die Anforderung am besten umsetzt? Ich hab mich bereits durch einige Foreneinträge gewühlt, doch meistens ging es hier eher um die Darstellung mittels Views oder wenn Nodes generiert wurden, dann meist nur in einer Art einmaliger Migration.
Die Wissensdatenbank in unserem Intranet wird aktiv gepflegt, d. h. die Nodes müssen regelmäßig aktualisiert werden. Der Workflow vom Intranet zur Drupalseite kann auch nicht geändert werden, weil wir in der Wissensdatenbank im Intranet weitergehende Informationen hinterlegen, die nur z. T. auf unsere Webseiten publiziert werden sollen.
Ich habe mich in Vorbereitung auf das Thema bereits ein wenig mit der Drupal API auseinandergesetzt, bin allerdings noch nicht in die Tiefe gegangen.
Wie ich das sehe, ist es möglich per Modul und Drupal-API Nodes anzulegen.
Nun überlege ich, ob man eine geplante Aufgabe/Cronjob einrichtet, die jeden Tag ein Modul anstößt, das die Datensätze vom Intranet ausliest und prüft, ob es bereits einen Node mit dem Inhalt gibt.
Wenn ja, wird der Node aktualisiert. Wenn nein, wird ein neuer Node angelegt. Dazu würde ich einen eigenen Inhaltstypen für die Inhalte der Wissensdatenbank anlegen.
Ich bin mir nur nicht sicher, ob es auch eine Funktion zum Aktualisieren eines Nodes per API gibt und ob das mit der Navigationsstruktur ebenfalls per API umgesetzt werden kann.
Bevor ich mich in einen falschen Ansatz verrenne, möchte ich gerne von euch wissen, ob es Erfahrungen / Empfehlungen von eurer Seite gibt?

Vielen Dank im Voraus für eure Ideen/Anmerkungen.

‹ Webform Aktualisierung [gelöst] Dynamische Erstellung von Nodes per API aus einer externen Datenbank (Best Practice) ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das geht alles mit Feeds

Eingetragen von Ionit (1802)
am 10.02.2020 - 13:14 Uhr

Das geht alles mit Feeds https://www.drupal.org/project/feeds ...

... und "Feeds SQL" https://www.drupal.org/project/feeds_sql

Leider steht "Feeds SQL" für Drupal 8 noch nicht nicht zur Verfügung.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke

Eingetragen von Ineluki (18)
am 10.02.2020 - 16:12 Uhr

Hallo Ionit,

danke für die schnelle Antwort.
Das Modul "Feeds" probiere ich mal aus.
Wenn ich damit wie gewünscht zum Ziel komme, kann ich mir die Programmierung eines eigenen Moduls ersparen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 6 Tagen
  • Hey danke
    vor 2 Wochen 16 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 16 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 20 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association