Closed Bug 972000 Opened 10 years ago Closed 9 years ago

[meta] Import or access contact info from third parties

Categories

(Hello (Loop) :: Client, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX
backlog -

People

(Reporter: abr, Assigned: rgauthier)

References

Details

(Whiteboard: [contacts])

Attachments

(1 file)

      No description provided.
Blocks: loop_mvp
Depends on: 972001, 972002
Blocks: 972079
No longer blocks: 972079
Depends on: 972079
Component: General → Client
No longer depends on: 972001
No longer depends on: 972002
Blocks: 972014
No longer blocks: loop_mvp
Depends on: 1000107
Blocks: 972015
No longer blocks: 972014
Target Milestone: --- → mozilla33
Priority: -- → P3
Whiteboard: [s=ui32]
Target Milestone: mozilla33 → mozilla32
Target Milestone: mozilla32 → mozilla33
Romain, Can you do the bug breakdown for this?  Please work with Niko, Abr, & Alexis -- and anyone else you feel you need to.
Assignee: nobody → rgauthier
(In reply to Maire Reavy [:mreavy] (Please needinfo me) from comment #1)
> Romain, Can you do the bug breakdown for this?  Please work with Niko, Abr,
> & Alexis -- and anyone else you feel you need to.

Reviewed with Niko and TOkeshu - the current breakdown is enough for them
Priority: P3 → P2
Whiteboard: [s=ui32]
Target Milestone: mozilla33 → mozilla34
This proof of concept is meant to demonstrate the architecture described at https://wiki.mozilla.org/Loop/Architecture/Address_Book#Importing

I've done some manual testing with this against the Google Contacts CardDav interface. Note, however, that the parsing in the proof-of-concept CardDav importer is quite rudimentary, and would probably need some cleanup before we would consider using it.

If you invoke the following code (with valid values for "user" and "pass") from the loop panel, you should see all the corresponding contact objects logged in the JS console:

  navigator.mozLoop.startImport(0,
    {
      service: "carddav",
      host: "www.google.com",
      auth: "basic",
      user: "example.user@gmail.com",
      pass: "example-password"
    },
    function(id, contact) {
      console.log("New contact: " + JSON.stringify(contact));
      // This is where the panel code would store the contact in the IndexedDB table
    },
    function(id, err) {
      if (err) {
        console.log("Error:" + JSON.stringify(err));
      }
    }
  );
See Also: → 998369
Is there any particular reason the POC is in gecko space rather than content space? I don't see a need for it in gecko land.
Flags: needinfo?(adam)
(In reply to Mark Banner (:standard8) from comment #5)
> Is there any particular reason the POC is in gecko space rather than content
> space? I don't see a need for it in gecko land.

There are a handful of reasons:

1) I understand (from your note at Bug 972079 comment 7) that the Google Contacts API introduces some difficulties related to some cross-origin issues, and moving to gecko gives us much more room to maneuver. It seems quite probable that other services we choose to interface with may have similar properties.

2) For the specific conduit that I wrote -- which is proof-of-concept for now, but might be a valid approach if (a) we decide to have a generic CardDav importer or (b) the Google Contacts API proves to have some critical flaw -- the ability to send CardDav PROPFIND and REPORT requests from content requires the server to whitelist those methods (and the Depth header field) via CORS. And most don't (notably, Google does not).

3) Once we move on to importing things like native OS address books, the need for privileged access is pretty clear.
Flags: needinfo?(adam)
Depends on: 1038716
Whiteboard: [contacts]
Priority: P2 → --
Target Milestone: mozilla34 → ---
Not needed for first release of FxA & contacts.  We broke off the piece of this meta that is needed.
No longer blocks: 972015
backlog: --- → -
Flags: firefox-backlog-
We are currently reworking the Loop "user journey" (bug 1209713) and as part of this direct calls and contacts are being removed. Therefore closing contact related bugs as wontfix.

Tracking id: contactuserjourneyclosing
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: