wp-forecast – Wie geht das?

Überraschenderweise findet mein kleines Wetter-Plugin für WordPress, wp-forecast reißenden Absatz und so mehren sich auch die Fragen zur Funktionsweise und den Details zum Programm. Im folgenden also eine kleine Beschreibung zu den kleinen Geheimnissen des Plugins.

Allgemeine Funktionsweise

wp-forecast holt sich über die offene Schnittstelle von Accuweather und unter Angabe des ausgewählten Ortes und des Parameters “metrische Einheiten” eine XML – Datei bei Accuweather ab.
Diese Datei wird geparsed, die interessanten Werte herausgefiltert und bis zur Version 0.9.1 als Cookie mit der Lebensdauer, die im Parameter “Cache erneuern nach … Sekunden” angegeben ist auf dem Browser des “Blog-Surfers” abgelegt. Ab der Version 1.0 beta legt wp-forecast die Informationen in der Datenbank ab. Das reduziert die Serverlast bei accuweather und damit auch die Zeit für den Seitenaufbau. Besonders fällt dies bei viel besuchten Websites auf.

Bei jedem Aufruf der Funktion wp-forecast() wird zunächst geprüft, ob noch Informationen als Cookie oder in der Datenbank vorhanden sind. Wenn Nein werden erneut aktuelle Daten von Accuweather bezogen. Im anderen Fall werden die Werte aus dem Cache (Cookie oder Datenbank) verwendet, um sie nach den gesetzten Einstellungen zur Anzeige als Widget aufzubauen und auszugeben. Dabei speichert wp-forecast, die Wetterdaten in der Tabelle wp_options, option_name=wp-forecast-cacheX, das X steht für die jeweilige Widget-ID, also z.B. A, B, etc.

Wo stehen die Nutzungsbedingungen von accuweather?

Accuweather bietet den kostenlosen Service NetWeather an. Dort kann man sich sein eigenes Layout für Wetterdaten erstellen und dann in die eigenen Website einfügen. Im dritten Schritt findet man dort auch die jeweils aktuellen Nutzungsbedingungen. Die Einstiegs-URL ist: http://netweather.accuweather.com/?partner=forecastfox Direkt zu den Nutzungsbedingungen kommt man mit http://www.accuweather.com/termsofusage.asp?partner=forecastfox

Wo kommt die Zeit her?

Die Uhrzeit, die durch wp-forecast angezeigt wird kommt von Accuweather und repräsentiert den Zeitpunkt zu dem die Daten bei Accuweather zuletzt aktualisiert wurden. Da die Daten erst dann erneuert werden, wenn das Cookie abgelaufen ist kann es sein, dass sich diese Uhrzeit eine ganze Weile nicht verändert. Stellt man beispielsweise als “Cache erneuern nach … Sekunden” den Wert 3600 ein, so werden die Daten nur einmal pro Stunde aktualisiert.

Wie rechnet man die Windgeschwindigkeit um?

wp-forecast bietet vier verschiedene Einheiten zur Anzeige der Windgeschwindigkeit (Meter pro Sekunde, Kilometer pro Stunde, Meilen pro Stunde und Knoten). Accuweather liefert je nach dem, ob metrische oder amerikanische Einheiten eingestellt sind, die Windgeschwindigkeit in Meter pro Sekunde oder Meilen pro Stunde.
wp-forecast verwendet Meter pro Sekunde als Basisangabe, daher wird der Wert falls er in Meilen pro Stunde vorliegt, als erstes in Meter pro Sekunde umgerechnet und auf die nächste ganze Zahl gerundet. Die Formel dazu ist round($wspeed * 0.44704,0);

Ausgehend von diesem Wert werden dann die anderen Einheiten umgerechnet. Dies geschieht mittels folgender Formeln (ms steht für die Windgeschwindigkeit in Meter pro Sekunde):

Umrechnung im Kilometer pro Stunde (km/h)ms * 3.6
Umrechnung in Meilen pro Stunde (mph)ms *2.23694
Umrechnung in Knoten (kts)ms*1.9438

Wo gibts noch mehr zu wp-forecast?

Einige der wp-forecast Anwender haben Artikel oder Postings zu wp-forecast verfasst.
Hier eine Liste mir bekannter Links:

Gibt es eine Stand-Alone Version des Plugins, die man ohne WordPress einsetzen kann?

Accuweather bietet den kostenlosen Service NetWeather an. Dort kann man sich sein eigenes Layout für Wetterdaten erstellen und dann in die eigenen Website einfügen. Eine Version dieses Plugins, die ohne WordPress eingesetzt werden kann, ist aktuell nicht geplant.

Woran liegt es, wenn die Widgets nur in Englisch angezeigt werden (WordPress 2.3.x)?

Es gibt einen Bug unter WordPress 2.3.x in der gettext.php auf x64 Plattformen. Eine Lösung findet man unter http://www.bluehostforum.com/showthread.php?p=46768

Funktioniert wp-forecast bei Provider X?

WordPress testet verschiedene Wege, um Daten dynamisch zum Blog hinzu zu laden. Wenn mindestens eine der folgenden Funktionen in der phpino aktiviert ist, dann sollte es möglich sein, Daten von anderen Servern zu laden:

  • fsockopen: prüfbar über die Ausgabe von phpinfo();, wenn fsockopen nicht in der Liste ist, die hinter disable_functions steht, dann sollte es klappen
  • fopen: prüfbar über die Ausgabe von phpinfo();, wenn allow_url_fopen auf Ja / Yes steht, dann sollte diese Variante funktionieren
  • http_request: benötigt die PECL http Extension, prüfbar über die Ausgabe von phpinfo();, suche nach HttpRequest
  • curl: benötigt die curl Extension, prüfbar in der Ausgabe von phpinfo();, suche nach Abschnitt CURL

Generell kann man festhalten, wenn eine der vier Methoden aktiv ist, funktionieren auch die Feeds im Dashboard und dann sollte auch wp-forecast funktionieren.

funpic.de - Stand:06.02.09 kann wp-forecast leider nicht beim provider funpic.de eingesetzt werden. funpic hat alle PHP-Funktionen, die man nutzen könnte um die Wetterdaten bei accuweather abzuholen deaktiviert. Dies gilt auch für die Feeds im Dashboard.

Confixx basierte Provider- Stand:28.02.09 Mr.Quick hat herausgefunden, dass es bei Confixx basierten Servern an einigen Einstellungen liegen kann, das wp-forecast nicht funktioniert. Details dazu findet ihr da: http://forum.wordpress-deutschland.org/plugins-und-widgets/46133-installationsproblem-mit-wp-forecast-3.html. Es handelt sich dabei um folgende Einstellungen die man unter httpd spezial ändern kann:

  • allow_call_time_pass_reference / ON
  • allow_url_fopen / ON
  • memory_limit 32M

1und1- Stand:04.01.10 kam es bisher zu Problemen bei der Anzeige der Widgetseite unter PHP4 bei 1und1. Mit folgender Konfiguration sind diese Probleme verschwunden: wordpress 2.9, wp-forecast 2.6 und am wichtigsten in der .htaccess bei 1und1 auf PHP5 umstellen.
Nach Aussage von Anwendern wird dies durch hinzufügen von

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

zur .htaccess erreicht.

Checkliste für die Datenübertragung Unter http://www.tuxlog.de/uncategorized/2009/checkliste-fur-wp-forecast-checklist-for-wp-worecast/ findet ihr eine Checkliste zum prüfen der Datenübertragung mit/ von accuweather in deutsch und in englisch.

Kann man den Wetterdienst snow-forecast in wp-forecast integrieren? Stand November 2010 ist das leider nicht möglich. snow-forecast bietet nur den HTML Forecast zum Einbinden auf speziellen, vereinbarten Websites. Der XML Feed ist auf 5 Orte und feste Domains beschränkt.

Weitere Fragen oder Hinweise? Gerne.

 

Kommentare

  1. julian:

    Hi, die Doku habe ich mir zweimal durchgearbeitet, allerdings habe ich dennoch noch nicht rausfinden können, wie ich mehrere Städte (also bspw. die angelegten Widgets ‘A’ und ‘B’) innerhalb eines ‘Sidebar-Widgets’ anzeigen lassen kann. Dort kann ich ja jeweils nur ‘A’ ODER ‘B’ auswählen. Geht das ohne Code-Editing?

    Antworten

    • webmaster:

      hi Julian,
      zunächst stellst du die gewünschte anzahl auf der wp-forecast admin seite oder ganz unten im admin widget dialog von wordpress ein und speicherst. danach kannst du im admin widget dialog von wordpress für das wp-forecast widget den entsprechenden buchstaben aussuchen.

      Antworten

  2. Christian:

    Hallo Hans,

    ja, es ist äußerst eigenartig. Ich habe Dir eine Mail mit ein paar Screenshots und weiteren Informationen geschickt.

    Gruß,
    Christian

    Antworten

    • webmaster:

      hallo Christian,
      ich habe dir eine mail mit einem lösungsansatz geschickt. probierst du das mal bitte aus.
      danke hans

      Antworten

  3. Christian:

    Hallo Hans,

    eigenartigerweise geht es bei einem Freund auch tadellos. Ich hatte schon Verdacht. daß es mit dem Theme nicht funktioniert und habe es mit dem “Default” getestet. Gleiches Phenomen … sobald wp-forecast aktiviert ist, geht die Designs/Widget-Seite nicht mehr. Anzeigen der bereits konfigurierten Sidebars ist falsch und ich kann kein Widget per Drag&Drop hinzufügen. Deaktiviere ich wp-forecast sind alle Einstellungen wieder korrekt …. äußerst eigenartig. Muß ich bei der php-Version auf irgendwas achten ?
    Ich bekomme keine Fehlermeldungen, gibt es denn bei wordpress eine Art logfile ? Da ich nur “dummer” Webspace-user bin, kann ich leider Logs des Apaches nicht einsehen :-(

    Gruß,
    Christian

    Antworten

    • webmaster:

      hallo Christian,
      na das ist ja zum mäuse melken. wir sehen den unterschied einfach nicht. hast du bestimmte add-ons im firefox installiert? vielleicht macht wpf ja etwas was die add-ons nicht mögen. ja es gibt ein debug modus, der wird uns aber wahrscheinlich nicht bei wordpress spezifischen dingen weiterhelfen. nichts desto trotz du kannst den debug modus in der wp-forecast.php direkt nach dem kommentar einschalten. einfach wpf_debug auf 1 setzen. hast du denn irgendwelche exotischen dinge angestellt? mehr als 20 widgets oder so. die php version sollte okay sein, ich habe es hier mit 4.4.8, 4.4.9 und 5.2.3 durch getestet. jetzt fällt mir noch was ganz einfaches ein. du hast geprüft, das alle dateien korrekt übertragen wurden und du wirklich die vollständige 2.4 von wp-forecast einsetzt? bei welchem provider bist du? vielleicht liegt es ja doch an restriktionen des providers.

      Antworten

  4. Christian:

    Sorry, meinte natürlich Firefox 3.5

    Gruß,
    Christian

    Antworten

  5. Christian:

    Hallo Hans,

    hier meine Konfiguration:

    wordpress 2.8.4_de
    wp-forecast 2.4 DE-Edition
    php-version 4.4.9
    andere plugins : Akismet (aktiviert),Hello Dolly (deaktiviert), NextGEN Gallery (deaktiviert), Thumbnail Viewer (aktiviert)
    Verwendeter Browser :3.5

    Vielen Dank im Voraus !

    Gruß,
    Christian

    Antworten

    • webmaster:

      hallo Christian,
      ich habe deine konfiguration eins zu eins sowohl mit firefox unter windows, als auch linux ausprobiert. immer das selbe ergebnis: bei mir funktioniert es. ich sehe auch keine fehlermeldung weder im browser, noch im log. ist dir sonst noch etwas aufgefallen? fehlermeldung oder ähnliches?

      Antworten

  6. Christian:

    Hallo,

    habe ein kleines Problem und noch keine Lösung gefunden. Nachdem ich das Plugin aktiviert habe ist es nicht mehr möglich unter Design/Widgets die Widgets zu konfigurieren. Ich kann keine Widgets zu den Sidebars hinzufügen/löschen oder ändern. Wenn ich “wp-forecast” deaktiviere ist alles wieder funktionstüchtig.

    Gruß,
    Christian

    Antworten

    • webmaster:

      hallo Christian,
      ich habe es gerade mit der version wordpress 2.8.4 ausprobiert und bei mir tritt das problem nicht auf. kannst du deine verwendete konfiguration beschreiben?
      wordpress version, wp-forecast version, andere plugins, php version und verwendeter browser/version.

      danke, hans

      Antworten

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

:bye: 
:good: 
:negative: 
:scratch: 
:wacko: 
:yahoo: 
B-) 
mehr...
 
Blogverzeichnis - Blog Verzeichnis bloggerei.de