Opened 3 years ago
Last modified 18 months ago
#1125 new defect
Improve avatar merging process
Reported by: | pferreir | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | v2.0 |
Component: | General | Version: | 0.97-dev |
Keywords: | Cc: |
Description
Right now we are checking for all the places where a user exists, by using the linkedTo dictionary. This is not only slow, but hard to maintain as well.
We could follow a different strategy:
- When two avatars are merged, link the merged avatar to the one it's been merged into, and add the former to the latter's "sub-avatar" list. This would a list of all identities that had been merged into a specific Avatar;
- The parent avatar is called instead of the sub-avatar whenever checks are to be made (or information extracted) - this could be done with a sub-class (?);
This would have the following advantages:
- Faster merging;
- No loss of data;
- "Unmerging" becomes possible without a lot of work;
Change History (5)
comment:1 Changed 3 years ago by pferreir
- Milestone set to v1.xx
comment:2 Changed 3 years ago by pferreir
- Priority changed from normal to critical
comment:3 Changed 3 years ago by jbenito
comment:4 Changed 3 years ago by jbenito
- Milestone changed from v1.xx to v1.5
comment:5 Changed 18 months ago by pferreir
- Milestone changed from v2.3 to v2.0
I'm moving this to 2.0 since it very frequently causes issues. The new relational backend should allow us to perform this kind of operation in a much safer way and with far better performance.
Note: See
TracTickets for help on using
tickets.
Beware that this should work also for favorites. We have had many cases of people using favorites that do not exist anymore because of merging.