eSync 16.1 Adressbuch: Sync Endlosschleife

classic Classic list List threaded Threaded
3 messages Options
raindrop raindrop
Reply | Threaded
Open this post in threaded view
|

eSync 16.1 Adressbuch: Sync Endlosschleife

Hallo,

ich habe die aktuelle eGroupware Community Edition Version 16.1.20160810 aus dem Debian-Repository im Einsatz.
Dabei sind mir zwei Probleme beim eSync aufgefallen:
Das erste Problem betrifft den Einstellungsdialog vom eSync-Modul im Webinterface. Beim Aufruf versucht das von eGroupware eingesetzte Z-Push dessen Version durch einen Aufruf von "hash git && cd $path >/dev/null 2>&1 && git describe  --always" in der Datei "activesync/vendor/z-push/z-push/src/version.php" zu ermitteln/abzugleichen (unabhängig davon, dass die Version von der eGW-Config ohnehin überschrieben wird).
Da es sich bei mir um ein Produktivsystem handelt, sind natürlich keine Entwicklungswerkzeuge installiert, was zur folgenden Fehlermeldung im Apache Error-Log führt:
"sh: 1: hash: git: not found"

An sich ist das nichts Dramatisches, nur halt sicherheitstechnisch bedenklich und etwas unschön im Error-Log.

Das Hauptproblem betrifft das eigentliche Synchronisieren des Adressbuchs. Da die meisten Clients (in meinen Tests iOS und Outlook 2013/2016) mehrere einzelne Adressbücher nicht unterstützen, habe ich die Zusammenführung aller Adressbücher in eines aktiviert.
Sobald diese Einstellung aktiviert ist (unabhängig ob dann tatsächliche mehrere oder nur eins synchronisiert wird), kommt es im Falle von Outlook zu einer Endlos-Schleife: Beim initialen Sync wird das Adressbuch "Alle" (aufgrund der Zusammenführung) übertragen, bei anschließenden Überprüfen auf Änderungen werden allerdings die Einzeladressbücher mit diesem verglichen, was dann zu einem Vergleich "Persönlich" != "Alle" führt, der natürlich fehlschlägt und darauf ein neuer Sync initiiert wird.
Die entsprechenden Logs vom Z-Push Debug-Log sehen so aus:

Erstsynchronisation:
[ INFO] [user1] addressbook_zpush::get_addressbooks: Final return ret=['alle']
[DEBUG] [user1] addressbook_zpush::StatFolder('100000000006') returning Array([id] => 100000000006[mod] => alle[parent] => 0)
[DEBUG] [user1] HierarchyCache: AddFolder() serverid: 100000000006 displayname: alle
...
Nach dem Sync geht es anschließendend weiter:
[DEBUG] [user1] cmd='Ping' devType='WindowsOutlook' devId='ff8ef56826a845889b03e74884a78c6f' getUser='user1' from='192.168.99.31' version='EGroupware-16.1.20160810' method='POST'
[ INFO] [user1] addressbook_zpush::get_addressbooks: Final return ret=[Array([6] => persönlich[-1] => Gruppe Default[0] => Benutzerkonten)]
[ INFO] [user1] ExportChangesDiff->InitializeExporter(): Found '3' changes for 'hierarchy'
[DEBUG] [user1] addressbook_zpush::StatFolder('100000000006') returning Array([id] => 100000000006[mod] => alle[parent] => 0)
[DEBUG] [user1] SyncObject->equals() false on field 'displayname': 'persönlich' != 'alle'
[DEBUG] [user1] HierarchyCache: AddFolder() serverid: 100000000006 displayname: persönlich
...
[DEBUG] [user1] cmd='FolderSync' devType='WindowsOutlook' devId='ff8ef56826a845889b03e74884a78c6f' getUser='user1' from='192.168.99.31' version='EGroupware-16.1.20160810' method='POST'
...
[DEBUG] [user1] cmd='Sync' devType='WindowsOutlook' devId='ff8ef56826a845889b03e74884a78c6f' getUser='user1' from='192.168.99.31' version='EGroupware-16.1.20160810' method='POST'
...
[DEBUG] [user1] cmd='Ping' devType='WindowsOutlook' devId='ff8ef56826a845889b03e74884a78c6f' getUser='user1' from='192.168.99.31' version='EGroupware-16.1.20160810' method='POST'
...
Dann geht es wieder von oben  mit dem Ping los, was sich sekündlich wiederholt?!

Hat jemand ein ähnliches Verhalten beobachtet oder evtl. eine Lösung?? Eventuell habe ich ja auch nur etwas falsch konfiguriert?!

Vielen Dank schon mal und viele Grüße,
Cornelius
Ralf Becker-5 Ralf Becker-5
Reply | Threaded
Open this post in threaded view
|

Re: eSync 16.1 Adressbuch: Sync Endlosschleife

Hi Cornelius,

Am 02.09.16 um 21:24 schrieb raindrop:

> Hallo,
>
> ich habe die aktuelle eGroupware Community Edition Version 16.1.20160810 aus
> dem Debian-Repository im Einsatz.
> Dabei sind mir zwei Probleme beim eSync aufgefallen:
> Das erste Problem betrifft den Einstellungsdialog vom eSync-Modul im
> Webinterface. Beim Aufruf versucht das von eGroupware eingesetzte Z-Push
> dessen Version durch einen Aufruf von "hash git && cd $path >/dev/null 2>&1
> && git describe  --always" in der Datei
> "activesync/vendor/z-push/z-push/src/version.php" zu ermitteln/abzugleichen
> (unabhängig davon, dass die Version von der eGW-Config ohnehin überschrieben
> wird).
> Da es sich bei mir um ein Produktivsystem handelt, sind natürlich keine
> Entwicklungswerkzeuge installiert, was zur folgenden Fehlermeldung im Apache
> Error-Log führt:
> "sh: 1: hash: git: not found"
Ist bekannt, muss ich mal schauen wie ich das löse. Hat definitiv keine
negativen Auswirkungen außerhalb des error-logs.

> An sich ist das nichts Dramatisches, nur halt sicherheitstechnisch
> bedenklich und etwas unschön im Error-Log.
>
> Das Hauptproblem betrifft das eigentliche Synchronisieren des Adressbuchs.
> Da die meisten Clients (in meinen Tests iOS und Outlook 2013/2016) mehrere
> einzelne Adressbücher nicht unterstützen, habe ich die Zusammenführung aller
> Adressbücher in eines aktiviert.
> Sobald diese Einstellung aktiviert ist (unabhängig ob dann tatsächliche
> mehrere oder nur eins synchronisiert wird), kommt es im Falle von Outlook zu
> einer Endlos-Schleife: Beim initialen Sync wird das Adressbuch "Alle"
> (aufgrund der Zusammenführung) übertragen, bei anschließenden Überprüfen auf
> Änderungen werden allerdings die Einzeladressbücher mit diesem verglichen,
> was dann zu einem Vergleich "Persönlich" != "Alle" führt, der natürlich
> fehlschlägt und darauf ein neuer Sync initiiert wird.
> Die entsprechenden Logs vom Z-Push Debug-Log sehen so aus:
>
> Erstsynchronisation:
> [ INFO] [user1] addressbook_zpush::get_addressbooks: Final return
> ret=['alle']
> [DEBUG] [user1] addressbook_zpush::StatFolder('100000000006') returning
> Array([id] => 100000000006[mod] => alle[parent] => 0)
> [DEBUG] [user1] HierarchyCache: AddFolder() serverid: 100000000006
> displayname: alle
> ...
> Nach dem Sync geht es anschließendend weiter:
> [DEBUG] [user1] cmd='Ping' devType='WindowsOutlook'
> devId='ff8ef56826a845889b03e74884a78c6f' getUser='user1'
> from='192.168.99.31' version='EGroupware-16.1.20160810' method='POST'
> [ INFO] [user1] addressbook_zpush::get_addressbooks: Final return
> ret=[Array([6] => persönlich[-1] => Gruppe Default[0] => Benutzerkonten)]
> [ INFO] [user1] ExportChangesDiff->InitializeExporter(): Found '3' changes
> for 'hierarchy'
> [DEBUG] [user1] addressbook_zpush::StatFolder('100000000006') returning
> Array([id] => 100000000006[mod] => alle[parent] => 0)
> [DEBUG] [user1] SyncObject->equals() false on field 'displayname':
> 'persönlich' != 'alle'
> [DEBUG] [user1] HierarchyCache: AddFolder() serverid: 100000000006
> displayname: persönlich
> ...
> [DEBUG] [user1] cmd='FolderSync' devType='WindowsOutlook'
> devId='ff8ef56826a845889b03e74884a78c6f' getUser='user1'
> from='192.168.99.31' version='EGroupware-16.1.20160810' method='POST'
> ...
> [DEBUG] [user1] cmd='Sync' devType='WindowsOutlook'
> devId='ff8ef56826a845889b03e74884a78c6f' getUser='user1'
> from='192.168.99.31' version='EGroupware-16.1.20160810' method='POST'
> ...
> [DEBUG] [user1] cmd='Ping' devType='WindowsOutlook'
> devId='ff8ef56826a845889b03e74884a78c6f' getUser='user1'
> from='192.168.99.31' version='EGroupware-16.1.20160810' method='POST'
> ...
> Dann geht es wieder von oben  mit dem Ping los, was sich sekündlich
> wiederholt?!
>
> Hat jemand ein ähnliches Verhalten beobachtet oder evtl. eine Lösung??
> Eventuell habe ich ja auch nur etwas falsch konfiguriert?!
Klingt nach dem in Z-Push 2.3.1 beschriebenen Problem:

    http://z-push.org/z-push-2-3-1-released/

Die 2.3.1 Änderungen muss ich, bis auf die PostgreSQL Sachen die von mir
stammen, noch in die EGroupware mergen.
Sie werden dann Teil des nächsten Maintenance Releases sein, für das ich
noch keinen festen Termin habe.

> Vielen Dank schon mal und viele Grüße,
> Cornelius

--
Ralf Becker
EGroupware GmbH [www.egroupware.org]
Handelsregister HRB Kaiserslautern 3587
Geschäftsführer Birgit und Ralf Becker
Leibnizstr. 17, 67663 Kaiserslautern, Germany
Telefon +49 631 31657-0



------------------------------------------------------------------------------

_______________________________________________
egroupware-german mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/egroupware-german

signature.asc (817 bytes) Download Attachment
umehner umehner
Reply | Threaded
Open this post in threaded view
|

Re: eSync 16.1 Adressbuch: Sync Endlosschleife

Mittlerweile ist für z-push bereits Version 2.3.4 draußen:
http://download.z-push.org/final/2.3/

Wird absehbar an der Implementierung in eGroupware weitergearbeitet (esync)?

Gruß
Ulle
eGroupware SVN Trunk