Page 1 of 1

Artikel automatische aus Datenbank entfernen

Posted: Sun Mar 11, 2007 3:16 pm
by call
Hallo,

ich habe mit dem RSS-Aggregator Plugin externe RSS Feeds eingebunden.

Im Plugin kann man einstellen, dass nach N Tagen automatisch ältere Artikel aus der Datenbank entfernt.

Leider funzt das bei mir nicht und meine Datenbank wird vollgepumpt.

Muss man ausser im Plugin sonst noch Einstellungen vornehmen, damit ältere Sachen automatisch gelöscht werden?

Derzeitige Einstellungen:

Code: Select all

RSS Parser wählen 
 Onyx ist ein BSD-lizensierter Parser, der aber kein ATOM unterstützt. MagpieRSS ist ein GPL-lizensierter Parser, der dafür Atom und mehr Formate parst.   [b]x[/b]Onyx [BSD]  MagpieRSS [GPL]  

Artikel entfernen 
 Alte Artikel werden nach n Tagen aus der Datenbank entfernt (0 = Nie).  [b]7  [/b]

Prüfsummen entfernen 
 Prüfsummen werden verwendet, um Artikel ohne Datum wieder zu erkennen. Nach wieviel Tagen sollen die Prüfsummen aus der Datenbank entfernt werden? (90 = empfohlen, 0 = Nie).  [b]90[/b]
  
Aktualisierungen ignorieren 
 If an article text changes later on, shall we ignore that update?   Ja  [b]Nein[/b]  

Nicht mehr verkettete Einträge löschen 
 Wenn ein Abonnement beendet wird und diese Option aktiv ist, werden alle zugehörigen Artikel dieses Feeds gelöscht.   [b]Ja[/b]  Nein 
 
Kommentare für diesen Eintrag zulassen   Ja  [b]Nein[/b]  

Debugging-Output 
 Debugging Output im Logbuch einschalten?   Ja [b] Nein[/b]  
Grüsse,
Call

Re: Artikel automatische aus Datenbank entfernen

Posted: Sun Mar 11, 2007 4:30 pm
by garvinhicking
Hi!

Stell doch mal bitte die "Debug" Option auf an, und schau mal was beim aufrufen des Aggregierens ausgegeben wird. Da müsste dann was stehen ob und wenn ja welche Artikel er versucht zu "expiren".

Führ sonst mal folgende SQL Abfrage aus:

Code: Select all

SELECT e.id
                FROM serendipity_entries AS e
     LEFT OUTER JOIN serendipity_entryproperties AS ep
                  ON e.id = ep.entryid
     LEFT OUTER JOIN serendipity_aggregator_feeds AS af
                  ON ep.value = af.feedid
               WHERE ep.property = 'ep_aggregator_feed'
                 AND e.comments < 1
                 AND e.extended IS NULL
                 AND e.timestamp < UNIX_TIMESTAMP(NOW()) - (86400*7)
Wenn diese Abfrage nämlich nichts zurückliefert müsste ein eder WHERE-Bedingungen nichts liefern, also z.B. weil "e.extended" etwas enthält, oder "e.comments > 1" ist oder der Timestamp eines Artikels auf was aktuellem steht...

Grüße,
Garvin