orion.core.preference

The preferences service manages a hierarchical set of preference nodes. Nodes are identified by a path string, where segments are delimited by the slash character ('/'). Each node is a JSON object with string keys and values that are String, Boolean, or Number.

Here is an example of retrieving a preference storing the list of recently used projects:

prefService.getPreferences("/window/recent").then(function(prefs) {
    var projects =  prefs.get("projects");
    if (typeof projects === "string") {
      projects = JSON.parse(projects);
    }
    if (projects && projects.length && projects.length > 0) {
      //do something with the projects
    }
});

And here is an example of adding a new project to the list, and storing the result back in the preference service:

prefService.getPreferences("/window/recent").then(function(prefs) {
    var projects = prefs.get("projects");
    if (typeof projects === "string") {
      projects = JSON.parse(projects);
    }
    projects.push({name: "My Proj", location: "http://example.com/myproj"});
    prefs.put("projects", projects);
});