Hinweise zum Update-Check Mechanismus von SiDiary
=================================================

1) Allgemeines, Warum ein Update-Check?
2) Sind meine Daten sicher? Welche Daten werden empfangen bzw. gesendet?
3) Muss ich etwas konfigurieren? (->Nein :-) )
4) Technische Details
5) Beispiele der gesendeten und empfangenen Daten




1) Allgemeines, Warum ein Update-Check?
---------------------------------------
Seit der Version 4.0.x ist im SiDiary-Windows-Client eine automatische Update-Prfung enthalten. Diese Funktion nutzt eine ggf. bestehende Internet-Verbindung, um auf www.sidiary.org nach neueren Programm-, Sprach- oder Nahrungsmittel-Dateiversionen zu suchen.

Warum gibt es eine solche Funktion, es gibt doch den UpdateInfo-Service?
Diese Frage ist einfach zu beantworten: Wenn Sie sich bereits frher fr diesen Service eingetragen haben, wurden Sie immer per Email ber neuere Versionen informiert.

Inzwischen hat das Projekt eine Dynamik bekommen, die mich gezwungen hat, die UpdateInfo-Emails auf das wesentliche zu beschrnken, d.h. Major-Updates oder dringende Hotfix-Warnungen. Fr kleinere Update-Hinweise oder eine Mitteilung, dass eines der vielen Sprachfiles in einer neueren Version vorliegt ist der Aufwand, eine Update-Info-Email zu generieren schlichtweg zu hoch, da der Server alleine zum Versenden der Emails an die 5-stellige Empfngerzahl ~6 Stunden bentigt...

Es freut mich nat., dass SiDiary so vielen Menschen gefllt und ihnen hilft und ich hoffe auf Ihr Verstndnis, da ich etwas mit der Zeit und den Ressourcen haushalten muss und deshalb diesen fr mich sehr viel einfacheren, weil vollautomatischen, Update-Mechanismus whle...

Neben der Ersparnis fr mich selbst gibt es jedoch einen anderen sehr wichtigen Grund: Aus der Programmhistorie heraus gab es glcklicherweise erst einmal den Fall (zudem mit noch einer sehr kleinen Anwenderschar), dass eine Hotfixwarnung ntig wurde: Damals wurden Werte ohne Uhrzeitinformationen gespeichert, d.h. die von Ihnen mhsam eingegebenen Daten wurden nicht vollstndig gespeichert, der absolute Daten-GAU :-(

Auch deshalb dieser Mechanismus, um Ihnen im schlimmsten Fall auf dem Server eine Nachricht hinterlegen zu knnen, wenn nach einem Update kritische Hinweise an mich eingehen, die auch Sie betreffen knnten!



2) Sind meine Daten sicher? Welche Daten werden empfangen bzw. gesendet?
------------------------------------------------------------------------
Fr die vielen teilweise technisch unbedarften Anwender habe ich bewusst versucht, den Mechanismus so einfach wie mglich aufzusetzen: SiDiary prft vollautomatisch im Hintergrund, so wie auch auf einen evtl. angeschlossenen PocketPC zur Datensynchronisierung, ob der Server unter www.sidiary.org erreichbar ist.

Der Server antwortet mit Informationen ber die aktuell downloadbaren Versionen der Programmdateien, Sprachpakete, Nahrungsmitteldatenbanken usw. SiDiary wertet diese Informationen aus und vergleicht die Versionen, die Sie aktuell verwenden, mit denen des Servers.

Sind neuere Versionen auf dem Server verfgbar, werden Ihnen alle Details dazu angezeigt, komplett mit allen Dingen, die sich gendert haben (ChangeLog) sowie die neuesten 10 Newseintrge, die auch auf dem Server angezeigt werden.

Es werden hierzu nur ganz geringe Datenmengen bertragen mit wenigen kByte!

Um vom Server die erforderlichen Daten zu erhalten, wird eine HTML-Anfrage an www.sidiary.org gesendet und dabei folgendes als Parameter verwendet:
 * die von Ihnen verwendete Sprache (3 Zeichen)
 * ob Sie die PPC-Version verwenden (1 Zeichen)
 * ob Sie die Smartphone-Version verwenden (1 Zeichen)
 * eine zufllig generierte, eindeutige Zahl als "Session-ID" fr die Rckbertragung 
   (max. 10 Zeichen)


Ich versichere, da neben den oben genannten Daten keine weiteren Daten von Ihrem PC an den Server bertragen werden!! Darber hinaus kann man mit z.B. Firewalls und zustzlichen Tools sehen, was SiDiary tatschlich sendet - das hier gesagte lt sich mit einfachsten Mitteln berprfen und ich bin sicher, einige technisch versiertere Anwender werden dies auch tun...

Die meisten Menschen bertragen im Internet bei einem Online-Einkauf sehr viel mehr und sehr viel persnlichere Daten als mit diesem Mechanismus! Mir hilft er jedoch Zeit zu sparen, die ich fr Weiterentwicklungen und Verbesserungen einsetzen kann...

(Sehen Sie auch die Beispiele am Ende dieser Datei!)




3) Muss ich etwas konfigurieren?
--------------------------------
Nein. :-)
Die Prfung auf neuere Versionen wird automatisch ausgefhrt. Sie knnen die Prfung jedoch auch manuell starten unter 'Einstellungen->Weitere Einstellungen->Update-Check'.

Sie knnen fr die Update-Prfung das Intervall whlen, standardmig steht dies auf einmal pro Tag, Sie knnen es auf bis zu 1 Prfung alle 4 Wochen verlngern.

Es werden brigens keine Dateien heruntergeladen oder gar ausgetauscht. Es handelt sich in der aktuellen Version lediglich auf den Hinweis, dass ggf. neuere Versionen vorliegen - sie haben nach wie vor die volle Kontrolle, welche Dateien Sie aktualisieren mchten und welche nicht!




4) Technische Details
---------------------
SiDiary kommuniziert mit dem Server auf Port 80 mit einer HTTP-konformen Anfrage! Es wird kein Tunneling o.. verwendet. Die Anfrage, die das Programm an www.sidiary.org sendet, knnen Sie auch als URL-Adresse in der Adresszeile z.B. des InternetExplorers absenden. Alle ausgetauschten Daten sind unverschlsselt und von jedermann lesbar und kontrollierbar, da keine persnlichen Details von Ihnen ausgetauscht werden.

SiDiary verwendet fr die Kommunikation die WinHTTP-API Bibliotheken bzw. das InternetExplorer-Objekt (ShDocview.dll), um die Server-Antwort auszulesen. Hierbei werden Proxyeinstellungen Ihres Systems bercksichtigt, so dass Sie auch z.B. hinter einem Proxy-Server oder mit Verwendung einer Firewall ber Updates informiert werden knnen.
(Das IE-Browser-Objekt wird nur verwendet, wenn der WinHTTP-API-Aufruf fehlschlagen sollte, ist also lediglich eine zustzliche Absicherung, der UpdateCheck wird in den allermeisten Fllen auch ohne installiertem IE funktionieren.)

Sollten Sie sich auf Ihrem Rechner nur mit einer DF-Verbindung ins Internet einwhlen, keine Angst: SiDiary baut selbststndig von sich aus keine Verbindung auf! Wenn bereits eine DF-Verbindung besteht, verwendet SiDiary diese Verbindung fr die Updatecheck-Anfrage, ansonsten wird keine UpdateCheck-Prfung ausgefhrt! 

Wenn mehrere Tage nacheinander eine Update-Prfung nicht mglich war, wird nach dem nchstgreren als das eingestellte Intervall eine Meldung eingeblendet, die Sie darber informiert, dass keine Prfungen ausgefhrt wurden und Sie dies ggf. manuell nachholen knnen. (Diese Meldung kommt nach 7 Tagen, wenn Sie als Intervall 1 Tag gewhlt haben, nach 2 Wochen, wenn Sie als Intervall 1 Woche gewhlt haben usw.)



5) Beispiele der gesendeten und empfangenen Daten
-------------------------------------------------
Hier kurze Beispiele, welche Daten auf dem Port 80 (Austausch von HTML-Daten per HTTP-Protokoll, z.B. InternetExplorer, Navigator, Opera, usw.) gesendet bzw. empfangen werden:

SiDiary.exe sendet (als http-konforme Anfrage):

http://www.sidiary.org/default.asp?UpdateCheck=DEA104711

(Sonst werden keine weiteren Anfragen oder Daten gesendet!)

www.sidiary.org antwortet als HTML-Rckgabe z.B.:
(Die tatschliche Rckgabe hngt von den auf dem Server verfgbaren Downloads ab, im Anschlu an diesen Datenstrom wird im Falle eines verfgbaren Updates auch das CHangelog geladen)

[Version-Info]
Number=3
Session=4711
1=Win32
2=LangEN
3=NutDE

[Win32]
DESC=SiDiary Windows
VERSION=3.6.192
DATE=20041015143512
SHOW_AS_UPDATE=True
FILENAME=SiDiaryWin32Client.zip

[LangEN]
DESC=Language pack English
VERSION=4.0.248
DATE=20041015163457
SHOW_AS_UPDATE=True
FILENAME=LangPack.zip

[NutDE]
DESC=Nahrungsmittel Deutsch
VERSION=1.0
DATE=20041015000000
SHOW_AS_UPDATE=True
FILENAME=NutritionDe.zip

[NutEN]
DESC=Nutritions English
VERSION=1.0
COMMENT=Not available yet :-o
SHOW_AS_UPDATE=True
FILENAME=NutritionEn.zip

[News_1]
NEWS_DATE=20041013000000
NEWS_VERSION=4.0.243
HEADER=Demo-berschrift
CONTENT=Dummy-Newseintrag

[NEWS]
Number=1
