Here's a sample JSON descriptor file for your reference.
Now we'll see how to define the properties of this file.
The language the extension supports. Currently, we support the locale "en" (English) only.
Key
|
Type
|
Value
|
locale*
|
JSONArray
|
en
|
Name of the Zoho product for which the extension is created. Here, it is "PROJECTS".
Key
|
Type
|
Value
|
service*
|
String
|
PROJECTS
|
If this setting is true, storage space will be allocated in the product for this extension. By default, the value will be false.
Key
|
Type
|
Value
|
storage*
|
Boolean
|
|
The
domains specified in this array can be called from the extension. Calls
to other domains, except the ones with which a connection is
established, will not be handled from the extension. If your extension
doesn't use any third-party service, then this array can be declared
empty.
Key
|
Type
|
Value
|
whiteListedDomains*
|
Array
|
|
Modules of the extension. We support widgets currently.
Key
|
Type
|
Value
|
modules
|
JSONObject
|
Example: "widgets":[{ |
This key holds an array of objects. Every object has three keys - 'location', 'name', and 'URL'.
Key
|
Type
|
Object Details
|
|
|
|
widgets
|
JSONArray
|
Key
|
Type
|
Description
|
Value
|
|
|
String
|
Places where the extension has to be rendered in the product.
|
Note: The location name must be unique.
|
|
|
|
name
|
String
|
The name of the widget.
|
Example: Checklist
|
|
|
url
|
URL
|
The relative path of the file that loads the widget.
|
/app/index.html
|
|
|
icon
|
String
|
The icon of the widget
|
Icon is mandatory for attachment picker
|
|
|
countkey
(phase_tab and issue_tab) |
String
|
Unique id to retrieve the widget count.
|
extensionUniqueKey
|
An extension can have multiple widgets.
Note: extensionUniqueKey is used to store/update the extension data.
Like
widgets, this key also holds an array of objects. A connector helps to
integrate an extension with a third-party service. Authorization of such
third-party services is usually handled by Zoho Projects.
Key
|
Type
|
Object Details
|
|
|
|
connectors
|
JSONArray
|
Key
|
Type
|
Description
|
Value
|
|
|
connectionLinkName
|
String
|
Link name generated for the third-party service connection
|
The value of the connectionLinkName param generated in the JSON tab of the connection summary. Note: The connection name must be unique. |
|
|
connectionName
|
String
|
Name of the connection
|
The value of the connectionName param generated in the JSON tab of the connection summary.
|
|
|
serviceName
|
String
|
Name of the third-party service
|
The value of the serviceName param generated in the JSON tab of the connection summary.
|
|
|
userAccess
|
Boolean
|
This
parameter decides whether the extension has to be authorized by each
user individually or it has to be authorized only by the admin.
|
|
|
|
isUserDefinedService
|
Boolean
|
Is the connection established with a custom service?
|
|
|
|
Scope
|
JSONArray
|
The access privilege set for the users/admins.
|
This
key can be used when you have to get more inputs from the user to
operate the extension. Say, you need the user's domain name of a
third-party service for your extension to function. To fetch it, you can
use this key to get input from the user accordingly.
Key
|
Type
|
Object Detail
|
|
|
|
config
|
JSONArray
|
Key
|
Type
|
Description
|
Value
|
|
|
name*
|
String
|
Name of the parameter.
|
The name should be unique.
|
|
|
type*
|
String
|
The data type of the parameter
|
|
|
|
default
|
String
|
The default value of the parameter
|
Note: This parameter is optional.
|
|
|
options
|
JSON array
|
Options are mandatory if 'select box' is chosen as the type.
|
Example ["New feature", "Enhancement"]
|
|
|
is_secure*
|
Boolean
|
Setting this to "true" prevents the developer from accessing this configuration from the extension.
|
|
|
|
is_mandatory
|
Boolean
|
Is the configuration mandatory?
|
|
|
|
description
|
String
|
A brief description of the configuration
|
Note: This parameter is optional.
|
Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.
If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.
You are currently viewing the help pages of Qntrl’s earlier version. Click here to view our latest version—Qntrl 3.0's help articles.