Eintrag #48, 17.09.2009, 20:36 Uhr

klamm.de :: WETTER

Kack Wetter.

Ich wollte nur "mal schnell" eine öffentliche Wetter-Suche bauen - im Zuge der Mehr-Klamm-ohne-Einloggen-Bewegung (MKÖ) - und bin dann aber auf so Probleme/Ideen wie "Perma-URL für Orte" gestoßen.

Jetzt war das mit meiner bisherigen Wetter-Architektur nicht machbar, da ich nicht die festen Ort-IDs von Wetterspiegel benutzt habe, sondern meine eigenen, die sich nach jedem Insert natürlich ändern konnten.Also alles auf Wetterspiegel-IDs umgebaut. Komplette API neu geschrieben.-.-

Wird auf der Startseite ein Ort aufgerufen, der grad nicht gecached ist, wird dieser Ort geqeuet und innerhalb von 2min gecached. LIVE cachen hat auf der Startseite nichts zu suchen. Könnte sie ja verlangsamen.

Klickt man zu "Tagesdetails" (oder nutzt man nen Permalink), kommt man auf die Wetter-Unterseite.  Hier ist Effizienz nicht gaaaaaanz so wichtig (wir reden hier von 0,x Sekunden zusätzlich), weshalb erstmal der Ort neu gecached wird, falls er schon bisschen alt ist oder noch gar nicht vorhanden.

Die Details werden nur abgerufen, wenn sie auch wirklich angeschaut werden. Dann bleiben sie so lange in der DB, bis sie kein anderer User für X Stunden mehr angefordert hat. Werden sie zwischendruch angefordert, kommen sie ausm Cache, sofern die Daten noch frischer als eine Stunde sind.

Eine Suche (auch als ausgeloggter Gast) ist ebenfalls möglich. Nach dem Suchergebnis wird man zur Permaurl des Ortes weitergeleitet - schön per GET, damit man die URL bookmarken kann wenn man möchte.

So sieht das z.B. aus (Mannheim, Ortansicht)
http://www.klamm.de/partner/unter_wetter.php?ort=de14696
Textuelle Vorhersagen mit Ort nebendran
http://www.klamm.de/partner/unter_wetter.php?loc=de14696
Detailseiten dann so
http://www.klamm.de/partner/unter_wetter.php?det=de14696,h
(heute=h,morgen=m, ...)

Kompliziert war, dass ich zwar immer 4 Tage geiefert bekomme, aber das kann ein tagesaktueller Datensatz oder noch ein Datensatz vom Vortag sein (ich halte ja nicht ständig alle 10.000 Datensätze aktuell ohne dass sie jemand anfordert). Sieht dann so aus:

"heute,morgen,übermorgen,drübermorgen"  (aktuell)

oder - in den Stunden Nachts bis das erste Update kommt -

"gestern,heute,morgen,übermorgen" (tag zuvor)

Jetzt wisst ihr auch, wieso ich auf der Startseite nur 3 Tage darstelle. Sollte der aktuelle Tag noch nicht da sein, wird der Tag zuvor einfach intern eins nach vorne geshiftet. "Heute" = "DB-morgen" usw. Sonst bekomm ich wieder mails mit "bei mir steht noch das Wetter von gestern" (=vor dem update ...)

Dabei fiel mr bisher jedoch nicht auf, dass man auf der Unterseite mit der textuellen Vorhersage 4(!) Bildchen (rechts in der Box) sehen kann. Und hier muss ich nun doch unterscheiden zwischen "alt" und "neu". Was ist beim aktuellen Datensatz tatsächlich "heute" und auf welchen Tag müssen die Detail-Links zeigen?

Ist noch der alte Datensatz da, könnt ihr daher so nen Link sehen
http://www.klamm.de/partner/unter_wetter.php?det=de14696,g

g = das erste Bildchen zeigt "gestern".
Leitet dann auch auf die Detailansicht von "gestern" (was in der DB ja noch im "heute"-Feld steht, weil es der Datensatz von gestern ist. verstanden?  ^^). Ist der Datensatz wieder aktuell, wird das "g" abgefangen und zeigt auf "heute". Worsest Case: Man klickt auf "gestern" und die Detail-API ist schon auf "heute" umgestellt. Dann kommt halt ne Fehlermeldung weils die "gestern"-Daten nicht (mehr) gibt. Glaub das ist aber schon eher Richtung "toter Code".

Kommt zwar so gut wie nie vor, außer ihr holt zu ner wirklich dummen Uhrzeit ne wirklich ausgefallene Stadt - aber immerhin ist es sauber abgefangen. Und das beruhigt mein Gewissen. ^^

In der kleinen Box rechts wird per Default die MyWeather Stadt angezeigt. Befindet man sich aber auf ner Detailseite ner anderen Stadt, wird diese Stadt dort angezeigt. Das AJAX-MyWeather-Wechsel-Symbol sieht man auch nur, wenn die aktuell angezeigte Stadt = der eingestellten MyWeather-Stadt ist.

Auch NEU: Auto-Wetter

Wenn sich wer neu anmeldet, dann sucht ein Bot anhand der Anmeldedaten (PLZ, Land, Stadt) eine passende MyWeather-Stadt und stellt diese ein. Dafür wird der erste Treffer verwendet. Kann also sein, dass man auch die Nachbarstadt erwischt, aber macht ja nix. Bei Profil-Änderung wird auch immer wieder gesucht - es sei denn der User hat schonmal MyWeather aktiv eingestellt. Dann geht der Bot davon aus, dass der User die Funktion kennt und lässt seine Einstellungen in Ruhe.

Da seht ihr mal, welcher Gedanken-Brei oft hinter einem augenscheinlich kleinen klamm-Feature steckt. Ich könnte auch einfach ein Free-Homepagewetter einbinden. Aber genau diese Verliebtheit zum Detail ist es imho, was mich von anderen Webbis unterscheidet.

Kack Wetter.
 
 (48) brainmue
 (??) Madkev
 (41) Pontius
 (??) X_Z
 (77) HelmutPohl
 (??) thrasea
 (??) V1rU5
 (45) Bahlmann
 (??) Fahrradfisch
 (??) maxator

... und 96 Gäste
Wer war da?