Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

Externe Daten (Tabellen) für Nodes verwenden

Eingetragen von jan.s (44)
am 25.11.2009 - 15:51 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hallo Community!

Ich stehe gerade vor einem neuen Drupal Projekt und es stellen sich ein paar konzeptionelle Fragen.

Eine existierende Website soll auf Drupal umgestellt werden, um mehr Möglichkeiten wie z.B. Bewertungen und Kommentare zu beliebigen Inhalten besser und schneller integrieren zu können. Es sind bereits viele Datensätze vorhanden, welche in einem "speziellen" Backend eingegeben werden. Damit meine ich, dass die Eingabe und Verwaltung relativ komplex ist und dabei aus dem Formular noch auf externe Dienste zugegriffen wird. Ich möchte dies daher nicht von Anfang an mit einem eigenen Inhaltstypen in Drupal machen, sondern dies erst später umstellen. Trotzdem würde ich gerne Methoden wie das Bewerten (FiveStar) von Nodes nutzen.

In einem anderen Projekte (wo die Produktdaten definitiv von außen kommen) mache ich das so, dass alle Produkte als "Dummy-Node" in Drupal angelegt werden müssen. Das ist in diesem Fall noch überschaubar, da nicht viele Produkte exisitieren, dafür aber um so mehr Eigenschaften in der externen Tabelle, welche auch extern verwaltet wird. Diese restlichen Daten werden aus der externen Tabelle über den TableWizard und Blöcke auf den entsprechenden Seiten der ProduktNodes angezeigt. Der Vorteil ist, dass so alle Funktionen für Nodes zur Verfügung stehen, wie z.B. Nodes zu verknüpfen, bewerten etc., obwohl die Daten an sich in einer externen Tabelle liegen.

Bei dem neuen Projekt handelt es sich jedoch um sehr viel mehr Datensätze, so dass das doppelte Eingeben und Anlegen von "leeren" Nodes schon recht aufwendig wäre. Trotzdem wird es in derersten Zeit nicht möglich sein, die Datensätze komplett über eigenen Inhaltstypen zu realisieren. Allein schon wegen der Historisierung und Auswertungen in der bisherigen Verwaltung. Da die Datensätze jedoch bewertet werden sollen, sind Nodes auf jeden Fall nötig. Da sehe ich eigentlich keine andere Möglichkeit. Das Migratemodul bietet für diesen Fall ja schon einge gute Unterstützung, aber ist auch nicht die beste Lösung, da es hier mit einem einzigen Import nciht getan wäre.

Gibt es durch irgendein Modul die Möglichkeit, die Inhalte von Nodes mit Daten aus externen Tabellen abzugleichen? Die entsprechenden Ids könnte man ja z.B. schon in der Node speichern, so dass die Objekte zugeordnet werden könnten.

Es wäre schon sehr wichtig, die Daten auch in den Nodes zur Verfügung zu haben, weil nur so ein komfortables Suchen und Filtern möglich ist. Den oben beschriebenen Weg mit den Dummy Nodes und dem Einbinden der zugehörigen Daten über Blöcke möchte ich hier eigentlich vermeiden.

Vielleicht hat hier ja jemand eine Idee oder einen Denkanstoß für mich oder evtl. sogar auch ein ähnliches Problem.

Viele Grüße
Jan

‹ [gelöst] Problem mit der Suche Wie am besten Kategorien anlegen? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Stellt sich mir spontan die

Eingetragen von netzkoop (1820)
am 26.11.2009 - 01:23 Uhr

Stellt sich mir spontan die Frage in welchen Zeitintervallen die Daten abgeglichen werden sollen?
Und wie wichtig die Performance deiner Seite ist?
Ach ja, und um wie viele Nodes handelt es sich ca?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo luzer! Es handelt sich

Eingetragen von jan.s (44)
am 26.11.2009 - 09:27 Uhr

Hallo luzer!

Es handelt sich um ca. 600-900 Nodes. Ein täglicher Abgleich wäre ok!

Ich überlege, ob ich einfach ein eigenes Inhaltstyp-Modul schreibe, welches alle entsprechenden Felder besitzt, die aber durch eine moduleigene Funktion abgeglichen werden können mit der externen Tabelle.
Oder wirklich ein externen Script, dass die Drupal Nodes und die externe Tabelle anhand der ID, welche auch in der Node gespeichert ist, einfach direkt in der Datenbank synchroniert.

Was meinst du dazu? Siehst du noch eine bessere Möglichkeit?

Ich denke so abwegig ist dieser Fall gar nicht. Mich wundert es, dass es dazu noch kein Modul gibt. So in der Art wie beim Migrate Modul, dass man die Felder einfach einander zuordnen kann, aber dann halt nciht migriert, sondern in regelmäßigen Abständen nur aktualisiert.

Viele Grüße
Jan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Weitere Frage

Eingetragen von netzkoop (1820)
am 26.11.2009 - 11:23 Uhr

Musst du eigentlich auch Änderungen in bereits angelegten Nodes abgleichen?
Oder nur neue Datensätze als Node anlegen?

Für letzteres würde ich mir den Inhaltstypen mit allen Feldern anlegen und dann mittels Modul per hook_cron() und node_save() die Daten täglich holen.

Ein anderer Ansatz könnte sein den Node-Inhalt dynamisch darzustellen ohne die Daten in Drupal zu speichern. Das hab ich selbst noch nie gemacht. Kommt denke ich auf die Menge der Daten an.
Als Modul hab ich das gefunden:
http://drupal.org/project/dynamicfield
Oder auf Theme-Ebene über eine _preprocess_node() Funktion.

Grundsätzlich würde ich wenn möglich versuchen die Daten in Drupal zu importieren und zu bearbeiten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo luzer! Ich muss auch

Eingetragen von jan.s (44)
am 26.11.2009 - 11:42 Uhr

Hallo luzer!

Ich muss auch die Daten in bereits importierten/abgelegten Nodes aktualisieren. Die Bearbeitng innerhalb von Drupal wird vorerst einfach nicht möglich sein, da hängt leider viel zu viel hinten dran. Datenbasis muss die externe Tabelle bleiben. Eine Bearbeitung der Daten/Nodes in Drupal wird nicht vorkommen, zumindest nicht der Felder, welche aus der externen Tabelle geholt werden.

Es wäre akzeptabel, jeden Datensatz einmalig in Drupal als Node anzulegen (und dann die zusätzlichen Daten aus der externen Tabelle abzurufen), es kommen nur wenige neue Datensätze hinzu.

Ich schaue mir mal das dynamicfield an. Danke für deine Ideen!

Viele Grüße
Jan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also dynamicfield ist

Eingetragen von jan.s (44)
am 26.11.2009 - 12:21 Uhr

Also dynamicfield ist leider nicht so geeignet, da diese Werte nicht im Filter verwendet werden können. Ist ja eigentlich auch logisch, da der Filter direkt in der Datenbankabfrage greift.

Ich denke, dass ich den Nodeinhalt mit den externen Daten abgleichen muss. Eigentlich gibt es da keine andere sinnvolle Möglichkeit.

hook_cron() scheint mir dafür gut geeignet. Am besten mit einer direkten Operation nur in der Datenbank, damit müsste ich nichteinmal die Nodes laden und speichern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo zusammen, ich nutze

Eingetragen von jan.s (44)
am 09.12.2009 - 10:53 Uhr

Hallo zusammen,

ich nutze jetzt hook_cron für den Datenabgleich und habe dafür ein Modul geschrieben. Funktioniert wunderbar und ist wohl die beste und flexibelste Lösung.
Allerdings müssen neue Datensätze noch manuell in Drupal angelegt werden. Das werde ich aber auch noch automatisieren.

Danke für die Ideen!

Viele Grüße
Jan

  • 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?
Weiter

Neue Kommentare

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

Statistik

Beiträge im Forum: 250234
Registrierte User: 20455

Neue User:

  • JoMek
  • Znogsnernoimb
  • ByteScrapers

» 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 24 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