Joa, manche habens schon gehört: für mein zweites Assignment in "Advances in Interactive Media" schreibe ich momentan an einem Newsfeed-Aggregator, der nach seiner Fertigstellung auf schmuhf.com/ulm zum Einsatz kommen und dort die Beiträge der kleinen, aber feinen Ulm-Bloggers-Gemeinde zusammenfassen soll.
Nun bin ich bei der Programmierung auf eine Sache gestoßen, die mir eine Menge Kopfzerbrechen beschert hat: um unnötigen Datentransfer zu vermeiden, prüft mein Programm mittels des "last-modified"-headers eines Newsfeeds, ob sich etwas getan hat, seitdem der Feed das letzte Mal abgeholt wurde. Dies funktioniert bei den meisten Blogs auch recht gut, nur bei meinem eigenen, Flos und Toms Blog gab es Probleme: Der header zeigte eine völlig falsche Zeit an, immer so 16 Stunden in der Vergangenheit. Wie kommts?
Nun benutzen wir alle
serendipity und haben dort alle einen serverOffset angegeben, der es uns ermöglicht, in australischer Zeit zu bloggen - dieser hat dank deutscher Sommer- und australischer Winterzeit einen Wert von 8 Stunden... aaaaha! Also schnell (naja) in die serendipity sourcen geschaut und auf diese Zeile gestoßen:
$last_modified = gmdate('D, d M Y H:i:s \G\M\T', serendipity_serverOffsetHour( $latest_entry[0]['last_modified'], true ));
und an anderer Stelle
Returns a timestamp formatted according to the current Server timezone offset
@param int The timestamp you want to convert into the current server timezone.
@param boolean A toggle to indicate, if the timezone offset should be ADDED or SUBSTRACTED from the timezone. Substracting is required to restore original time when posting an entry.
@return int The final timestamp
function serendipity_serverOffsetHour($timestamp = null, $negative = false) {[..]}
Na so was, das sieht doch ganz stark nach der Fehlerquelle aus!
Also ab ins
serendipity Forum und unter 'bugs'
gepostet. Am nächsten Tag eine Antwort:
This might be a bug. Thanks for finding it!
I'm afraid Garvin's on vacation, so I'm trying to be extra careful to avoid messing things up while he's gone. I was going to ask you some questions, but a little more digging on my part shows that your suggestion is exactly correct, as far as I can tell. I just committed it to SVN.
Willkommen zur Open Source Bewegung, Jonas! Da macht das Arbeiten mit einer Software doch gleich noch viel mehr Spaß, wenn man selbst einen Anteil daran geleistet hat. Jetzt muss ich nur noch nachfragen, warum mein Name nirgendwo an prominenter Stelle genannt wird...
PS: Sind RSS-Feeds eigentlich nicht standardisiert? Oder warum kann der Autor in einem s9y-Feed mit <author> deklariert werden, und in einem Wordpress-Feed mit <dc:creator>...?
Schöne Sache, sollte jeder mal ausprobieren (ok die meisten kennen das wahrscheinlich eh aus eigener Erfahrung). Letzte Woche an einem Netzwerk-Projekt für diesen Ciscokurs gearbeitet, nebenher noch an dem regulären Uniprojekt und dann noch ein Data Minin
Aufgenommen: Okt 02, 15:44