Ticket #289 (assigned defect)

Opened 8 years ago

Last modified 6 years ago

modification: ignore spaces in phone numbers

Reported by: lesid Owned by: dfriedrich
Priority: normal Milestone:
Component: Format Plugin: xmlformat Version: 0.38
Severity: blocker Keywords:
Cc:

Description

In kdepim, I saved my numbers as +41 761234567 (the space is required by outlook, which I synced with Plaxo of which I imported the data into kdepim using an ldif file). When syncing with the empty address book of the SE k750i, the number is saved as +41761234567. When I sync again without making further changes, opensync reports a conflict and asks what to do. It would be nice, if such a difference was ignored automatically, since pressing i for ignore for 300 contacts takes quite some time.

Change History

comment:1 Changed 8 years ago by dgollub

Maybe we should really add a special compare function for phone numbers or/and other fields. Also the gnokii-sync plugin requires something similar because it can only handle some few characters for telephone number (example: +49800/123456 - '/' is not allowed for gnokii-sync).

So there will be also a conflict with: +49800123456 != +49800/123456

But maybe this should be done for the dev-branch.

comment:2 Changed 8 years ago by abauer

  • Status changed from new to assigned
  • Version set to 0.31

comment:5 Changed 7 years ago by dgollub

  • Owner changed from abauer to dfriedrich
  • Priority changed from normal to highest
  • Status changed from assigned to new
  • Severity changed from normal to blocker

Maybe we should implement "weak compare" handling for specific fields like phone numbers. This would require changes on xmlformat_compare function - to provide such "weak compare field" hook tables...

Daniel, something for 0.40?

comment:6 Changed 7 years ago by dfriedrich

  • Priority changed from highest to high
  • Status changed from new to assigned
  • Version changed from 0.31 to 0.35

We also could implement a customizable auto format function for some fields. Which could be global enabled/disabled. But a special compare function will be better, so we do not touch the data. But we should search for a clean solution that we can register special compare function for some formats.

comment:7 Changed 7 years ago by felixmoeller

http://www.opensync.org/ticket/338 might be closed as a duplicate, if we are aiming at a generic compare function.

comment:8 Changed 6 years ago by tuju

  • Milestone set to 0.38

comment:9 Changed 6 years ago by dgollub

What about introducing for xmlformat_compare() compare function pointer for certain fields. We might register those function pointer with the score table - to allow per field a special compare function, which does some "weak" comparsion - e.g. for Telephone numbers and spaces. So the return value of the compare function is the same like xmlformat_compare(): SAME, SIMLAR, MISMATCH ... and we might subsctract one score point or something like that. OTOH - this is anyway onl requried for SlowSync? - right? So if someone tries to change the space or + in a telephone number intentionatly this should not cause call of xmlformat_compare()...

Any volunteers?

comment:10 Changed 6 years ago by dgollub

  • Milestone changed from 0.38 to 0.41

(Unfortutanley dfriedrich is on vaction walking down the Jakobs-path somewhere in Spain. I fear there is not Wifi... reschedule for post 0.40)

comment:11 Changed 6 years ago by Lavrinenko

This should be fairly easy to implement:

  1. get contact's number from mobile device
  2. get contact's number from gnokii/kdepim/etc
  3. remove any non-digit letters from 1) and 2)
  4. compare
  5. return match/mismatch

comment:12 Changed 6 years ago by tuju

  • Priority changed from high to normal
  • Version changed from 0.35 to 0.38
  • Component changed from Engine to xmlformat
Note: See TracTickets for help on using tickets.