Drupal in der Praxis: Google News importieren mit Feeds und Feedspampers
Auf der Webseite http://www.berggenuss.de werden im Zuge der Umstellung auf Drupal 7 mehrere Google Alerts zu verschiedenen Themen der Berglandwirtschaft eingerichtet.
Wir legen dazu einen eigenen Inhaltstyp an, der es erlaubt, diese News zu Themen bzw. Alpen-Regionen und Bergprodukten zuzuordnen.
Um die Zuordnung nicht komplett händisch vornehmen zu müssen, richten wir eine Teilautomatische Zuordnung beim Import ein.
Folgende Grundeinstellungen wurden gemacht:
Als Parser verwenden wir den Common syndication parser.
Einstellungen des Node-Parsers.
Zum Testen stellen wir 'Update existing nodes' ein und 'Skip hash check'.
Erfahrungsgemäß werden wir die gleichen News mehrmals einlesen, bis die Feineinstellungen stimmen.
Als Inhaltstyp wählen wir den, der vorher angelegt wurde.
Nun kommen wir zum Mapping.
Hier werden vom Feeds Importer bereits die richtigen Vorschläge gemacht.
Einzig die Zuordnung von Beschreibung zu Body fehlt.
Diese fügen wir händisch hinzu.
Die Einstellung unique bei der URL sorgt dafür, daß News mit der gleichen URL aktualisiert werden, statt ein zweites Mal eingelesen.
Das ist sehr wichtig, um unerwünschte Duplikate zu vermeiden.
Jetzt kommt der erste Test:
Dazu rufen wir die Seite
domainname/import auf und wählen unseren zuvor angelegten Feed.
Wenn wir ihn anklicken wird nach der URL gefragt, von der wir die News beziehen möchten.
In unserem Fall ist es
http://news.google.de/news?pz=1&cf=all&ned=de&hl=de&q=Berglandwirtschaft...
Natürlich kann man dem Parameter 'q' auch Begriffe in Kombination übergeben, wie z.B. Bergkäse+Alpen.
Wenn Begriffe mit Umlauten oder anderen Sonderzeichen verwendet werden, dann müssen diese umgewandelt sein.
Das geht ganz fix wenn man die URL mit den gewünschten Begriffen einmal im Browser-URL-Fenster einfüttert.
Danach steht oben die korrekte URL die man nun dem Importer mit teilt.
Nach Durchführung des Imports sieht das dann so aus:
Im Log kann man auch noch mal sehen, ob alles geklappt hat:
domainname/admin/reports/feeds
Und natürlich schauen wir gleich ins Frontend, wo die News ausgegeben werden sollen:
Sieht schon mal gut aus.
Besucher der Webseite sollen die News filtern können und wie oben bereits beschrieben, wurde der Inhaltstyp mit entsprechenden Feldern versehen.
Qualitätssicherung:
Die News sollen vor dem Einstellen gesichtet und nur freigeschaltet werden, wenn sie thematisch auf die Webseite passen.
Deshalb wurde im Inhaltstyp News Artikel der Haken bei 'Veröffentlicht' entfernt.
Um nicht alle Tags händisch pflegen zu müssen, werden einige Vorbelegungen gemacht und für bestimmte Themen Standadwerte im Feeds-Import gemacht.
Dazu benötigt man das Modul Feeds Tamper.
Nehmen wir als Beispiel den Alert für 'Genusswandern + Alpen'.
Wir unterstellen, daß die News zum Thema 'Sanfter Tourismus' passt und entsprechend getaggt werden soll.
Die Taxonomy für dieses Thema hat die ID 368.
Im Mapping des Moduls Feed für diesen Import fügen wir ein Feld hinzu, das so aussieht:
Nun gehen wir zurück in die Feeds Übersicht und wählen bei diesem Import zum Thema 'Genusswandern + Alpen' den Link auf Tamper.
In der Tamper-Konfiguration sehen wir alle Felder wieder, die wir gemappt haben.
Uns interessiert davon nur das Feld für 'Thema', wo wir auf 'Plugin hinzufügen' klicken.
In der folgenden Maske suchen wir oben das Plugin 'Default Value' und verpflegen den Rest wie hier im Bild ersichtlich:
Nachdem wir die vier neu eingetragenen Alerts kurz gesichtet und danach freigegeben haben, erscheinen sie im Frontend mit dem Zusatz: 'Thema: Sanfter Tourismus.'
Ebenso können wir den Alert von Berglandwirtschaft auf selbiges Thema legen und Bergkäse zum Thema 'Bergprodukte' Taggen.
Damit ist ein Teil der Thematischen Zuordnung bereits erledigt.
Das Tamper-Modul kann mit einem Plugin ergänzt werden, welches erlaubt, jeglichen PHP-Code beim Import auszuführen.
Es ist angedacht, die Inhalte der News zu durchsuchen und auf Vorkommen bestimmter Länder- oder Regionen- Begriffe zu prüfen, die dann automatisch an der News verpflegt werden können.
Dazu brauchts dann aber etwas mehr Zeit....;-)
Der Import der RSS Feeds kann zwar händisch erfolgen, er passiert aber auch mit dem regelmäßigen Cronlauf automatisiert.