Closed Bug 989929 Opened 10 years ago Closed 10 years ago

[Contacts][Refactor] Create Contacts indexed DB library to support synchronization from the Global Contacts Datastore

Categories

(Firefox OS Graveyard :: Gaia::Contacts, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(tracking-b2g:backlog, b2g-v2.1 fixed)

RESOLVED FIXED
2.0 S5 (4july)
tracking-b2g backlog
Tracking Status
b2g-v2.1 --- fixed

People

(Reporter: noemi, Assigned: jmcf)

References

Details

(Whiteboard: [priority] [p=2])

Attachments

(1 file)

The idea is to enhance the velocity for searching and listing
Blocks: 968098
Assignee: nobody → jmcf
Target Milestone: --- → 2.0 S1 (9may)
Would like to take a look to this after my rejoin.
Status: NEW → ASSIGNED
blocking-b2g: --- → backlog
Whiteboard: [priority]
Target Milestone: 2.0 S1 (9may) → ---
Summary: [Contacts][Refactor] Create a Contacts indexed DB from Global Contacts DataStore → [Contacts][Refactor] Create Contacts indexed DB and library to support synchronization from the Global Contacts Datastore
Target Milestone: --- → 2.0 S4 (20june)
Summary: [Contacts][Refactor] Create Contacts indexed DB and library to support synchronization from the Global Contacts Datastore → [Contacts][Refactor] Create Contacts indexed DB library to support synchronization from the Global Contacts Datastore
Attached file 20613.html
Attachment #8441327 - Flags: review?(francisco)
Attachment #8441327 - Flags: feedback?(sergi.mansilla)
Comment on attachment 8441327 [details]
20613.html

Excellent job here Jose Manuel,

just left some comments and questions in github.

Thanks a lot for this!
Attachment #8441327 - Flags: review?(francisco)
Comment on attachment 8441327 [details]
20613.html

comments addressed
Attachment #8441327 - Flags: review?(francisco)
Target Milestone: 2.0 S4 (20june) → 2.0 S5 (4july)
Whiteboard: [priority] → [priority] [p=2]
Code wise all the request has been filled, looking great.

Just have one question, right now we are saving the contact, do we really need to save the whole thing? I know that we will be saving time, but we will be breaking the rule of the data contact is owned by each datastore.

Despite that, how we will handle things like an app has been uninstalled?

Let's sync tomorrow about that.

But as I said, this great work is pretty close to the final thing.
Comment on attachment 8441327 [details]
20613.html

Ben,

I'm flagging you for feedback to have your opinion as performance expert.

This is part of the data refactor that we were talking months ago, with a proper contacts's indexedDB, do you see anything else that we could have left?

Kind of indexes, organization of the DB, etc. I know that you are aware of a lot idb performance tips and would like to know if they could apply here.

Thanks!
Attachment #8441327 - Flags: review?(francisco) → feedback?(bkelly)
I'll take a look at this, but will probably be delayed until later in the week or early next week.
Comment on attachment 8441327 [details]
20613.html

re.asking for review as it was agreed on Friday to land this and perform a series of follow-ups
Attachment #8441327 - Flags: review?(francisco)
Comment on attachment 8441327 [details]
20613.html

As we commented offline, we will land this since doesnt interfeer right now with the current code as a barebone of what we want to achieve.

We opened bug 1031306 to measure the performance of several ideas.
Attachment #8441327 - Flags: review?(francisco) → review+
https://github.com/jmcanterafonseca/gaia/commit/c586274fcf38811c66847ce5e3307af3965bdd0c
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Comment on attachment 8441327 [details]
20613.html

Sorry it took me so long to look at this.  Clearing the flag since I only looked briefly as this has already been in the tree for some time.

Overall it looks good to me, but I had a couple comments/questions:

1) Is this intended to be used by other apps or only contacts app?  I seem to recall talking about creating a "data-only contacts app" that provides the shared datastore.  Is this consuming from that datastore or somehow helping to provide it?

2) The comment reference searching, but I don't see a search function.  Ultimately I think we will want to build a full text search database.  Each row would contain a single word and then a list of ids pointing back to the source contact or contact field.
Attachment #8441327 - Flags: feedback?(bkelly)
Attachment #8441327 - Flags: feedback?(sergi.mansilla)
blocking-b2g: backlog → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: