RSS bei Facebook via RSS-Graffiti

Wie verwendet man Module oder Aktion und passt diese an.

RSS bei Facebook via RSS-Graffiti

Beitragvon Mightymagic » 18. Jul 2011, 17:27

Hallo,

ich verwende das RSS-Modul von franz007.at und möchte es mit einer FB-Gruppe via RSS-Graffiti verbinden. Das klappt auch soweit ganz gut, bis auf die Tatsache, dass ich bei der Aktualisierung (dem Posten auf FB) die Fehlermeldung "Missing publication date in {number} items in your feed." bekomme. Lt. Wikieintrag der App fehlt dem ganzen das Publikationsdatum durch den Eintrag "pubDate". Nun hab ich keinen Schimmer, wie ich das in das Modul reibekommen soll. Hat jemd vielleicht einen Tip für mich, wie und an welcher Stelle ich das reinnehmen kann/muss? Ich gehe mal davon aus, dass es in die Ausgabe muss. Anbei mal der Ausgabe-Code...

Code: Alles auswählen
<?php
   // Version 1.5.1
   //---Module by----------------------
   //-- franz007.at
   //-- franz007
   //-- www.franz007.at
   //----------------------------------   
   $rss_title = "REX_VALUE[6]"; // titel des RSS-feeds
   $rss_link = "REX_VALUE[7]"; // link
   $rss_description = "REX_VALUE[8]"; // beschreibung des feeds
   $rss_language = "REX_VALUE[9]"; //language code
   $domain = "REX_VALUE[10]"; # inkl http:// und abschließndem /    wird in den Links vor rex_getUrl($articleId) gesetzt
   
   
   /*$rss_title = "franz007.at Newsfeed"; // titel des RSS-feeds
   $rss_link = "http://www.franz007.at/"; // link
   $rss_description = "franz007.at"; // beschreibung des feeds
   $rss_language = "de-at"; //language code
   
   $domain = "http://www.franz007.at/"; # inkl http:// und abschließndem /    wird in den Links vor rex_getUrl($articleId) gesetzt*/
   $n = "\n";
   
if (!$REX['REDAXO']){ #nicht im backend
   function un_htmlentities__m148($string){
      $trans_tbl = get_html_translation_table (HTML_ENTITIES);
      $trans_tbl = array_flip($trans_tbl);
      return strtr($string, $trans_tbl);
   }
   function sortArticlesByUpdateDate__m148( $artA, $artB) {
      $createA = $artA->_updatedate;
      $createB = $artB->_updatedate;

      if ( $createA == $createB) {
         return 0;
      }

      return $createA > $createB ? -1 : 1;
   }
   function sortArticlesByUpdateDate_rev__m148( $artA, $artB) {
      $createA = $artA->_updatedate;
      $createB = $artB->_updatedate;

      if ( $createA == $createB) {
         return 0;
      }

      return $createA > $createB ? +1 : 1;
   }
   function sortArticlesByPrio__m148( $artA, $artB) {
      $createA = $artA->_prior;
      $createB = $artB->_prior;

      if ( $createA == $createB) {
         return 0;
      }
      return $createA > $createB ? +1 : 1;
   }
   function sortArticlesByPrio_rev__m148( $artA, $artB) {
      $createA = $artA->_prior;
      $createB = $artB->_prior;

      if ( $createA == $createB) {
         return 0;
      }
      //return $createA > $createB ? +1 : 1;
      return $createA > $createB ? -1 : 1;
   }
   function only_numbers__m148($string){
      if(strval(intval($string)) == $string)
         return true;
      else
         echo false;
   }
   
   
   header("Content-type: application/xml");
   echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
   echo '<rss version="0.91">'.$n;
   echo '<channel>'.$n;
   echo '<title>'.$rss_title.'</title>'.$n;
   echo '<link>'.$rss_link.'</link>'.$n;
   echo '<description>'.$rss_description.'</description>'.$n;
   echo '<language>'.$rss_language.'</language>'.$n;
   

   $itemsPerSide = "REX_VALUE[2]";
   $wordsPerArticle = "REX_VALUE[3]";
   $config_categories = "REX_VALUE[1]";
   
   
   #$start = !empty($_GET['start']) ? (int) $_GET['start'] : 0; // Startitem
   $start = 0;
   $offset = $itemsPerSide; // 10 Items pro Seite
   
   if($config_categories !== ""){
      #$cats = array($config_categories);
      if(strstr($config_categories, ";") == false){# kein ; gefunden
         $cats = array($config_categories);
      }
      elseif(strstr($config_categories, ";") !== false){ # ; gefunden
         $cats = explode(";", $config_categories);
         
         # überprüfen ob alle werte des arrays zahlen sind
         foreach($cats as $temp){
            if(!only_numbers__m148($temp)){
               $cats = array("REX_CATEGORY_ID"); // aktuelle Kategorien "indizieren"
               break;
            }
         }
      }
      elseif(!only_numbers__m148($config_categories)){
         $cats = array("REX_CATEGORY_ID"); // aktuelle Kategorien "indizieren"
      }
   }
   else{
      $cats = array("REX_CATEGORY_ID"); // aktuelle Kategorien "indizieren"
   }

   $articles = array();

   foreach ( $cats as $catId) {
     $cat = OOCategory::getCategoryById( $catId);
   
     // CatIds die nicht funktionieren aussortieren
     if( $cat === null) {
        continue;
     }

     $cat_articles = $cat->getArticles( true);

     foreach ( $cat_articles as $ooarticle) {
        // keine Startartikel anzeigen
       if ( $ooarticle->isStartPage()) {
          continue;
        }

        // Damit keine Endlosschleife passiert, den Artikel der die Pagination setzt berspringen
        if ( $ooarticle->getId() == REX_ARTICLE_ID) {
           continue;
        }
        $articles[] = $ooarticle;
     }
   }
   
   $articles_length = count( $articles);
   
   
   
   // Sortieren
   if ( $articles_length > 0) {
      if("REX_VALUE[4]" == "1"){// Sortieren nach Erstellungsdatum
         usort( $articles, "sortArticlesByUpdateDate__m148");
      }
      if("REX_VALUE[4]" == "2"){// Sortieren nach Erstellungsdatum
         usort( $articles, "sortArticlesByUpdateDate_rev__m148");
      }
      if("REX_VALUE[4]" == "3"){// Sortieren nach Priorität
         usort( $articles, "sortArticlesByPrio__m148");
      }
      if("REX_VALUE[4]" == "4"){// Sortieren nach Priorität (umgekehrt)
         usort( $articles, "sortArticlesByPrio_rev__m148");
      }
   }

   $article_list = array_slice( $articles, $start, $offset);

   foreach ( $article_list as $ooarticle) {
   #foreach ( $articles as $ooarticle) {
      
      if ($ooarticle->isOnline(true)) {
         $articleId = $ooarticle->getId();
         $articleClang = $ooarticle->getCLang();

         #$article = new article();
         $article = new rex_article();
         $article->setArticleId( $articleId);
         $article->setCLang($articleClang);
         $articleContent = $article->getArticle();
         
         if('REX_VALUE[5]' == "1"){//überschriften entfernen
            //überschriften entfernen
            #$articleContent = preg_replace("/<h[1-6]>.*<\/h[1-6]>/", "", $articleContent);
            $articleContent = preg_replace("/<h[1-6]>(.+?)<\/h[1-6]>/", " ", $articleContent);
            #preg_match_all('#<h[1-6]>(.*)</h[1-6]>#', $articleContent, $found);
         }
         #print_r($found);
         
         //alle tags entfernen
         $articleContent = strip_tags($articleContent);
         $articleContent = un_htmlentities__m148($articleContent);
         
         $output = "";
         $words = explode(" ",$articleContent);
         $wordsCount = count($words);
      
         if ($wordsCount < $wordsPerArticle) {
            $wEnd = $wordsCount;
         }
         else{
            $wEnd = $wordsPerArticle;
            $cutted = true;
         }
               
         for ($w=0;$w<$wEnd;$w++) {
            $output .= $words[$w]." ";
         }
         
         // Leerzeichen entfernen am Anfang und Ende des Strings   
         $output = trim($output);
         
         $item_description = $output;
         
         // " ..." anhängen wenn der artikel gekrzt wird
         if($cutted = true){
            $item_description .= " ...";
         }
         
         
         $item_title = $ooarticle->getName();
         $item_link = $domain.rex_getUrl($articleId);
         
         
         $item_title = "<![CDATA[".$item_title." ]]>";
         
         $item_description = strip_tags($item_description);
         $item_description = un_htmlentities__m148($item_description);
         $item_description = "<![CDATA[".$item_description."]]> ";
         
         
         
         #eintrag ausgeben
         echo '<item>'.$n;
         echo '<title>';
         echo $item_title;
         echo '</title>'.$n;
         echo '<description>'.$item_description.'</description>'.$n;
         echo '<link>';
         echo $item_link;
         echo '</link>'.$n;
         echo '</item>'.$n;
      }
   }
   echo '</channel>'.$n;
   echo '</rss>'.$n;
}
else{ //im backend
   echo "RSS-feed";
   if(isset($m148_rrs_feed_module_already_set) && $m148_rrs_feed_module_already_set == true){
      echo '<h1>Das Modul darf nur einmal pro Artikel eingesetzt werden und muss das einzige Modul im Artikel sein!</h1>'.$n;
   }
   $m148_rrs_feed_module_already_set = true;
}   
?>
Gruß Mightymagic

REDAXO: 4.3.1
PHP: 5.2.14
MySQL: 5.0.91
Mightymagic
 
Beiträge: 60
Registriert: 11. Feb 2010, 14:29

Schau mal hier:

Beitragvon netmanix » 18. Jul 2011, 20:48

Versuchs mal mit der Version von KLXM.
Das basiert auf die Lösung von franz07.at. Bzw. dort findest Du sicher die notwendige Modifikation.
Ich nutze es auch mit RSS-Graffiti.
Schau mal:
http://www.klxm.de/518-0-do-rss.html
... Redaxo hat mich wieder
Benutzeravatar
netmanix
 
Beiträge: 293
Registriert: 11. Sep 2008, 19:35
Wohnort: Wesel

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Mightymagic » 18. Jul 2011, 23:18

Danke. Er schmeisst jetzt zwar keine Fehlermeldungen mehr aus, aber das Posting sehe ich auch nach Refresh noch nicht....komisch...

EDIT: Also auch nach ein paar Stunden zeigt er in der Gruppe kein Posting an, obwohl er behauptet es gepostet zu haben. Seltsam.
Gruß Mightymagic

REDAXO: 4.3.1
PHP: 5.2.14
MySQL: 5.0.91
Mightymagic
 
Beiträge: 60
Registriert: 11. Feb 2010, 14:29

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Skerbis » 19. Jul 2011, 09:52

Wer gibt keine Postings aus? RSS-Graffiti?
RSS-Graffiti ist ziemlich buggy habe auch so meine Problemchen damit.
In einem Account funktioniert es in dem anderen nicht. Warum ist mir schleierhaft. Bei allen Accounts (facebook-Seiten von Kunden) setze ich do rss! ein. Na ja, RSS-Graffiti ist ja auch noch Beta.
----------------------
Werbeagentur KLXM Crossmedia
die Kommunikationsagentur vom linken Niederrhein
http://www.klxm.de
Skerbis
 
Beiträge: 889
Registriert: 4. Aug 2006, 13:06
Wohnort: Rheinberg

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Richard.Laing » 19. Jul 2011, 11:16

@skerbis
hi do-rss?
hmmm hab ich da irgendwas verpasst...?
wie bekommst du denn das in FB rein?
erklär mir bitte kurz ich machen dann ein video dazu ;)

--
http://www.neosmart.de/social-media/facebook-wall
ist auch interressant, aber um FB aud deiner webseite darzustellen.
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de
Benutzeravatar
Richard.Laing
 
Beiträge: 2109
Registriert: 27. Aug 2005, 23:55
Wohnort: Brühl / Rheinland

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Mightymagic » 19. Jul 2011, 13:51

DAS ist eine gute Frage....gibts denn noch andere Alternativen, wie ich den RSS in meine FB-GRUPPE reinbekomme?
Gruß Mightymagic

REDAXO: 4.3.1
PHP: 5.2.14
MySQL: 5.0.91
Mightymagic
 
Beiträge: 60
Registriert: 11. Feb 2010, 14:29

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Skerbis » 19. Jul 2011, 14:38

@Richy: do rss! ist nur ein RSS-Generator für Redaxo auf Basis der Lösung von franz07.at, modifiziert um UTF-8-Unterstützung und Unterstützung von Timer-Einstellungen.
Da muss man kein Video für erstellen. Das RSS kann man dann mit diversen Anwendungen in Facebook veröffentlichen.

@Mightymagic: Es gibt mehrere Apps bei Facebook die das erledigen können. Einfach mal bei den Anwendungen nach "RSS" suchen.
Es gibt aber auch Dienste die das für die im Social-Web verbreiten.
z.B. SocialOomph oder LinksAlpha.com
----------------------
Werbeagentur KLXM Crossmedia
die Kommunikationsagentur vom linken Niederrhein
http://www.klxm.de
Skerbis
 
Beiträge: 889
Registriert: 4. Aug 2006, 13:06
Wohnort: Rheinberg

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Richard.Laing » 19. Jul 2011, 14:54

@skerbis :) ok arbeit gespart, hast recht video dafür lohn nicht wirklich.
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de
Benutzeravatar
Richard.Laing
 
Beiträge: 2109
Registriert: 27. Aug 2005, 23:55
Wohnort: Brühl / Rheinland

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Mightymagic » 19. Jul 2011, 14:57

So, Problem gelöst: Und es war mal wieder so blöde einfach....

FB läßt es nicht zu dass die Gruppe an sich postet. Man muss also in RSS-Grafitti unter "More" -> "Publish on behalf of..." einen Admin bzw. eine echte Person aussuchen und "posten" lassen.
Gruß Mightymagic

REDAXO: 4.3.1
PHP: 5.2.14
MySQL: 5.0.91
Mightymagic
 
Beiträge: 60
Registriert: 11. Feb 2010, 14:29

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Skerbis » 19. Jul 2011, 15:27

Na ja, wer braucht schon Facebook ;-)
----------------------
Werbeagentur KLXM Crossmedia
die Kommunikationsagentur vom linken Niederrhein
http://www.klxm.de
Skerbis
 
Beiträge: 889
Registriert: 4. Aug 2006, 13:06
Wohnort: Rheinberg

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon pageUp_ffm » 30. Jul 2011, 10:33

Moin,

ich muss ja ehrlich sagen, daß mich das Thema "Rss" aus Redaxo nach Facebook allmählich ein bisschen nervt.
Einfach, weil es nicht klappt...

Mal abgesehen davon, das "Rss Graffitti" auf facebook noch ne Beta ist, bietet diese Anwendung doch die Funktionen, die man benötigt. (Post in Gruppe statt eigenes Profil z.b.)

Leider erzeugt das "Do-Rss" bei mir meistens nur einen leeren Feed. Ich sage "meistens", weil es mir gelungen ist, zumindest einmal einen neuen Artikel von meiner Redaxo-Page nach Facebook entsprechend zu posten. Warum diesen einen Artikel und warum nur dieses eine Mal (im übrigen nach Stunden erst), bleibt mit nach wie vor schleierhaft.

Darüber hinaus fände ich es toll, wenn es einen Rss-Generator gäbe, der nur bestimmte Inhalte (referenziert aus der sql-Datenbank) exportieren würde.

Dafür, das Rss nun nicht eine exotische Anwendung ist, wundert es mich, das es dafür nur so wenige Tools hier im Forum gibt. Das ist jetzt kein Vorwurf! Wenn ich etwas mehr Grips und Ahnung hätte, würde ich mich ja an die Programmierung machen...

Hat nicht jemand eine glohreiche Idee, wie man diese o.g. Kombination dann doch zum Laufen bringt ?
Kann doch nicht sein ....

Danke für jeden Tipp.
Stephan
pageUp - Stephan Eberhardt
pageUp_ffm
 
Beiträge: 9
Registriert: 16. Feb 2007, 15:38
Wohnort: Frankfurt am Main

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Skerbis » 1. Aug 2011, 11:24

Es liegt an RSS-Graffiti. Die Lösung ist einfach fehlerhaft.
Meine Empfehlung: LinksAlpha.com
----------------------
Werbeagentur KLXM Crossmedia
die Kommunikationsagentur vom linken Niederrhein
http://www.klxm.de
Skerbis
 
Beiträge: 889
Registriert: 4. Aug 2006, 13:06
Wohnort: Rheinberg

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon pageUp_ffm » 1. Aug 2011, 14:04

Skerbis hat geschrieben:Es liegt an RSS-Graffiti. Die Lösung ist einfach fehlerhaft.
Meine Empfehlung: LinksAlpha.com



Nö... es liegt eindeutig an Redaxo bzw. den Rss-Tools.
Ich erhalte immer nur einen leeren Feed.
Oder ich bin zu blöd das einzurichten... kann ja auch sein.
pageUp - Stephan Eberhardt
pageUp_ffm
 
Beiträge: 9
Registriert: 16. Feb 2007, 15:38
Wohnort: Frankfurt am Main

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Skerbis » 2. Aug 2011, 08:56

Wo liegt denn das Problem bei do rss! ?
do rss! listet alle online geschalteten Artikel der festgelegten Kategorie auf.
Beispiel: http://www.klxm.de/195-0-rss.html
do rss! muss in einem leeren Template mit dem Inhalt

Code: Alles auswählen
<?php print $this->getArticle(1); ?>

evtl. kannst Du noch ein ini_set("allow_url_fopen", "1"); an den Anfang stellen.

Wenn der Feed dennoch leer ist liegt es daran, dass do rss! keine Inhalte gefunden hat?
Die Feeds werden aus den Descriptions der Meta-Tags oder aus den eigentlichen Artikel-Inhalten generiert.

Alternativ, versuche es mal mit: http://www.redaxo.org/de/download/modul ... &cat_id=-1

Das ändert aber leider nichts daran, dass RSS-Graffiti nicht zuverlässig arbeitet.
----------------------
Werbeagentur KLXM Crossmedia
die Kommunikationsagentur vom linken Niederrhein
http://www.klxm.de
Skerbis
 
Beiträge: 889
Registriert: 4. Aug 2006, 13:06
Wohnort: Rheinberg

Re: RSS bei Facebook via RSS-Graffiti

Beitragvon Skerbis » 3. Aug 2011, 15:52

Nochmal RSS-Graffiti.
Bei einem Facebook-Account eines Kunden hat RSS-Graffiti ca. 1 Monat keine Updates durchgeführt.
Heute hat es 25 "alte" News gepostet. Folge: Alte Nachrichten stehen in der Site nun vor neuen.
RSS-Graffiti habe ich jetzt gelöscht.
----------------------
Werbeagentur KLXM Crossmedia
die Kommunikationsagentur vom linken Niederrhein
http://www.klxm.de
Skerbis
 
Beiträge: 889
Registriert: 4. Aug 2006, 13:06
Wohnort: Rheinberg


Zurück zu Module/Aktionen [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste