Beiträge von Hereticus

    System erkannt ...? :)

    Die Zeiten im Ligascript werden als Unixtimestamp abgelegt. Der ics-Generator rechnet diese Angabe offenbar automatisch auf Zulu um und hinterlegt sie dort so. Das Problem ist, daß ich dem Script nicht beibringen kann, die Zeit in der ics-Datei anders als in Zulu anzugeben. Wenn ich eine Berlin-Zeitzone hinzufüge, wird die Zeit falsch umgerechnet (und zwar so, als ob ich im immer winterzeitlichen London wäre, das Event aber in Berlin stattfindet, also UTC+2 bzw. +1). Das ist aber für unseren Zweck auch nicht wichtig, weil die Kalendertools die Umrechnung auf die voreingestellte Zeitzone des jeweiligen Standorts automatisch vornehmen, wenn keine Zeitzone im ics-File angegeben ist. Damit wird die Zeit richtig ausgegeben und somit besteht kein Änderungsbedarf.

    Die Sache mit der fehlenden Startzeit hat sich durch die Abstandssekunde erledigt, das müssen wir nicht mehr auseinanderklamüsern. Der Kalender interpretierte offenbar 000000Z und 000000Z (oder 00:00:00) definiert ein Ganztagsevent. Dazu war noch eine Endzeit angegeben, die in MEZ umgerechnet wird, so entsteht dann diese komische Angabe. Das ist praktisch ein doppelter Fehler, denn die Endzeit muß bei einem wirklichen Ganztagsevent "allday" lauten. Wie auch immer, das ist durch die Abstandssekunde abgestellt und wird nicht mehr auftreten, kann also auch als erledigt gelten.

    Wenn Du genau hinschaust, siehst Du aber, daß die Termine nicht im Zeitplan des Tages stehen, sondern oben darüber. Es ist ein Ganztagstermin, dessen Anfangszeit zusätzlich noch umgerechnet wird. Das liegt an der 00:00:00. Spielt aber auch keine Rolle, die "Abstandssekunde" ist schon fix einprogrammiert und mit 00:00:01 geht es auch im GK vernünftig, ich teste hier mit einer Testdatei, die das damit normal als 00:00 Uhr 90 Minuten Termin anzeigt.

    Was noch nicht klappt, ist die Zeitzone vernbünftig anzugeben. Wenn ich die Zeitzone angeben lasse - sowohl für den gesamten Kalender wie auch für die einzelnen Events - rechnet er mir die Termine von GMT+0 auf ME(S)Z zurück, das ist aber natürlich Mist, weil meine Termine natürlich schon ME(S)Z sind. In den Kalenderdetails sagt er auch immer noch, der Kalender an sich sei GMT. Das muß ich noch herausfinden, wie man das macht, aber wie gesagt, jetzt muß ich ich mich erstmal ein paar Stunden um andere Dinge kümmern.

    Ja, aber die wird erst im Januar vorgenommen. Bis dahin sieht es blöde aus und das muß ja nicht sein. Was sich optimieren lässt, wird optimiert. Halbe Lösungen á la "geht erstmal so" liegen mir nicht. ;D

    Wobei sich die Frage stellt, wieso der Google Kalender überhaupt irgendetwas umrechnet und nicht einfach die angegebene Zeit übernimmt? Bei mir gehen die Ereignisse alle um 01:00 Uhr los. Es ist aber 00:00 angegeben. Ob ich Greenwichzeit angebe oder nicht, muß doch irgendwo mal mir überlassen sein?

    Wie auch immer. Der Fehler stammt offebar daher, daß iCal Events, die um 00:00:00 beginnen, generell als Ganztagesevents annimmt und ausgibt, so die Programmierernotiz in meiner Scriptdatei. Entsprechend ist die Schlußzeit dann am Folgetag. Ich lasse jetzt also bei jeder Anwurfzeit automatisch eine Anstandssekunde hinzufügen, und damit klappt alles wie es soll (Anwurf um 00:00 Uhr, Schluß um 01:30 des selben Tages). Bitte mal ausprobieren, ob das auch andere Probleme behebt.

    Nachtrag: Ich habe jetzt eine Zeitzonenangabe in die ics eingefügt (Berlin), nun wird jeder Termin aber zwei Stunden zurück gerechnet, weil der GK scheinbar davon ausgeht, daß meine Termine in GMT sind... grrrr....

    Ich habe jetzt aber erst mal Wochenendfamilienprogramm, daher kann ich erst am Sonntag oder Monatg weiter basteln.

    OK, danke für die Analyse, Problem erkannt. Das liegt an meiner Terminverwaltung im Script. Ich nutze eine Dummy-Uhrzeit für Spiele, bei denen keine Uhrzeit ausgegeben werden soll, weil Termine noch nicht feststehen (wie bei den 2013er-Spielen der HBL) oder wenn ich die Uhrzeiten nicht pflegen will (bei ausländischen Ligen). Diese Dummy-Uhrzeit ist 00:00 oder 00:01 Uhr. Wenn in meinem Ligascript keine Zeit eingegeben wird, wird die Anwurfzeit automatisch darauf gesetzt. Dadurch wird in der Spielplanansicht automatisch nur das Datum angezeigt, das ist für meine Zwecke eine sehr praktische Lösung, weil ich keine falschen oder unsinnigen Uhrzeiten ausgegeben bekomme und nicht x verschiedene Templates nutzen muss.

    Die Lösung des ics-Problems wird darin bestehen, daß ich mir die GMT-Routine im Addon jetzt mal anschaue. Muß ich mich aber auch erst reinfuchsen, ich habe das Ding ja nicht geschrieben, ich benutze es nur. Ich habe aber auch 23:59 Uhr als weitere Option für die gleiche Funktion (keine Uhrzeit anzeigen) vorgesehen. Wenn ich den GMT-Umrechner nicht umgeschrieben kriege, nutze ich diese für die Bundesligadatei. Damit müsste es ja gehen, weil der Tag sich nicht ändert.

    Sodele !

    Das Problem mit den Umlauten ist gelöst (In den Tiefen des Google-Support-Forums fand sich ein Verweis auf eine simple htaccess-Anweisung, und die reicht aus...ich hätte auch selbst drauf kommen können). Die Umlaute werden bei ganz neu importierten Dateien direkt angezeigt, bei den Dateien, die ich schon mal importiert hatte, noch nicht. Das dürfte an den beschriebenen Problemen mit dem Google-Cache liegen, d.h. das Problem sollte sich nach ein paar Stunden, spätestens nach dem ersten automatischen Update von selbst gelöst haben.

    Da der Import der ics-Dateien bei den meisten Anwendungen und mit Google Kalender jedenfalls bei mir funktioniert (und daher auch bei anderen funktionieren muß) denke ich mal, daß wir hier fast fertig sind. Umwege über php-Dateien sind ja nicht mehr nötig, also werde ich diese morgen oder übermorgen wieder vom Server kicken.

    Mit GOOGLE (am Laptop) habe ich auch Probleme: Wenn ich in meinem GOOGLE-Account einen neuen Kalender anlegen möchte und die besagte URL eingebe, bekomme ich eine Fehlermeldung:
    "Fehler bei den Einstellungen - Die angegebene Adresse enthält keinen Kalender im gültigen iCal- oder GData-Format."

    Hm - mal sehen.

    Mit dem ics direkt muß das eigentlich gehen: webcal://bundesligainfo.de/lmo/output/iCal/130101HBL.ics - die ging bei mir jedenfalls bisher immer. Dabei ist aber das Problem mit den Umlauten - [Edit: gewesen, siehe unten]

    Android weiß ich nicht. Kann auch sein, daß es damit nicht funktioniert, wie beschrieben habe ich Probleme, das in Googlesoftware zum Laufen zu kriegen. Da mußt Du mal ein bischen herumprobieren. Der normale Aufruf ist webcal://bundesligainfo.de/lmo/output/iCal/130101HBL.ics (Ligacode ggf. anpassen, Kürzel s. oben).

    Outlook kann ics ohne Weiteres wohl erst ab Version 2007. Im 2007 funktioniert es jedenfalls folgendermaßen (eben getestet):
    1. Du rufst in deinem Browser das ics-File auf als Webkalender auf: webcal://bundesligainfo.de/lmo/output/iCal/130101HBL.ics
    2. Als Application Microsoft Outlook wählen
    3. Outlook öffnet sich und fragt, ob Du den Kalender abonnieren möchtest -> Ja
    4. Fertig

    Das Ganze findet sich dann bei den Kalendern unter "Andere Kalender". Wo man Updateintervall o.ä. einstellen kann, habe ich noch nicht herausfinden können, aber mit simplen Drücken auf F9 lässt sich ein Refresh erzwingen. Outlook funzt also auch.

    Schenki war schneller. So wie er es schreibt geht es natürlich auch.

    So, nachdem ich nun extra ein neues Google Konto angelegt habe, ist der Stand der Dinge folgender:

    Mit meiner lokalen Anwendung (Mozilla Thunderbird mit Lightning-Erweiterung) funktionieren alle Varianten ohne Einschränkung. Updates sind in Echtzeit abrufbar und Änderungen werden nach der Aktualisierung umgehend angezeigt.

    Mit Google Calendar funktionieren:
    - Aufruf über die .ics-Datei: immer (Das ist auch Updatesicher, weil diese Dateien ja sowieso erhalten bleiben, aber es gibt das Problem mit den Umlauten. In meiner lokalen Anwendung werden die übrigens einwandfrei dargestellt, das ist also eine Softwaresache.)

    - Aufruf über die ligabenannte .php-Datei (zB 130101HBL.php): manchmal. Mehrere Versuche mit der selben(!) php-Datei haben mal funktioniert, mal wird der Kalender eingelesen, aber keine Termine angezeigt, mal kommt die Fehlermeldung. Warum das manchmal funktioniert und manchmal nicht, ist für mich absolut nicht nachvollziehbar.

    - Aufruf über die ical.php mit id-Tag: funktioniert nicht. Weshalb kann ich nicht nachvollziehen. Mit lokaler Anwendung klappt das einwandfrei.

    Fazit: Es scheint mir ein Softwareproblem zu sein. Je nach Endanwendung funktioniert die Einbindung oder nicht. Bei Google könnte es daran liegen, daß Google das Verzeichnis auf dem Server wahrscheinlich nicht live abfragt, sondern aus seinem Crawler-Cache bezieht, weshalb auch Updates mehrere Stunden dauern können. Ich weiß aber nicht sicher, ob das tatsächlich die Ursache ist. Daß es mit (vielleicht auch nur mit mancher ?) Android-Software ebenfalls nicht gut zu funktionieren scheint, könnte die gleiche Ursache haben, denn das ist ja auch Google. Originales iCal mit Apple-Produkt haben wir bisher nicht testen können bzw. noch kein Feedback dazu. Hier kann also keine Aussage getroffen werden. Möglicherweise funktioniert es damit.

    Ich werde jetzt erstmal nichts mehr daran verändern. Die Ligen sind alle per .ics-Datei und per identisch benannter .php-Datei gleichermaßen abzurufen (id für die einzelnen Ligen siehe oben). Wer möchte, kann sich daran auf einem der drei beschrieben Wege versuchen und vielleicht seine/ihre jeweiligen Erfahrungen damit hier posten, vielleicht finden wir ja noch eine Lösung, daß es bei allen funktioniert. Die 24 Oberligen (M & F) werde ich jedenfalls in den nächsten Tagen auch noch anlegen, es sind aber bisher noch nicht alle Termine auf dem neuesten Stand, darum wird das noch etwa bis zum Wochenende dauern.

    Grundsätzlich muss es gehen. Mit TB/L funktioniert es über die ical.php mit ID einwandfrei (siehe Bild).

    Im GK hatte ich vorhin über die 130101HBL.php den Kalender einwandfrei importieren können, die ical.php ging nicht. Danach ging allerdings auch die 130101HBL.php nicht mehr. Der Kalender wird eingelesen, die ersten Termine auch schon angezeigt, dann kommt die Fehlermeldung "Die angegebene Adresse enthält keinen Kalender im gültigen iCal- oder GData-Format." - und die Termine sind wieder weg. Das ist halt das Merkwürdige. Das Problem beim GK ist, daß man nichts wirklich löschen kann. Ein Versuch pro Datei, dann liest der alles aus seinem Speicher, auch wenn man den Kalender eigentlich wieder abbestellt hat. Um das Gleiche zweimal zu probieren, muß man stundenlang warten.

    Gestern funktionierten die ersten Versuche erst abends, als der Crawler nochmal über meine Seite gecrawlt (das ist wohl wörtlich zu nehmen) war und dann endlich die robots-datei neu eingelesen hat. Das Teil ist jedenfalls für schnelle Lösungen unbrauchbar. Unter Umständen liegt es aber daran?

    So. Haben wir auch das noch umgesetzt und es funktioniert auch, jedenfalls mit Thunderbird/Lightning. Also lautet nun der generelle Kalenderaufruf:

    webcal://bundesligainfo.de/lmo/output/iCal/ical.php?id=xxx
    (xxx durch die unten stehende Liga-ID ersetzen)

    Die folgenden Ligen sind bislang verfügbar:
    Männer 1.BL bis 3.Liga: 130101HBL / 130201ZBL / 130301DLN / 130302DLO /130303DLW / 130304DLS
    Frauen 1.BL bis 3.Liga: 131101HBF / 131201ZBF / 131301DLN / 131302DLO /131303DLW / 131304DLS

    Mit Google Kalender geht das momentan nicht, vorhin ging es aber bereits. Ich schätze, daß der Google Crawler erst wieder durchpflügen muß, um den Verzeichnisinhalt zu aktualisieren, denn die Dateien sind bis auf die ich vorhin erfolgreich damit importiert habe alle neu angelegt. Das Update der Kalender geht dort ja auch nur "alle paar Stunden" (Google Selbstauskunft) und nur automatisch. Daß das nicht live geht, piepst mich reichlich an und macht das Ding in meinen Augen eigentlich schon unbrauchbar. Vielleicht könnte jemand trotzdem noch mal ein Feedback geben, ob das jetzt so mit Smartphone oder anderem Zeugs klappt.

    Ja, super. Das war's. Ich habe eine eindeutige UID zugeteilt und der "Umweg" mit den Umlauten funktioniert auch bestens, mit G-Kalender und Thunderbird/Lightning. Manchmal ist es eben gut, jemanden zu fragen, der sich auskennt :) Aktualisieren geht bei mir ebenfalls einwandfrei und in Echtzeit. Das sollte also jetzt soweit einsatzfähig sein.

    Ich habe die jeweilige Ligabezeichnung als Kategorie für das Ereignis gewählt ("1.Bundesliga", "2.Bundesliga" usw.)
    Frauen-Ligen werden ein [F] hinter dem Liganamen haben.
    Die Eventdauer beträgt jeweils 90 Minuten (60 Spielzeit + Pause + Timeouts, kommt ja ungefähr hin)
    Nach der Ergebniseingabe steht das Ergebnis hinter der Terminbeschreibung. Der Kalender wird damit also gleichzeitig zum Ergebnisdienst.
    In den Termindetails wird man besondere Anmerkungen wie "verlegt", "ausgefallen" u.ä. finden (aber keine Kurzkommentare oder sowas.)

    Die URLs sind also (Liste wird erweitert und auch bald dauerhaft auf BLI zu finden sein):
    Männer 1.Bundesliga: webcal://bundesligainfo.de/lmo/output/iCal/130101HBL.php
    Männer 2.Bundesliga: webcal://bundesligainfo.de/lmo/output/iCal/130201ZBL.php

    3.Liga folgt heute nachmittag oder morgen früh, da muß ich erst ein Terminupdate machen.