Ticket #289 (assigned defect)
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:5 Changed 6 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 5 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 5 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:9 Changed 5 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 5 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 5 years ago by Lavrinenko
This should be fairly easy to implement:
- get contact's number from mobile device
- get contact's number from gnokii/kdepim/etc
- remove any non-digit letters from 1) and 2)
- compare
- return match/mismatch
comment:12 Changed 4 years ago by tuju
- Priority changed from high to normal
- Version changed from 0.35 to 0.38
- Component changed from Engine to xmlformat

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.