Android Synchronisation ohne Google mit Tine 2.0
Nachtrag: Ich habe die Kleinigkeit gefunden die fehlte: eine Domäne 
Dass die letzte Folge der WAAV so spät erschien lag auch an dem womit ich am Wochenende gekämpft habe:
Android nicht mit Google sondern mit Tine 2.0 synchronisieren
Denn nicht jeder mag Google oder will seine Termine usw. mit Google verwalten. Egal wie man es sieht, Alternativen sind immer gut, also habe ich mich an Tine 2.0 versucht. Da ich bei meinen letzten Arbeitgebern jeweils die Wurzel egroupware administriert habe und Tine 2.0 echt gut aussieht war das eine naheliegende Wahl
Daher beschreibe ich hier wie man die Synchronisation von Android mit Tine recht einfach einrichten kann und habe auch einen Testaccount eingerichtet mit dem Du es einfach ausprobieren kannst.
Tine 2.0 Installation
Um Tine 2.0 mit Android nutzen zu können benötigt man natürlich einmal Tine selbst, sinnvollerweise auf einem Server (Systemvorraussetzungen), sowie das ActiveSync Zusatzpaket. ActiveSync ist das Protokoll dass Microsoft bei seinem Exchange Server verwendet und als braves Endgerät kann sich Android auch mit Exchange synchronisieren. Wir installieren also Tine mit ActiveSync. SyncML wäre mir auch lieber gewesen
Von der Downloadseite benötigen wir also das Tine 2.0 Basispaket und ActiveSync für Tine 2.0.
Die Installation führt man durch wie im Wiki beschrieben, sie besteht aus dem Eintragen der Datenbank Zugangsdaten in die Konfigurationsdate und dem durchlaufen eine Webbasierten Installation.
Ich musste dabei für die Prüfung von magic_quotes_gpc und dem PHP Speicherlimit tricksen wie hier im Forum beschrieben. Da die Installation nur für mich und ein paar Freunde ist stören die Performanceeinbussen da nicht, wenn der Hoster es erlaubt hat kann man über die .htaccess mit der Zeile “php_value magic_quotes_gpc 0“ auch passend einstellen.
Achtung, Nachtrag:
Das Active-Sync Modul entpackt man und kopiert den gesamten Ordner Activesync in das Hauptverzeichnis der Tine 2.0 Installation. Anschliessend installiert man es als Admin unter Admin⇒Anwendungen und gibt unter Rollen den Benutzern das Recht Active Sync auszuführen.
Was nun noch fehlt ist ein Alias für den Zugriff. Active Sync Geräte greifen immer auf den Pfad /Microsoft-Server-ActiveSync zu, dazu legt man entweder einen Eintrag “Alias /Microsoft-Server-ActiveSync index.php“ an oder, auf gehosteten Systemen legt man eine Datei .htaccess mit folgenden Zeilen an:
RewriteEngine On
RewriteRule Microsoft-Server-ActiveSync(.*) index.php$1 [E=ACTIVESYNC:true,E=REMOTE_USER:%{HTTP:Authorization}]
Das war es dann, greift man auf den Pfad /Microsoft-Server-ActiveSync, also z.B. tine.standardleitweg.de/Microsoft-Server-ActiveSync sollte ein Loginprompt erscheinen und wenn man seine Zugangsdaten eingibt sollte da “It works!” stehen.
Weiter zum Androiden:
Android konfiguration
In den Einstellungen unter “Konten&Synchronisierung” legt man ein neues Konto an vom Typ “Geschäftlich”, das sind ActiveSync-Konten.
Hier gibt man seine E-Mail Adresse und Passwort ein. Anschliessend versucht das System automatisch den Exchange (ActiveSync) Server zu finden, was meist aber scheitern wird. Man kann anschliessend aber die Serverdaten selbst eingeben. Hier trägt man seinen Benutzernamen (Nachtrag: Nach dem Schema Domäne\Benutzername) und Passwort sowie die Serveradresse ein.Das war’s, das Konto ist eingerichtet und synchronisiert. Legt man einen Termin oder Kontakt an kann man auswählen wo der Termin bzw. Kontakt angelegt werden soll, hier erscheint auch das neu angelegte Konto zur Auswahl.
Nachtrag: Hier noch ein Screenshot vom HTC Desire.
Im Kalender erscheint der Geschäfts-Account gar nicht erst, neue Kontakte kann ich zwar dort anlegen, sie werden aber nicht synchronisiert.
Ich vermute dass der Sync gar nicht klappt, der Kalender daher nicht weiss was für Kalender er hinter dem Account hat und die Kontakte daher auch nicht synchronisiert werden. Trotzdem scheinen beide Seiten grundsätzlich der Meinung zu sein dass es funktioniert. Weird.
Benutzername und Passwort jeweils Androidtest, Serveradresse tine.standardleitweg.de.
Als Mailadresse kannst Du Androidtest@standardleitweg.de verwenden (ist ein toter Briefkasten).
Ein paar Testtermine habe ich angelegt, neue kannst Du natürlich anlegen, aber bitte nur Testtermine. Ich werde das Konto regelmässig zurücksetzen.
Wenn Du es probierst schreib doch bitte einen Kommentar mit der Android Version und dem Gerät das Du verwendet hast, ob es eine Originalfirmware oder ein Custom ROM ist und was sonst wichtig sein könnte.
Da ich auch nicht ausschliessen kann dass es an meiner Tine Installation liegt — schliesslich habe ich ja bei der Installation getrickst — gilt das Gleiche wenn Du es an einer anderen Installation erfolgreich geschafft hast.
Am liebsten wäre es mir aber wenn Du einfach schreiben kannst “Du Dussel musst an Stelle foobar den Haken bei Fehler ausschalten setzen!” (oder so ähnlich)
Da ich den Fehler gefunden habe habe ich den Testaccount mittlerweile deaktiviert um Missbrauch nicht überwachen zu müssen. Bei Interesse kann ich ihn aber wieder aktivieren.
Trackbacks
Der Standardleitweg am : Lösung zur Synchronisation von Adnroid mit Tine 2.0
Vorschau anzeigen
Ich habe die Lösung zu meinem gestrigen Beitrag “Android Synchronisation ohne Google mit Tine 2.0“ gefunden: Während des Setups (oder nachträglich über die setup.php) muss unter “Authentifizierung/Benutzerkonten” unbedingt eine D
Der Standardleitweg am : Wochenendliche Android App Vorstellung Folge 114
Vorschau anzeigen
Moin Moin zur 114. Folge der Wochenendlichen Android App Vorstellung! Dieses Wochenende habe ich diese Programme die ich Dir vorstellen möchte:ReadIt — offizieller Klip.me ClientLlama — Einstellungen ortsbasiert automatisch ändernMyPhoneExp
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Frank am :
Silbär am :
Was zuerst nicht klappte, war die Active-Sync-URL. Ich habe da immer den normalen Login-Screen bekommen. Im Forum habe ich dann die Lösung gefunden: Grund war ein zweimaliges Redirect wie bei 1&1. Lösung logischerweise die selbe.
rowi am :
Vielleicht ist das ja auch der Punkt den das Desire stört.
rowi am :
HTC hat ja eine eigene Lösung (ich glaube ein lizensiertes RoadSync) und da funktionierte es auch nachdem ich dort die Domäne in das entsprechende Feld eingetragen hatte.
Der Benutzername einzeln, nicht wie beschrieben mit der Domäne.
Silbär am :
rowi am :
Der Testaccount ist noch aktiv:
Server: tine.standardleitweg.de
Domäne: standardleitweg
Benutzer: Androidtest
Kennwort: Androidtest
SSL aus
E-Mail Androidtest@standardleitweg.de
Silbär am :
Passwort ist übrigens casesensitiv und muss klein geschrieben werden.
Keine Ahnung woran es liegt…
rowi am :
Das Passwort hatte ich so eingerichtet wie geschrieben mit Grossem A, so war es gestern Abend auch noch aktiv. Das muss jemand beim/zum testen geändert haben, man kommt mit den Daten ja auch auf die Weboberfläche.
joede am :
rowi am :
Beim ersten synchronisieren scheint der Server zu gewinnen, ich habe dazu aber keine systematischen Tests gemacht. Android scheint dazu keine Einstellung zu haben, zumindest habe ich weder im puren Android noch bei HTC (RoadSync?) etwas gesehen.
Das betrifft allerdings nur die Daten dieses Accounts, d.h. Android verwaltet Kontakte und Termine intern getrennt für die Accounts. Beim anlegen eines Kontakts bzw. Termins muss man festlegen bei welchem Account er angelegt werden soll. Man sieht immer alle zusammen, beim synchronisieren wird es aber nur zum/vom eingestellten Account synchronisiert.
joede am :
Das mit dem Anlegen der Kontakte ist klar. Dumm ist nur, dass ich zumindest bei meinem Samsung Galaxy 3 keine Möglichkeit finde, Kontakte vom Handy in eine andere Quelle (Google) zu verschieben/kopieren.
rowi am :
Das Übertragen der Kontakte würde ich über das Web versuchen, in Google als csv exportieren und in Tine importieren.
joede am :
rowi am :
Bei den neueren Galaxys ist eine andere Software dabei, kann die das evtl. exportieren?
Oder ein Programm aus dem Market. Contacts Backup Trial kann die Kontakte als Outlook-CSV exportieren. Ich weiss allerdings nicht was die Einschränkungen der Trial sind.
PalmFan am :
Was mich mehr irritiert ist, dass ich keine Termine Bearbeiten kann, die auf dem Server erstellt wurden. Was mache ich da falsch?
rowi am :
Einmal ist es mir passiert dass ich dabei den Termin verdreifacht habe. Das konnte ich aber nicht wieder reproduzieren, daher gehe ich da auch von einem Fehler bei mir aus.
PalmFan am :
Ich habe schon unter bei den Kontoeinstellungen “Ihr Name” verändert, aber das scheint keine Rolle zu spielen
Wenn Du noch ein Idee hast, wäre das super. Ansonsten habe ich aber inzwischen auch so meine Zweifel, wie klug es ist allein auf Tine zu setzen. Wenn das mal nicht mehr läuft sind die Daten futsch:-/ Evtl. ist es doch besser auf Thunderbird zu setzen.
Wie auch immer vielen Dank, für Deinen Service mit dem Testserver!
Philipp Schüle am :
schöne anleitung!
können wir sie in unserem wiki verlinken?
z.b. hier: http://www.tine20.org/wiki/index.php/Admins/Synchronisation
viele grüße, philipp
rowi am :
Wenn Dir/Euch etwas auffällt was falsch ist oder ergänzt werden sollte sag auch gern Bescheid blog-kontakt () standardleitweg.de
armakuni am :
Jetzt kann ich mich endlich von diesem nervigen SyncML Client auf meinem Android-Smartphone verabschieden.
H.P. am :
Ebenfalls Danke für die Beschreibung. Hat geklappt … aber nur auf Seite TINE. Android bringe ich nicht zum laufen. Könntest Du mir die Daten für die Android Konfiguration noch etwas genauer angeben ? Domäne etc … irgend was klappt einfach nicht.
Danke für ein kurzes Feedback und Grüsse
H.P.
rowi am :
Der eigentliche Knackpunkt ist dabei die Domäne, da musst Du bei Tine irgendetwas eintragen und unter Android den Benutzernamen nach dem Format Domäne\Benutzername. Das ist zumindest bei Standard-Android so, falls der Hersteller eine andere Software für den Exchange Zugriff mitliefert werden Domäne und Benutzername evtl. auch getrennt eingegeben, aber das sieht man dann auch.
Wie die Domäne heisst ist egal, das ist nur zur logischen Trennung gedacht und hat nichts mit der Domäne der Webseite zu tun. Die muss nur auf beiden Seiten gleich sein.
Leider bekomme ich in Android 4.1 keine einfache Übersichtsseite der Einstellungen zum zeigen mehr, aber ansonsten beschränkt sich die Einrichtung eigentlich auf Servernamen, Benutzername und Kennwort. Ohne Domäne funktioniert es aber nicht, irgendetwas muss da eingetragen sein.
Was für einen Androiden hast Du denn und bekommst Du eine Fehlermeldung?
rowi schrieb auch: Wochenendliche Android App Vorstellung Folge 159
H.P. am :
Danke fürs Feedback … Es klappt nicht und ich habe die Domäne richtig eingetragen. Meine Androidenversion ist 2.3.4. Ich bin sicher, dass ich den Fehler mache. Deshalb mein Vorgehen kurz beschrieben:
1) Ich wähle ein Microsoft Exchange (neues Konto unter Einstellungen)
2) Ich trage jetzt die E-Mail Adresse ein und das Passwort des E-Mail Accounts von Tine – das ist richtig – oder ?
3) Dann folgt der Screen mit der Domäne. Da gebe ich die Domäne, welche ich im Tine hinterlegt habe und den Benutzernamen vom Tine User ein (Syntax: Domäne\Benutzername vom Tine User) – oder muss ich hier den User des Mailaccounts eintragen ?
4) Unter Exchange Server trage ich was ein ? Wenn ich keine Subdomäne erstellt habe trage ich einfach die Domäne ein ?
Danke und Grüsse
H.P.
armakuni am :
genau den gleichen domainnamen “meinserver.lan” habe ich auch in tine eingetragen. und es muss auch sichergestellt sein, dass dein server mit diesem namen ansprechbar ist, also auch via http://meinserver.lan/pfad_zu_tine
Hast du SSL aktiv und/oder den Port auf 80 geändert?
H.P. am :
Die Sache mit dem Server hast Du beantwortet – das probiere ich gleich aus. Kannst Du mir noch Feedback geben bezüglich Fragen 2) und 3) ? Wäre super, wenn ich das zum laufen kriege. Ich bin zuversichtlich mit Eurer Hilfe …
SSL habe ich ausgeschaltet
Grüsse
rowi am :
Unter 2) und 3) die E-Mail Adressse unn der Benutzername in Tine, wie Di geschrieben hast.
Unter 4) den Pfad zur Tine-Installation.
So funktioniert es bei mir, bei mir ist aber der Benutzername=der E-Mail-Adresse (Localpart, vor dem (at)) und die Installation liegt im Hauptverzeichnis der Subdomain.
Das sollte aber beides egal sein, unter 2) ist die E-Mail Adresse gefragt und unter 3) der Benutzer bei Tine. Und ob 4) im Hauptverzeichnis oder nicht ist auch egal, entscheidend ist daß die Schnittstelle gefunden wird und dafür kann man ja ein Unterverzeichnis angeben und nicht nur eine Domain.
rowi schrieb auch: “Hambel Bandel”: deutsche independent eBooks zum wählbaren Preis
H.P. am :
Ich habe mal den generellen Test gemacht – auf anderer Hardware. Auf meinem Tablet funktioniert die Sache einwandfrei. Es liegt demzufolge an der Androidenversion. Die selben Einstellungen auf Version 2.3.4 funktionieren nicht. Braucht mindestens Version 3.
Nochmals herzlichen Dank für den Support. Bin super zufrieden wie das funktioniert !
Grüsse
H.P.
rowi am :
Nein, die Android Version selbst ist nicht das Problem.
Der Artikel ist ja schon älter, als ich ihn geschrieben habe hatte ich ein I7500 Glaxy im Einsatz das unter Android 2.2.1 lief.
Allerdings eine AOSP Version, also ein “reines” Android ohne Herstellermodifikation.
Und auch danach hatte ich auf dem HTC Desire die Konfiguration so laufen unter CyanogenMod 7 bis einschliesslich Android 2.3.7
rowi schrieb auch: Geschichten aus dem Æther
Richard am :
danke für Deine Anleitung. Damit habe ich den ActiveSync soweit lauffähig bekommen. Wenn ich ihn über die Adresszeile rufe wird mir “It´s work” angezeigt. Versuche ich mich wie beschrieben mit meinem Samsung Galaxy S2 (Android 2.3.3) zu verbinden, bekomme ich eine Fehlermeldung (Verbindung mit dem Server kann nicht hergestellt werden). Als Test habe ich es mit deinen Zugangsdaten von oben versucht, das ist leider auch fehlgeschlagen. Ist der Testzugang noch aktiv? Der Domäneneintrag kann als Fehlerursache ausgeschlossen werden. Welche Rolle spielt die E-Mail-Adresse? Ist es egal, wenn man eine Adresse verwendet, welche nicht auf dem Webspace läuft?
Vielen Dank und Grüße
Richard
Richard am :
das Problem ist gelöst und nun funktioniert alles einwandfei. Bei mir gibt es keine Probleme mehr, seit ich eine 2nd-Level-Domain benutze.