account_template.json
Overview
Each Synergy service that wants to interact with the Account Manager service stores a file containing this object in /usr/palm/public/accounts
. Contains callbacks and metadata. At Account service start-up, this file is scanned and registered.
Third-party apps creating services that interact with the Account Manager are required to be packaged with an account-template.json
file containing this object along with accompanying metadata such as account icons and localized text.
Schema
{ "templateId" : string, "loc_name" : string, "loc_usernameLabel" : string, "icon" : IconObj, "hidden" : boolean, "config" : any, "validator" : string | CustomValidatorObj object, "readPermissions" : array of string, "writePermissions" : array of string, "onCapabilitiesChanged" : string, "onCredentialsChanged" : string, "disableRemove" : boolean, "capabilityProviders" : capability array ... other user-defined fields ... }
Elements
Element | Required | Type | Description |
---|---|---|---|
templateId | Yes | string | Template ID. |
loc_name | Yes | string | Localizable name, i.e., "Google". |
loc_usernameLabel | No | string | Localizable username field label. For example: "Email Address". Default is "Username". |
icon | No | IconObj | Location of app's icons. |
hidden | No | boolean |
Default is false .
|
config | No | any | Opaque configuration objects sent to validator. Typically, this is populated with server configuration data. |
validator | No | string | Callback or CustomValidatorObj |
readPermissions | No | string array | Array of IDs of apps who can read credentials. Not currently implemented. |
writePermissions | No | string array | Array of IDs of apps who can write credentials. Not currently implemented. |
onCapabilitiesChanged | No | string | Method to call when account capabilities change. |
onCredentialsChanged | No | string | Method to call when account credentials change. |
disableRemove | No | boolean |
Should users be allowed to remove this account flag. Default is true .
|
capabilityProviders | Yes | capability array | Account capabilities |
Example
{ "templateId": "com.palm.google", "loc_name": "Google", "icon": { "loc_32x32": "images/google-32x32.png", "loc_48x48": "images/google-48x48.png" }, "validator": "palm://com.palm.service.contacts.google/checkCredentials", "capabilityProviders": [ { "capability": "CONTACTS", "id": "com.palm.google.contacts", "loc_name": "Google Contacts", "implementation": "palm://com.palm.service.contacts.google/", "onCreate": "palm://com.palm.service.contacts.google/onCreate", "onEnabled": "palm://com.palm.service.contacts.google/onEnabled", "onDelete": "palm://com.palm.service.contacts.google/onDelete" }, { "capability": "MESSAGING", "capabilitySubtype": "IM", "id": "com.palm.google.talk", "loc_name": "Google Talk", "icon": { "loc_32x32": "images/gtalk32x32.png", "loc_48x48": "images/gtalk48x48.png", "splitter": "images/gtalk_transport_splitter.png" }, "implementation": "palm://com.palm.imlibpurple/", "onEnabled": "palm://com.palm.imlibpurple/onEnabled", "serviceName":"service_gtalk", "dbkinds": { "immessage":"com.palm.immessage.libpurple", "imcommand":"com.palm.imcommand.libpurple" } } ] }