User:Thunder: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 124: Line 124:
Components.utils.import("resource://people/modules/people.js");
Components.utils.import("resource://people/modules/people.js");
JSON.stringify(People.find({}));
JSON.stringify(People.find({}));
</pre>
Find all contacts named "Barney"
<pre>
Components.utils.import("resource://people/modules/people.js");
JSON.stringify(People.find({givenName: "Barney"}));
</pre>
Find all contacts with "mozilla" emails:
<pre>
Components.utils.import("resource://people/modules/people.js");
JSON.stringify(People.find({emails: [{value: "mozilla"}]}));
</pre>
</pre>

Revision as of 00:04, 7 August 2009

Firefox 3

Firefox 3.0 distribution customizations feature proposal

Weave

Incremental Sync

People

Here's some sample people data. To use it, copy the whole thing (including the JS) and paste it into the error console:

Components.utils.import("resource://people/modules/people.js");
People.add(
[{
  guid: "guid1",
  schema: "http://labs.mozilla.com/schemas/people/1",

  displayName: "Dan Mills",
  givenName: "Dan",
  familyName: "Mills",

  documents: {
    default: {
      moz_schema: "http://portablecontacts.net/draft-spec.html",
      displayName: "Dan Mills",
      name: {
        givenName: "Dan",
        familyName: "Mills"
      },
      emails: [
        {value: "thunder@mozilla.com"}
      ]
    }
  }
},
{
  guid: "guid2",
  schema: "http://labs.mozilla.com/schemas/people/1",

  displayName: "Myk Melez",
  givenName: "Myk",
  familyName: "Melez",

  documents: {
    default: {
      moz_schema: "http://portablecontacts.net/draft-spec.html",
      displayName: "Myk Melez",
      name: {
        givenName: "Myk",
        familyName: "Melez"
      },
      emails: [
        {value: "myk@mozilla.com"}
      ]
    }
  }
},
{
  guid: "guid3",
  schema: "http://labs.mozilla.com/schemas/people/1",

  displayName: "Anant",
  givenName: "Anant",
  familyName: "Narayanan",

  documents: {
    default: {
      moz_schema: "http://portablecontacts.net/draft-spec.html",
      displayName: "Anant",
      name: {
        givenName: "Anant",
        familyName: "Narayanan"
      },
      emails: [
        {value: "anant@mozilla.com"}
      ]
    }
  }
},
{
  guid: "guid4",
  schema: "http://labs.mozilla.com/schemas/people/1",

  displayName: "Fred",

  documents: {
    default: {
      moz_schema: "http://portablecontacts.net/draft-spec.html",
      displayName: "Fred",
      emails: [
        {value: "fred@example.com"},
        {value: "fred2@example.com"}
      ]
    }
  }
},
{
  guid: "guid5",
  schema: "http://labs.mozilla.com/schemas/people/1",

  displayName: "Barney",

  documents: {
    default: {
      moz_schema: "http://portablecontacts.net/draft-spec.html",
      displayName: "Barney"
    }
  }
}]);

To then verify the contacts were added correctly, run these in the error console:

Find all contacts:

Components.utils.import("resource://people/modules/people.js");
People.find({});

Find all contacts and output raw data as JSON:

Components.utils.import("resource://people/modules/people.js");
JSON.stringify(People.find({}));

Find all contacts named "Barney"

Components.utils.import("resource://people/modules/people.js");
JSON.stringify(People.find({givenName: "Barney"}));

Find all contacts with "mozilla" emails:

Components.utils.import("resource://people/modules/people.js");
JSON.stringify(People.find({emails: [{value: "mozilla"}]}));