• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wie zerlegen ics-Dateien?

susino

Member
Hallo Suse-Gemeinde!

Kennt jemand ein Tool zum Splitten von KDE-Kalender-Dateien?

Grund: ics-Dateien von KDE-Kalender fassen mehrere Termine in einer einziger Datei zusammen, während
mein Android-Telefon kann nur ics-Files importieren, die nur einen einzigen Eintrag beinhalten.

Durch Googeln habe ich eigentlich schon etwas gefunden, icalutil (bei https://github.com/rtsai/icalutil).
Bloß, ich schaffe nicht, es richtig zum Laufen zu bringen (python-skript).

PS: ich will nicht (aus mehreren Gründen) Google-Dienste nutzen!
 

/dev/null

Moderator
Teammitglied
Hallo susino!

Ein Tool welches das "als Aufgabe hat", kenne ich leider nicht. Ich habe auch nie danach gesucht, weil ich ein derartiges Tool bislang noch nie benötigt hatte. (Speicherung aller meiner Kalender und Adressbücher auf einem Raspberry Pi und Synchronisation der Smartphones und Thunderbird-Profile per Cal- und CardDAV mit eben jenem Raspi.)
Du kannst aber mal die Android-App "iCal Import/Export CalDAV Pro" testen. Sieht vielversprechend aus.


MfG Peter
 
OP
S

susino

Member
Hallo Peter,

/dev/null schrieb:
Du kannst aber mal die Android-App "iCal Import/Export CalDAV Pro" testen. Sieht vielversprechend aus.

vielen Dank für den Tip!

Eigentlich habe ich für das Smartphone einen uralten Vertrag, also Internet-Verbindung sehr sehr teuer. Daher hatte ich jede online Übertragung vom/zum Telefon ausgeschlossen. Wenn ich aber kein derartiges Tool finde, werde ich deinen Vorschlag testen. Ich könnte ja den Kalender-Abgleich daheim über den WLAN-Router durchführen.
Zuerst muss ich mich allerdings über CalDav schlau machen - habe keine Ahnung, was es ist, ob man diesem Dienst sensible Daten anvertrauen kann, usw.

Nochmals vielen Dank
MfG
Pino
 

/dev/null

Moderator
Teammitglied
Kurze Antwort dazu:

CalDAV, CardDAV und WebDAV sind keine Dienste, sondern Protokolle zum Lesen und auch Schreiben von Daten, welche auf dafür geeigneten Servern gespeichert sind. => Wikipedia sagt dir das ausführlicher und viel besser als ich.

Es gibt viele geeignete Server und auch kommerzielle Anbieter, welche eine Speicherung und Synchronisation dieser Daten anbieten bzw. ermöglichen.
Menschen, für die der Datenschutz keine Bedeutung (mehr) hat, nutzen dazu die Dienste eines großen und bekannten Konzerns, welcher auch eine Suchmaschine betreibt. Mir wäre der zu neugierig!
Dann kommen vertrauenswürdige deutsche Firmen, welche dir zum Bsp. für einen einzigen €/Monat nicht nur ein sehr gutes Mailkonto, sondern auch die Speicherung deiner Kalender und Adressbücher anbieten. Sehr sicher und macht dir "keine Arbeit".
User, die ein NAS zu Hause nutzen, können das selbstverständlich auch darüber machen. Und echte Linux-Fans kaufen sich für wenig Geld einen Paspberry Pi und installieren dann alles darauf. <= Mein Favorit, denn der Stromverbrauch ist gegenüber dem NAS zu vernachlässigen. Und das Serverchen kostet auch "fast nix".

Sinn und Zweck dahinter ist, dass du deine Daten (also Kalender und Adressbücher) nur einmal irgendwo speicherst und dann mit allen Geräten darauf zugreifen kannst und egal wo du eine Änderung machst, alles immer schön synchron ist. Steht der Server zu Hause, kannst du das selbstverständlich per WLAN machen (reicht ja eigentlich auch aus!). Und "Extremsportler" (was das betrifft ;-)) schaffen sich diese sichere Verbindung von unterwegs nach Hause per VPN.

OK?


MfG Peter
 
OP
S

susino

Member
So, ich habe ein bisschen in Wikipedia nachgeschlagen und erfahren, CalDAV ist nicht ein Server, wie ich dachte, sondern ein Netzwerkprotokoll zur Synchronisation von Kalender-Daten! So ein Lümmel ...

Das heißt, mittels CalDAV kann ich (in meinem Fall) den beruflichen Kalender-Datei irgendwo auf einen Server im Internet speichern und dann mit dem Smartphone auf diesen Server-Kalender zur Synchronisation greifen.
Habe ich richtig verstanden? Funktioniert es so?

Wenn es so ist, fehlt es mir echt schwer, Dritten sensible Daten (darum handelt es im beruflichen Kalender) anzuvertrauen und rechtlich auch fragwürdig, denn es geht um Termine mit Kunden meines Arbeitgebers.
Darüber hinaus - Zitat von Wikipedia - "Die Aufgabe von CalDAV ist es, Ereignisse wie Treffen, Versammlungen sowie die Frei-/Belegt-Zeiten zu verwalten und über HTTP zu veröffentlichen." Meine Daten sollen überhaupt nicht veröffentlicht werden!

Alternative? Jetzt phantasiert ein Laier
Ich könnte auf meinen PC ein virtuellen Server (etwa mit VirtualBox) und dort ownCloud "installieren". Auf OwnCloud soll dann mittels CallDAV-Protokoll der Smartphone die Kalenderdateien synchronisieren.
Würde es gehen?

MfG
Peppe
 

/dev/null

Moderator
Teammitglied
Hallo Peppe,

susino schrieb:
So, ich habe ein bisschen in Wikipedia nachgeschlagen und erfahren, CalDAV ist nicht ein Server, wie ich dachte, sondern ein Netzwerkprotokoll zur Synchronisation von Kalender-Daten! So ein Lümmel ...
Sag ich doch ...

susino schrieb:
Das heißt, mittels CalDAV kann ich (in meinem Fall) den beruflichen Kalender-Datei irgendwo auf einen Server im Internet speichern und dann mit dem Smartphone auf diesen Server-Kalender zur Synchronisation greifen.
Habe ich richtig verstanden? Funktioniert es so?
Genau so funktioniert es.
Allerdings ist der Androide von Hause aus nicht in der Lage, mit CalDAV umzugehen (du sollst ja schließlich auch die Kalender- Adress- und Datensynchronisation von google benutzen!). Aber das ist überhaupt kein Problem, denn du kannst jederzeit eine App installieren, welche CalDAV nachrüstet (ich nutze "CalDAV Sync").
Inwieweit der KDE-Kalender allerdings mit CalDAV umgehen kann ist mir nicht bekannt. Ich nutze den Thunderbird und seinen integrierten Kalender "Lightning". Der kann das perfekt.

susino schrieb:
Wenn es so ist, fehlt es mir echt schwer, Dritten sensible Daten (darum handelt es im beruflichen Kalender) anzuvertrauen und rechtlich auch fragwürdig, denn es geht um Termine mit Kunden meines Arbeitgebers.
Darüber hinaus - Zitat von Wikipedia - "Die Aufgabe von CalDAV ist es, Ereignisse wie Treffen, Versammlungen sowie die Frei-/Belegt-Zeiten zu verwalten und über HTTP zu veröffentlichen." Meine Daten sollen überhaupt nicht veröffentlicht werden!
Was den ersten Teil des Satzes betrifft, da gehe ich mit dir 100pro konform. Genau deswegen liegen alle meine Daten (außer meine Mails, welche bei einem vertrauenswürdigen Provider gehostet werden - denn anders geht es nicht) bei mir zu Hause auf meinem Raspberry Pi. Und die Verbindung aus dem "bösen Netz" in mein Heimnetz erfolgt ausschließlich per VPN! (Möglich wäre natürlich auch, den Zugriff von außen zuzulassen und dann eine Verschlüsselung mit TLS zu erzwingen. Aber ich will einfach keinen Zugriff von außen!)
Und was das von dir zitierte "Veröffentlichen" betrifft, so bedeutet das eine von dir bewusst zugelassene Veröffentlichung. Selbstverständlich ist ein Fremdzugriff über das VPN (so gut wie) nicht möglich und selbst bei einer Portweiterleitung ist der Zugang mit Benutzername und PW zu schützen und die eigentliche Verbindung ist ja eh mit TLS verschlüsselt oder sollte es zumindest sein. Also nur Veröffentlichung an Berechtigte. Natürlich kann man jederzeit auch öffentliche Kalender (Ferien-, Fußball-, Müllkalender usw frei zugänglich ins Netz stellen.

susino schrieb:
Alternative? Jetzt phantasiert ein Laier
Ich könnte auf meinen PC ein virtuellen Server (etwa mit VirtualBox) und dort ownCloud "installieren". Auf OwnCloud soll dann mittels CallDAV-Protokoll der Smartphone die Kalenderdateien synchronisieren.
Selbstverständlich ist das genau so zu realisieren. Du musst dir nur vorher im Klaren sein, was du genau machen willst. Beispiel:
1.) In ganz seltenen Fällen mal die Kalender von einem Gerät zum anderen bringen => dann macht ein dateibasierter Austausch die geringste Mühe.
2.) Immer zu Hause den PC und das Smartphone synchron zu halten => dann kannst du auf dem PC OwnCloud (besser: NextCloud) oder ein anderes Programm installieren. Da der PC dann immer zur Synchronisation online sein muss, ist das aber keine Lösung für ...
3.) ... eine ständig mögliche Synchronisation, auch außerhäusig. => hier kann ich dir nur einen sparsamen Minirechner wie den RasPi empfehlen.

Wenn du da mal nachlesen willst, hier ist das wirklich einsteigergerecht beschrieben: https://jankarres.de/uebersicht-aller-raspberry-pi-artikel/ (es gibt aber auch viele weitere sehr gute Seiten dazu!)


MfG Peter
 
OP
S

susino

Member
Hallo Peter,

ich danke Dir für den Beitrag!

Ja, die Synchronisierung von Daten über einen Server ist sicher die eleganteste und Lösung, aber auch Zeitaufwändig, wenigstens in der Anfangsphase: Server einrichten, Nextcloud installieren und konfigurieren, usw.

Für mich wäre zur Zeit die Verwendung eines ein Tools, der den ics-Kalender (von KDE) in die einzelnen Termine splittet, viel einfacher.
Deshalb werde ich eine Weile noch nach dem suchen und/oder versuchen das gefundene Tool, icalutil, arbeiten zu lassen.

Falls dies bis Mitte August (also nach dem Umzug) scheitert, ist die "Server-Methode" eine praktikable Alternative. Dabei denke ich, einen virtuellen Server auf auf meinen aktuellen PC (über VirtualBox, die ich schon einigermaßen kenne) zu installieren. Diese Konfiguration hat den Vorteil, dass der Server nicht ständig im Betrieb sein muss (ich brauche keine Synchronisation außerhäusig). Ich würde ihn nur hochfahren, wenn PC-Daten mit dem Smartphone auszutauschen oder zu synchronisieren sind.

Bei dieser Server-Methode bleiben einige Fragen:
a) Kommt KDE mit CalDAV zurecht?
Das habe noch nicht probiert, aber KDE-Kalender gibt die Möglichkeit DAV-Ressourcen einzubinden. Daher dürfte es funktionieren.
b) Brauche ich unbedingt eine CalDAV-App von Google? (Will Google weder Infos über mich noch Zugriff auf mein Telefon geben).
Nicht unbedingt. Stattdessen kann man eine App von F-Droid (aCalDAV oder DAVdroid, unter https://f-droid.org) installieren.
c) Kann ein virtueller Server eine WLAN-Verbindung aufbauen? Im Allgemeinen denke ich ja, aber bevor ich los lege, werde ich mich erkundigen.

Nochmals herzlichen Dank
Peppe
 
Bezeichnungen:
iCalendar - Beschreibt das .ics file format
WebDAV - Ist ein Protokoll, das auf http passiert und das Schreiben und Lesen von files unterstützt
CalDAV - Ist eine Erweiterung des Protokolls WebDAV

CalDAV erweitert WebDAV derart, dass
a) jeder Kalender einen eigenen Pfad erhält und
b.) die Termine in separate iCalendar files geschrieben werden.
Genau das ist dein Problem.
Wenn du nämlich CalDAV weglässt und nur mit WebDAV schreibst, dann bleiben alle Termine je Kalender in einem ics file.

KDE, so entnehme ich es aus deiner Beschreibung, verwendet WebDAV aber verzichtet auf CalDAV. Deshalb ist alles in einem file.
Android kann WebDAV, sonst würde es CalDAV erst gar nicht können.
Der Apache WebServer kann WebDAV und das genügt zum Schreiben in ics fles.

Zusammenfassung:
Verwende einen Apache WebServer mit WebDAV Unterstützung und bring dem Android bei, auf CalDAV zu verzichten und nur über WebDAV auf die iCalendar files zuzugreifen.
Das sollte dein Problem lösen.

Aber
die Kompatibilität zu Anbietern wie Google usw., die auf CalDAV bestehen, ist dann nicht mehr gegeben.
Ich bin aber der Meinung, dass Informationen zu Terminen und die Beschreibung dazu auf fremden Rechnern .... siehe dazu @/dev/null

Gruß
Gräfin Klara
 
Oben