owncloud-archive / apps

Repo for ownCloud apps. Code here is work in progress and not intended for endusers
373 stars 337 forks source link

Add Merge contact capability #314

Closed eMerzh closed 11 years ago

eMerzh commented 11 years ago

Sometimes when you have multiple contacts from multiple places you have contacts in double or triple... It would be nice if we can provide, as google does, a "merge contact" option....

you select X contacts , then it open a new contact form with every fields from the older contacts ... then other are deleted.

RandolfCarter commented 11 years ago

:+1: I also would like this very much! Ideally combined with an automatic finding of probably duplicate contacts...

Finkregh commented 11 years ago

a drag/drop function would be also quite nice... (take one contact, drop on top of another, choose stuff if there are conflicts)

tanghus commented 11 years ago

I'll start with making the code checking for duplicates on import simply based on the UID and the status of REV.

Am I missing anything?

eMerzh commented 11 years ago

Hi @tanghus awesome to see that this feature is planned :)

just small question , do you also plan to have smth to merge contacts that are not previously detected as related like :

i have "Robert Nesta Marley" in my contact, i also have "Bob Marley" ... but i realyze that those are the same guy ... i want to quickly "merge" the infos from both (Robert has 1 email but no phone while Bob has 1email and a phone number)

chrisisbd commented 11 years ago

It would help a lot when merging contacts manually if one could sort on Family/Last name, then in the above example at least "Robert Nesta Marley" would be next to "Bob Marley" and you could see that you have a duplicate.

tanghus commented 11 years ago

My plan is first to do dupe detection in the backend (for import and CardDAV add) solely based on UID. After that I want to add something like what @eMerzh describes, where you can manually select which contacts to merge, get them displayed as a list where you can select which contact to merge into, and finally open the resulting contact, so the user can select any properties to remove. The client-side merging should also check for duplicate properties like BobMarley@Zion.net being the same as bobmarley@zion.net.

I'll try to add some mockups for this for discussion.

I would also like to add a "Suggest duplicate contacts" function, but that is in the not near future ;)

The OC 6 milestone is not cast in stone. I depends very much of when it will be released.

chrisisbd commented 11 years ago

So when you get a duplicate UID what are you going to do? Offer both to the user to choose or check the REV: date and use the newer one?

Would this also apply to duplicate UIDs detected when a client synchronises (or is that what you mean by CardDav add)?

tanghus commented 11 years ago

So when you get a duplicate UID what are you going to do?

Use the REV. I haven't decided what to do if one or neither contacts a REV.

And yes, sync is CardDAV. This would be an initial sync with existing contacts on the client.

caco3 commented 11 years ago

In a next step, it would be great to have an auto mege function. Due all my tests with different clients, I have have almost every contact twice, without a visible difference. My Nokia N9 phone has a nace feature called auto merge where tose contacts can be merged without user interaction. somethig like that would be great. Maybe the user could select, what has to mach:

Something like this could be a start: http://code.google.com/p/nodupe/

tanghus commented 11 years ago

Teaser ;) b4d45cb755be1a1a2c57fb0f7a3d4ae81a352cab

Finkregh commented 11 years ago

why was this closed w/o notice? has it been implemented completely?

eMerzh commented 11 years ago

@Finkregh no no, it was moved to the contact app repo

Finkregh commented 11 years ago

augh, i'm having another coffee... W)

tigrino commented 10 years ago

So, was anything implemented for merging of contacts so far?

tanghus commented 10 years ago

If you had read this issue closely, you would have know ;) https://github.com/owncloud/contacts/issues/66