MPE will neue Kontakte auf dem Handy löschen
-
Thomas_FTL
- Beiträge: 32
- Registriert: Mi 27. Jul 2016, 10:38
MPE will neue Kontakte auf dem Handy löschen
Folgendes Szenarion:
Abgleich mehrerer Geräte mit den selben Kontakten
Es wird dazu mit der SyncDB gearbeitet. Die Datei SyncDB_Phonebook.vcf wird aus einem CRM heraus aufgebaut. Es ist die beiderseitige Synchronsiation eingestellt.
MPE will nun folgendes machen:
Alle neuen Kontakte aus dem CRM sollen auf das Handy kopiert werden.
Alle Kontakte auf dem Handy, die nicht in SyncDB_Phonebook.vcf stehen, sollen gelöscht werden.
Für alle Kontakte, die im CRM geändert wurden, sollen die Angaben aus dem Handy übernommen werden.
Machen soll MPE aber folgendes:
Neue Kontakte aus dem CRM sollen aufs Handy.
Geänderte Kontakte sollen auf dem Handy überschrieben werden.
Neue Kontakte vom Handy sollen in die SyncDB_Phonebook.vcf
Ändere ich die Einstellung, so dass die SyncDB Vorrang hat, dann werden die neuen Kontakte auf dem Handy gelöscht. Das bringt mich also nicht weiter.
Es muss zur Zeit sehr viel manuell gemacht werden, wenn die Unterschiede angezeigt werden.
Wie muss alles so eingestellt werden, dass alles im Blindflug funktioniert, ohne dass man eingreifen muss?
Gruß Thomas
Abgleich mehrerer Geräte mit den selben Kontakten
Es wird dazu mit der SyncDB gearbeitet. Die Datei SyncDB_Phonebook.vcf wird aus einem CRM heraus aufgebaut. Es ist die beiderseitige Synchronsiation eingestellt.
MPE will nun folgendes machen:
Alle neuen Kontakte aus dem CRM sollen auf das Handy kopiert werden.
Alle Kontakte auf dem Handy, die nicht in SyncDB_Phonebook.vcf stehen, sollen gelöscht werden.
Für alle Kontakte, die im CRM geändert wurden, sollen die Angaben aus dem Handy übernommen werden.
Machen soll MPE aber folgendes:
Neue Kontakte aus dem CRM sollen aufs Handy.
Geänderte Kontakte sollen auf dem Handy überschrieben werden.
Neue Kontakte vom Handy sollen in die SyncDB_Phonebook.vcf
Ändere ich die Einstellung, so dass die SyncDB Vorrang hat, dann werden die neuen Kontakte auf dem Handy gelöscht. Das bringt mich also nicht weiter.
Es muss zur Zeit sehr viel manuell gemacht werden, wenn die Unterschiede angezeigt werden.
Wie muss alles so eingestellt werden, dass alles im Blindflug funktioniert, ohne dass man eingreifen muss?
Gruß Thomas
-
Thomas_FTL
- Beiträge: 32
- Registriert: Mi 27. Jul 2016, 10:38
Sorry, ich hatte übersehen, dass Du es bist, der die SyncDB_Phonebook.vcf teilweise "manipuliert" und die nicht ausschließlich von MPE erstellt wird ?!
Wahrscheinlich solltest Du dort auch nach der Ursache suchen!
Ich habe das gerade mit 3 Geräten getestet (natürlich ohne die SyncDB_Phonebook.vcf zu manipulieren) und kann die von Dir beschriebenen Fehler nicht reproduzieren.
Nach welchem Algorithmus vergibst Du denn nun die VID ?
Wahrscheinlich solltest Du dort auch nach der Ursache suchen!
Ich habe das gerade mit 3 Geräten getestet (natürlich ohne die SyncDB_Phonebook.vcf zu manipulieren) und kann die von Dir beschriebenen Fehler nicht reproduzieren.
Nach welchem Algorithmus vergibst Du denn nun die VID ?
-
Thomas_FTL
- Beiträge: 32
- Registriert: Mi 27. Jul 2016, 10:38
Die ersten Teile sind Konstanten und im letzten Block nehme ich die ID aus dem CRM. Neue Kontakte haben dann eine UID vom MPE. Eigentlich passt das auch, denn der MPE findet ja die Einträge, die anders sind. Aber nimmt halt dann die Handy-Einträge. Wie erkennt eigentlich der MPE, ob ein Kontakt auf dem Handy oder dem Computer neuer ist? Soetwas, wie Datum und Uhrzeit der letzten Änderung habe ich nicht in den Daten gefunden.
Thomas
Thomas
Im Androidsystem existiert in der Datenbank kein Zeitstempel, d.h.
1. MPE kontrolliert ob es Veränderungen gibt siehe => Synchronisationsrichtung bei Sync "Nur MyPhoneExplorer"
2. Fand ein Sync unter 1. statt wird im Bestätigungsfenster auch ein Sync Handy > Syncdatenbank vorgeschlagen (auch bei einem Synchronisationskonflikt egal wann die Einträge geändert wurden)
Wichtig: Bei einem Abbruch der Synchronisation im Bestätigungsfenster und erneutem Sync, favorisiert MPE die Synchronisation des selben Syncpaares von der Syncdatenbank > Handy.
2. Kann ich bei nur einem existierenden Kontaktkonto überhaupt nicht nachvollziehen ?!
3. Ist auch OK, wenn Veränderungen auf beiden Seiten stattgefunden haben
1. MPE kontrolliert ob es Veränderungen gibt siehe => Synchronisationsrichtung bei Sync "Nur MyPhoneExplorer"
2. Fand ein Sync unter 1. statt wird im Bestätigungsfenster auch ein Sync Handy > Syncdatenbank vorgeschlagen (auch bei einem Synchronisationskonflikt egal wann die Einträge geändert wurden)
Wichtig: Bei einem Abbruch der Synchronisation im Bestätigungsfenster und erneutem Sync, favorisiert MPE die Synchronisation des selben Syncpaares von der Syncdatenbank > Handy.
1. ist ja OKThomas_FTL hat geschrieben:MPE will nun folgendes machen:
1. Alle neuen Kontakte aus dem CRM sollen auf das Handy kopiert werden.
2.Alle Kontakte auf dem Handy, die nicht in SyncDB_Phonebook.vcf stehen, sollen gelöscht werden.
3.Für alle Kontakte, die im CRM geändert wurden, sollen die Angaben aus dem Handy übernommen werden.
2. Kann ich bei nur einem existierenden Kontaktkonto überhaupt nicht nachvollziehen ?!
3. Ist auch OK, wenn Veränderungen auf beiden Seiten stattgefunden haben
-
Thomas_FTL
- Beiträge: 32
- Registriert: Mi 27. Jul 2016, 10:38
Auf dem Handy haben keine Änderungen stattgefunden. Die gab es nur im CRM und damit in der SyncDB_Phonebook.vcf.
MPE macht bei Synchronisation in beide Richtungen folgendes:

Mit anderen Worten, neue Kontakte kommen zwar auf das Handy, in allen anderen Fällen scheint aber das Handy Vorrang zu haben.
Wenn MPE auf Vorrang steht, wird auf dem Handy alles gelöscht,was nicht im MPE ist.
Wenn Handy auf Vorrang ist, wird im MPE alles gelöscht, was nicht auf dem Handy ist.
Beides ist logisch.
Ich möchte aber gern so synchronisieren:

Mit anderen Worten, es sollen alle neuen Kontakte vom Handy in den MPE geladen werden und bei Ungleichheit soll vom MPE aufs Handy geschrieben werden.
Man kann sich zwar durch die Liste durchklicken und alles einzeln anpassen, aber wenn aus dem CRM 10 neue Kontakte und 20 Änderungen kommen und das Handy wiederum 8 neue Kontakte liefert, ist das sehr fehleranfällig.
MPE macht bei Synchronisation in beide Richtungen folgendes:

Mit anderen Worten, neue Kontakte kommen zwar auf das Handy, in allen anderen Fällen scheint aber das Handy Vorrang zu haben.
Wenn MPE auf Vorrang steht, wird auf dem Handy alles gelöscht,was nicht im MPE ist.
Wenn Handy auf Vorrang ist, wird im MPE alles gelöscht, was nicht auf dem Handy ist.
Beides ist logisch.
Ich möchte aber gern so synchronisieren:

Mit anderen Worten, es sollen alle neuen Kontakte vom Handy in den MPE geladen werden und bei Ungleichheit soll vom MPE aufs Handy geschrieben werden.
Man kann sich zwar durch die Liste durchklicken und alles einzeln anpassen, aber wenn aus dem CRM 10 neue Kontakte und 20 Änderungen kommen und das Handy wiederum 8 neue Kontakte liefert, ist das sehr fehleranfällig.
Nein, existiert keine Veränderung im Handy sollte eine Veränderung der Datenbank auch einen Sync von der Datenbank > Handy vorschlagen.Thomas_FTL hat geschrieben:Mit anderen Worten, neue Kontakte kommen zwar auf das Handy, in allen anderen Fällen scheint aber das Handy Vorrang zu haben.
D.h. die 3.Zeile ist bei Dir nicht korrekt!
Workaround: Dann solltest Du den Sync immer einmal abbrechen und sofort wiederholen.Thomas_FTL hat geschrieben: ...und bei Ungleichheit soll vom MPE aufs Handy geschrieben werden.
-
Thomas_FTL
- Beiträge: 32
- Registriert: Mi 27. Jul 2016, 10:38
Woran merkt MPE, dass sich etwas verändert hat? Die Konvertierung der Umlaute kann es nicht sein. Wenn die SyncDB_Phonebook.vcf gefüllt wird, dann sind die Daten im Windowszeichensatz. Kommen sie zurück vom Handy ist alles UTF-8. Daran kann es aber auch nicht liegen, denn dann müssten alle Datensätze mit Umlauten als geändert markiert sein und das ist nicht der Fall. Das ist aber auch die einzigste Änderung im Handy, außer Android macht noch was heimlich mit den Daten.Nein, existiert keine Veränderung im Handy sollte eine Veränderung der Datenbank auch einen Sync von der Datenbank > Handy vorschlagen.
D.h. die 3.Zeile ist bei Dir nicht korrekt!
Die Zeilen sagen genau das aus, was passiert. Bei beiderseitiger Synchronisation werden neue Kontakte in beide Richtungen kopiert und bei Änderungen an bestehenden Kontakten wird gnadenlos vom Handy zum MPE kopiert, auch wenn die Änderung auf dem Computer stattgefunden hat.
Wie kann ich das beim Aufruf über die Kommandozeile realisieren? MPE wird per Kommandozeile aus dem CRM gestartet.Workaround: Dann solltest Du den Sync immer einmal abbrechen und sofort wiederholen.
Code: Alles auswählen
myphoneexplorer.exe noautoconnect
myphoneexplorer.exe action=sync flags=closeafteraction syncitem=phonebookThomas
Durch einen Vergleich der Datensatzpärchen.Thomas_FTL hat geschrieben:Woran merkt MPE, dass sich etwas verändert hat?
Ist ein Unterschied vorhanden, wird im Bestätigungsfenster ein Syncvorschlag realisiert:
1. Fand die Änderung in der internen Datenbank statt, dann
a) wenn kein Sync Handy<>MPE erfolgte: Interne Sync-Datenbank > Handy
b) wenn ein Sync Handy<>MPE erfolgte: Handy > Interne Sync-Datenbank [Datenbankkonflikt, beim wiederholtem Sync gilt wieder a)]
2. Fand keine Änderung in der internen Datenbank statt, dann Handy > Interne Sync-Datenbank
Du könntest
- vor dem ersten Sync in der settings.dat die Variable "ContactSync = 0" setzen ("Nur mit MyPhoneExplorerer)"
- Sync
- in der settings.dat die Variable "ContactSync = 18" setzen ("interne Sync-Datenbank)"
- Sync
Zuletzt geändert von icke1954 am Mi 18. Sep 2019, 20:09, insgesamt 3-mal geändert.
-
Thomas_FTL
- Beiträge: 32
- Registriert: Mi 27. Jul 2016, 10:38
Vor dem ersten Abgleich habe ich alle Kontakte auf dem Handy und die Datei Phonebook.dat im Handy-Verzeichns gelöscht, damit ich dort einen jungfräulichen Zustand hatte. Das Telefonbuch wird nicht mit Google synchronisiert. Das habe ich in den Kontoeinstellungen vom Handy entsprechend deaktiviert, damit nicht von der Seite irgendwelche Effekte kommen.
Beim ersten Synchronisieren kamen dann alle Kontakte sauber aufs Handy. Eine Woche später wurde erneut synchronisiert. Dabei kam dann das Problem hoch.
Die Synchronisation in 2 Schritten probiere ich aus.
Thomas
Beim ersten Synchronisieren kamen dann alle Kontakte sauber aufs Handy. Eine Woche später wurde erneut synchronisiert. Dabei kam dann das Problem hoch.
Die Synchronisation in 2 Schritten probiere ich aus.
Thomas
Ich habe den Verdacht, dass sich in der Datenbank im Handy irgend etwas geändert hatte, was u.U. nicht sichtbar war ?! Dann wird der Flag Handy > Interne Datenbank gesetzt und der Trick mit dem doppelten Sync sollte funktionieren.
PS. Ich mußte noch eine Korrektur in meinem vorherigen Post machen, hatte die Variante vergessen, wenn nur im Handy / MPE eine Änderung erfolgte.
PS. Ich mußte noch eine Korrektur in meinem vorherigen Post machen, hatte die Variante vergessen, wenn nur im Handy / MPE eine Änderung erfolgte.
-
Thomas_FTL
- Beiträge: 32
- Registriert: Mi 27. Jul 2016, 10:38
Der doppelte Abgleich hat nichts gebracht. Ich versuche jetzt einen anderen Weg.
- 1. Abgleich MPE - Handy: Handy hat Vorrang
2. Verarbeiten aller Kontakte, die ihre UID vom MPE erhalten haben (Das sind die Kontakte, die auf dem Handy angelegt wurden)
3. Export der Kontakte aus dem CRM (alle Kontakte mit UID vom MPE erhalten eine UID vom CRM)
4. Abgleich MPE - Handy: SyncDB hat Vorrang
-
Thomas_FTL
- Beiträge: 32
- Registriert: Mi 27. Jul 2016, 10:38
So, der neue Weg funktioniert super. Vielleicht auch als Anregung für andere, die eine Drittsoftware abgleichen müssen und dabei weder über OL, noch über TB gehen können oder wollen und die die ähnliche Ansprüche an den Abgleich haben.
In der settings.dat des entsprechenden Handys:
1. Setzen von ContactSyncMode=2 (Handy überschreibt SyncDB)
2. SyncDB_Phonebook.vcf auslesen und verarbeiten
3. SyncDB_Phonebook.vcf mit den Daten aus dem CRM neu aufbauen
4. Setzen von ContactSyncMode=1 (SyncDB überschreibt Handy)
Gruß Thomas
In der settings.dat des entsprechenden Handys:
Code: Alles auswählen
[Main]
ContactSync=18
[SyncDB]
ContactSyncMode= 2, dann 1
ContactConfirmation=0
Code: Alles auswählen
myphoneexplorer.exe action=sync flags=noerrmsg,closeafteraction syncitem=phonebook
3. SyncDB_Phonebook.vcf mit den Daten aus dem CRM neu aufbauen
4. Setzen von ContactSyncMode=1 (SyncDB überschreibt Handy)
Code: Alles auswählen
myphoneexplorer.exe action=sync flags=noerrmsg,closeafteraction syncitem=phonebook