Zum Inhalt springen

Projekt: Entwicklung eines Servers für die Verwaltung von Terminen und Kontakten


Gast runtimeterror

Empfohlene Beiträge

Gast runtimeterror

(Bitte verschieben, falls dies nicht das optimale Forum hierfür ist.)

(Wer bei der Menge an Input in Ohnmacht zu fallen droht kann gerne bei Punkt 2 anfangen ;)

1. Vorgeschichte

Hallo zusammen!

Ich suche seit mittlerweile einigen Jahren nach einer zufriedenstellenden Lösung für die Verwaltung von Kontakten und Terminen innerhalb der Familie. Ich denke nicht, dass meine Ansprüche außergewöhnlich sind (siehe unten) - dennoch finde ich keine Lösung, die zumindest mittelfristig zufriedenstellend ist.

Momentan habe ich einen funambol-Server auf Ubuntu-Linux mit MySQL in Betrieb, mit dem ich seit den letzten Jahren diverse Geräte über das Protokoll SyncML synchronisieren konnte:

  • PDA mit Windows(Mobile?) und Funambol-Client
  • Samsung Smartphone mit Symbian (SyncML-Support integriert)
  • Thunderbird mit Lightning auf Windows XP mit Funambol-Client
  • Sunbird auf Windows XP mit Funambol-Client
  • Thunderbird mit Lightning auf Windows 7 mit Funambol-Client
  • Sunbird auf Windows 7 mit Funambol-Client
  • HTC Android-Smartphone mit Funambol-Client
  • HTC Android-Smartphone mit 4myPAL-Client
  • HTC AndroidSmartphone mit Mokobi-Client
  • Acer Android-Tablet mit 4myPAL-Client (glaube ich)

Ich bin mit dieser Lösung meiner Meinung nach schon relativ weit gekommen, aber mit jedem neuen Gerät/Update werden es mehr Probleme und die Einschränkungen fallen immer mehr ins Gewicht:

  • Das größte Problem ist, dass das Funambol-PlugIn für Thunderbird der Mozilla-Update-Orgie zum Opfer gefallen ist - die Entwickler sind nicht mehr hinterhergekommen. Eine Besserung ist nicht in Sicht.
  • Ich habe daraufhin einen Uralt-Sunbird installiert, bei welchem die Synchronisation der Termine zumindest noch funktioniert. Die Kontakte im Thunderbird sind seitdem von der Synchronisation ausgeschlossen, was sehr ärgerlich ist.
  • Da das Sunbird-AddOn (sowie diverse Smartphone-Clients) nur die Synchronisation mit einem einzigen Kalender unterstützt teile ich mir mit meiner Frau einen Kalender.
  • Das wiederum bringt ein Problem mit den Terminbenachrichtigungen mit sich: Wenn ich eine Erinnerung einstelle, wird diese auf allen synchronisierten Geräten ausgelöst. Bestätige ich auf einem Lightning/Sunbird-Client die Erinnerung, so gilt dies als Änderung des Termins, woraufhin dieser wieder auf die anderen Geräte synchronisiert wird. Eine Änderung des Termins erwirkt bei einigen Clients, dass die Erinnerung auf "noch nicht erfolgt" gestellt wird, so dass diese erneut ausgelöst wird, usw... Die Erinnerungen sind damit de facto unbrauchbar.
  • Beim Mokobi-Client scheint es so zu sein, dass Erinnerungen automatisch immer erstellt werden und man diese erst durch eine manuelle Nachbearbeitung löschen kann.
  • Bei einigen Smartphone-Clients dauert die Erstbefüllung mehrere Minuten, was an sich nicht schlimm ist. Die wenigsten halten das aber ohne Verbindungsabbrüche durch. Nach einem Abbruch wird natürlich nochmal alles neu geladen...
  • Umgekehrt kommt es schonmal vor, dass es der Client nicht merkt, dass der Sync nicht geklappt hat. In diesen Fällen würde man einfach den Client anweisen nochmal alles vom Server zu ziehen - wenn es dafür eine Funktion in der App gäbe ... Oft hilft nur noch die Neuinstallation derselben.
  • Jedem Client sind andere Felder der Kontakte wichtig, so kommt es in regelmäßigen Abständen zu Fehletikettierungen von Telefonnummern (fest/mobil, privat/Arbeit), Nummern lassen sich nur schwer löschen oder werden gar nicht angezeigt.
  • Ganztägige Ereignisse (Feiertage, Geburtstage, ...) Werden immer wieder mal auf zwei Tage verteilt dargestellt (1:00 - 1:00, statt 0:00 - 0:00). Das aber auch nicht immer und nicht auf jeden Client. Schuld ist vermutlich der Umgang mit der Sommerzeitumstellung.
  • Serientermine (ganz böses Thema!) lassen sich fast überhaupt nicht fehlerfrei synchronisieren. Entweder entstehen irgendwann Dubletten oder es überlebt nur der Originaltermin.
  • Was beim Synchronisieren auch stiefmütterlich behandelt wird sind die Kontaktbilder. Diese werden von Thunderbird noch nicht mal exporiert!
  • Kontaktgruppen habe ich noch nicht getestet, sollen aber einer Recherche nach auch Probleme beim Synchronisieren machen.

Es gibt noch viele weitere Kleinigkeiten, aber im Wesentlichen sind es die oben genannten Punkte, die die jetzige Lösung immer alltagsuntauglicher werden lassen. Die mir bekannten Alternativen sehen aber auch nicht viel besser aus:

  • Outlook + Exchange: stark proprietär, viele grundlegende Erweiterungen sind kostenpflichtig
  • Lotus Notes: (Davon abgesehen, dass jeder der mal damit arbeiten musste keine weiteren Argumente mehr braucht, wollte ich eigentlich einen Link zu einer Website mit einem Bad-Software-Ranking einsetzen. Es gibt allerdings so viele dieser Rankings in denen Notes in den oberen Rängen hängt, dass ich mich nicht entscheiden konnte ;)
  • Evolution: Super unter Linux, eine Katastrophe (oder halt noch immer nicht fertig) unter Windows. Läuft (falls es startet) total unstabil und die Sync-Funktionalitäten nicht nicht mitportiert worden.
  • Die Ausstattung der Apple-Hemisphäre soll ganz gut sein (meine Erfahrungen reichen hier nicht aus), das hilft aber nicht bei der Ausstattung der Rest der Welt. Ich denke aber, dass das Angebot an kooperierenden Clients dort zumindest ausreichend ist. (Hat da jemand mehr Erfahrungen?)
  • Google: schwieriges Thema. Der Funktionsumfang ist schon beachtlich, ich tu mich aber immer noch schwer damit alle meine Daten aus der Hand zu geben (nennt mich altmodisch). Ich habe lieber eine eigene Datenbank auf meinem Server und kann darüber so verfügen (auswerten, exportieren, eigene Schnittstellen entwickeln, andere Programme anbinden), wie ich es wünsche. Aber auch technisch gibt's bei Google Hindernisse: Die CalDAV-Implementierung soll noch Probleme machen; die Synchronisation von Kontaktbildern zu Thunderbird funktioniert nicht; die bestehenden Thunderbird-AddOns verursachen Duplikate, kommen mit den Gruppen nicht klar oder präsentieren schonmal ein frisch geleertes Adressbuch (nicht alles meine eigenen Erfahrungen).
  • Windows Adressbuch: Kann man das überhaupt an irgendwas anbinden? Eigentlich schade.

2. Projektidee

Es gibt im Wesentlichen zwei Baustellen, die ich gerne angehen würde:

  • Entwicklung eines Servers, der die Synchronisation von Kontakten, Terminen und ToDos erlaubt und gängige Protokolle und Formate für die Anbindung von Clients bereitstellt.
  • Herrichtung bestehender Clients (Desktop und Mobil), so dass diese fehlerfrei mit dem Server kommunizieren - oder (was ich am ehesten befürchte)
  • Erstellung eines neuen Desktop-Clients, der die Kernfunktionen Kalender, ToDos und Kontakte bietet und Zugriff auf alle vom Server verwalteten Attribute ermöglicht. Da ein E-Mail-Client ebenfalls Zugriff auf die Kontakte haben sollte (lesen und schreiben), müsste ggf. auch die E-Mail-Funktion mit dazu. Anders formuliert: ein Thunderbird mit integriertem Lightning und funktionierender Synchronisierung + ein wenig Zucker.

Letzteres wollte ich eigentlich vermeiden. Mein bislang bevorzugter Client (Thunderbird) hat jedoch keinerlei brauchbaren Support für die gemeinsame Nutzung von Kontaktdaten. Zudem sorgt die eingangs erwähnte Update-Politik dafür, dass AddOn-Entwicklung zu einem Full-Time-Job wird. Dass Lightning immer noch kein integraler Bestandteil ist verschlimmert das Problem ebenfalls. Da es für die Google-Anbindung derzeit die besten Anbindungen gibt kann man auch versuchen dem Server die passenden Protokolle beizubringen - die bestehenden PlugIns benötigen dann jedoch die Möglichkeit den Server-URL zu bearbeiten, was ich bisher nur bei wenigen gesehen habe - aber mit den Entwicklern lässt sich sicher reden.

Protokolle und Formate, mit denen der Server umgehen sollte (ohne Priorisierung): LDAP, LDIF, GoogleContacts, SyncML, CardDAV, vCard, xCard, Windows Kontakte, GroupDAV, GoogleCalendar, CalDAV, iCalendar, xCalendar

Funktionen, die mir wichtig (oder die ich für eine sinnvolle Ergänzung halte) sind:

Allgemein:

  • Mehrbenutzerbetrieb
  • Rechteverwaltung (Schreib-/Lesezugriff auf ganze Kontaktlisten und Kalender, sowie einzelne Kontakte und Termine)

Termine:

  • Mehrere benutzerabhängige Terminbenachrichtigungen auf unterschiedlichen Medien auch während und nach den Terminen (z.B. Arzttermin mit Kind -> 30 Min vorher Erinnerung an Frau per Smartphone-Alarm, 15 Minuten nach Terminbeginn Erinnerung per Mail an Vater per SMS "Abholen")
  • Einladungen senden/empfangen
  • Die Möglichkeit Zeiträume zu kategorisieren: Arbeitszeiten, Urlaub, Feiertag, etc.
  • Ganztägige Ereignisse
  • Serientermine mit manuellen Ausnahmen
  • Beliebige Abhängigkeiten zwischen Terminen und ToDos (für einen Termin muss zuvor XY erledigt werden)

ToDos:

  • Einkaufslisten als Spezialfall von ToDo-Listen
  • Wiederkehrende ToDos analog zu Serienterminen (z.B. jeden Montag Abend die Mülltonnen rausstellen)

Kontakte:

  • Foto
  • Geburtstage, Jahrestage als Termin
  • Gruppen

Postfach:

  • E-Mail
  • Social Networks
  • Instant Messenger
  • ...

Technisches:

  • Da es sich um eine plattformunabhängige Software handeln soll, halte ich Java für die geeignete Wahl.
  • Den Server könnte ich mir als Tomcat-"Anwendung" vorstellen; es sollte jedoch auch eine Standalone-Lösung geben - ggf. mit abgespecktem Protokollumfang um nicht den halben Tomcat nachzuimplementieren.
  • Früher oder später will jemand ein Webfrontend haben - soll er kriegen :)
  • Für den Client (falls eine Neuentwicklung wird) werfe ich einfach mal die Eclipse RCP ins Feld, in welcher das PlugIn-Konzept gut gelebt und dokumentiert wird. Der Anwender kann sich (mit der üblichen Oberfläche) alles so einrichten, wie er es sich wünscht und man kann sich auf die Entwicklung der Views konzentrieren. Als Perspectives (Ansichten) schlage ich "Mail", "Termine/ToDos", "Kontakte" vor. Die Ladezeiten (bei mir rund 5 Sekunden) muss man natürlich im Auge behalten.
  • Solange Client und Server in deselben Sprache verfasst werden, können beide dieselbe Codebasis für die Protokolle und Formate nutzen, was die Kompatibilität zueinander in hohem Maße gewährleistet.
  • Ich möchte ansonsten nach Möglichkeit relativ wenig Drittanbieterkomponenten verwenden. Das schafft unnötige Abhängigkeiten und verursacht meiner Erfahrung nach häufig mehr Ärger als Nutzen.

Das Ganze soll erstmal nur eine Diskussionsgrundlage sein. Es bringt nichts, wenn ich alles im Detail plane, obwohl die grundlegende Idee Unzulänglichkeiten aufweist.

3. Sonstiges

Ich wage gar nicht zu behaupten, dass ich einen annähernd umfassenden Überblick über alle wichtigen Produkte am Markt habe - dafür ist das Thema einfach zu breit gefächert. Ich weiß nur, dass ich seit Jahren keine brauchbare Lösung finde, dafür immer wieder Leute, die ähnliche Probleme haben. Alles was ich ausprobiert habe hat neue Probleme mit sich gebracht, funktioniert nur als Insellösung oder nur zwischen zwei Teilnehmern.

Da bei uns Nachwuchs unterwegs ist und ich nicht vorhabe in nächster Zeit unter die Erdstrahlensammler zu gehen, wird einer familiengeeigneten IT-Infrastruktur auch in naher Zukunft eine wichtige Rolle zukommen. Was ich aus denselben Gründen nicht habe ist unbegrenzte Zeit - das übliche Problem. Ein Projekt in dieser Größenordnung alleine durchzuziehen ist zwar möglich aber weder zielführend noch befriedigend. Ich würde mich freuen, wenn sich eine handvoll Spezialisten finden würde, die ähnliche Ziele verfolgen und bereit sind etwas Zeit dafür zu investieren.

Ich selbst komme übrigens mitten aus Köln, falls sich jemand bei 'nem Bierchen (nicht zwingend Kölsch ;) mit mir über das Thema unterhalten will, einfach melden.

Ich habe in Foren leider häufiger die Erfahrung gemacht, dass sich die Teilnehmer immer zuerst auf die unwichtigsten und "aussschlachtbarsten" Aussagen stürzen anstatt das Thema erstmal allgemein zu erörtern (Top-Down halt) - letzteres würde ich mir wünschen.

Für alle, die es bis hierhin durchgehalten haben gibt's 'nen Keks, hepp :)

throw new Keks();

Ich freue mich auf eure Rückmeldungen,

Kai

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 Monate später...
  • 4 Wochen später...
Gast runtimeterror

Danke für den Tipp, habe mich gerade mal grob informiert.

Das klingt schon ganz gut, aber fast 2000 € ausgeben damit ich auch Mobilgeräte synchronisieren kann finde ich für privat dann doch zu happig.

Dafür bietet der Server dann jede Menge Funktionen, die nicht benötigt werden (z.B. E-Mail).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für den Tipp, habe mich gerade mal grob informiert.

Das klingt schon ganz gut, aber fast 2000 € ausgeben damit ich auch Mobilgeräte synchronisieren kann finde ich für privat dann doch zu happig.

Dafür bietet der Server dann jede Menge Funktionen, die nicht benötigt werden (z.B. E-Mail).

Okay, was genau in der OSE drin ist bzw. gegenüber NE fehlt, hab ich grad nicht im Kopf (arbeite da eher an anderen Baustellen).

Aber wie wärs denn, die fehlenden Features in der OSE einfach nachzurüsten ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...