Seite 1 von 2

IFTTT und Feed Problem

Verfasst: 14.07.2015 11:30
von fussle
Ich habe gerade versucht ein neues Rezept bei IFTTT zu erstellen > neuer Eintrag im RSS Feed > Share on Twitter und Facebook Page.

Leider komme ich schon bei der Feed URL nicht weiter. Wenn ich

Code: Alles auswählen

http://www.fussle.de/forum/feed.php
eingebe, bekomme ich den Fehler: Not a valid feed url, missing feed title

Wenn ich den Feed normal aufrufe, funktioniert es.

Was muss ich in der Feed Konfiguration im ACP ändern, damit es geht?

Re: IFTTT und Feed Problem

Verfasst: 14.07.2015 16:31
von gn#36
Eigentlich solltest du nichts ändern müssen. Laut dem W3C Feed Validator ist der Feed valide. Einen Titel enthält er auch.

Allerdings ist das kein RSS sondern ein Atom Feed. Möglicherweise ist das ein Problem für IFTTT.

Re: IFTTT und Feed Problem

Verfasst: 14.07.2015 16:52
von fussle
Und wie kann ich einen RSS erzeugen?

Re: IFTTT und Feed Problem

Verfasst: 15.07.2015 14:38
von gn#36
Da musst du wohl eine Extension für finden oder bauen. Im Grunde kannst du die feed.php anpassen, oder einen Controller in eine Extension legen, der praktisch eine Kopie der feed.php mit anderer Ausgabe ist - die Daten für den Atom-Feed und für RSS müssten ja gleich sein, nur die Felder heißen anders. Die feed.php gibt offenbar aktuell alles noch mit echo hardcoded aus statt das in eine templateartige Struktur zu legen :o

Re: IFTTT und Feed Problem

Verfasst: 15.07.2015 14:55
von fussle
Öhm ja ... ich geh mir mal einen Kaffee holen. Verstanden habe ich gleich null =)

Re: IFTTT und Feed Problem

Verfasst: 15.07.2015 20:00
von gn#36
Die Quintessenz ist:
gn#36 hat geschrieben:Da musst du wohl eine Extension für finden oder bauen.
Du kannst dir auch die Struktur von RSS und Atom Feeds im Vergleich ansehen (welcher Tag entspricht welchem anderen) und dann die feed.php kopieren (und z.b. rss.php nennen) und in dieser Kopie dann die Ausgabe am Ende der Datei so abändern, dass du jeden Tag durch sein RSS-äquivalent ersetzt.

Also sprich

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
statt

Code: Alles auswählen

<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom">
sowie

Code: Alles auswählen

<link>http://www.example.com/main.html</link>
statt

Code: Alles auswählen

<link href="http://example.com/" />
und item statt entry, description statt summary oder ggf. statt content, guid statt id, pubDate statt updated, author samt inhalt raus, ...

Konkret heißt das (ohne Garantie dass es funktioniert, das ist mal eben im Browser gebastelt), dass die letzten paar Zeilen (ersetzt ab einschließlich echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";) der Datei so aussehen, während der Rest identisch zur feed.php ist:

Code: Alles auswählen

echo '<?xml version="1.0" encoding="UTF-8" ?>' . "\n";
echo '<rss version="2.0">
<channel>' . "\n";

echo (!empty($global_vars['FEED_TITLE'])) ? '<title>' . $global_vars['FEED_TITLE'] . '</title>' . "\n" : '';
echo (!empty($global_vars['FEED_SUBTITLE'])) ? '<description>' . $global_vars['FEED_SUBTITLE'] . '</description>' . "\n" : '';
echo (!empty($global_vars['FEED_LINK'])) ? '<link>' . $global_vars['FEED_LINK'] .'</link>' . "\n" : '';
echo '<guid>' . $global_vars['SELF_LINK'] . '</guid>' . "\n";

foreach ($item_vars as $row)
{
    echo '<item>' . "\n";

    echo '<pubDate>' . ((!empty($row['updated'])) ? $row['updated'] : $row['published']) . '</pubDate>' . "\n";

    echo '<guid>' . $row['link'] . '</guid>' . "\n";
    echo '<link>' . $row['link'] . '</link>' . "\n";
    echo '<title type="html"><![CDATA[' . $row['title'] . ']]></title>' . "\n\n";

    if (!empty($row['category']) && isset($row['category_name']) && $row['category_name'] !== '')
    {
        echo '<category>' . $row['category_name'] . '</category>' . "\n";
    }

    echo '<description><![CDATA[' . "\n";
    echo $row['description'];

    if (!empty($row['statistics']))
    {
        echo '<p>' . $user->lang['STATISTICS'] . ': ' . $row['statistics'] . '</p>';
    }

    echo '<hr />' . "\n" . ']]></description>' . "\n";
    echo '</item>' . "\n";
}

echo '</channel></rss>';

garbage_collection();
exit_handler();
Ersetzen würde ich die Datei aber nicht, denn eigentlich sind Atom Feeds besser, da sie mehr Strukturierte Infos enthalten. Kopier' die Datei und baue die Kopie um.

Re: IFTTT und Feed Problem

Verfasst: 15.07.2015 20:37
von fussle
OK, klingt alles einleuchtend - aber dafür bin ich wohl zu lange raus aus der Materie. Da suche ich mal eine Extension für...

Trotzdem vielen Dank für deine Bemühungen.

Re: IFTTT und Feed Problem

Verfasst: 17.07.2015 20:41
von fussle
Scheinbar gibts da echt nichts dafür =(

Re: IFTTT und Feed Problem

Verfasst: 17.07.2015 22:04
von gn#36
Hast du meine Anleitung einfach mal ausprobiert? Eigentlich steht da genau was du machen musst - ich habe es nicht ausprobiert, aber wenn sind da denke ich nur kleine Fehler drin.

Re: IFTTT und Feed Problem

Verfasst: 18.07.2015 03:48
von fussle
Ich habe heute nach der Schicht "kindfrei" - da werde ich es einfach mal probieren, es umzusetzen...