Plugin Script Structure
- 1 Minute to read
- Print
- DarkLight
- PDF
Plugin Script Structure
- 1 Minute to read
- Print
- DarkLight
- PDF
Article summary
Did you find this summary helpful?
Thank you for your feedback
Plugins (or Extensions) are DataJet JSON scripts that sit in the DataJet plugins folder and have a wrapper around a standard Script Editor script. The wrapper contains the following elements:
Key | Value(s) | Description |
---|---|---|
type | "PluginType" |
|
version | versionNo | |
help | "Help Text" | Paragraph providing brief explanation of how to use the Plugin or Extension |
helpURL | "URL to detailed help source" | |
name | "Plugin Name" | |
title | "Plugin Menu Display Text" | Menu item text |
classification | "Desktop Menu Location" | Plugin Menu Location. Can be:
|
"menuGroup | "Desktop Sub-menu" | Menu sub-group. On ANALYTICS and ENGINEERING will appear under the menu item "Extensions" On Modelling, will be the Sub Menu heading |
uivariables[] | [ { "variable": "%VARIABLE_NAME%", "name": "Variable Name", "type": "Variable type", "description": "Variable display description" "default": {datasetelement} "options":{"opt1", "opt2", "opt3"}, } ] |
|
script [] | [ScriptEditorScript] | script should contain a series of well-formed script-editor methods |
onView {} | [ { "action": "onView action", "report": "ReportName", } ] |
|
{
"type": "DJPLUGIN",
"version": 1,
"help": "Recency Frequency Value Model\r\n\r\nUse Filter to restrict modeling universe",
"helpURL": "https://en.wikipedia.org/wiki/RFM_(market_research)",
"name": "RFM (Filtered)",
"title": "RFM (Filtered)",
"classification": "ANALYTICS",
"menuGroup": "RFM",
"uivariables": [
{
"variable": "%MODELNO%",
"name": "Model Name",
"type": "string",
"description": "Name for this models's results"
},
{
"variable": "%STABLE%",
"name": "Table",
"type": "Table",
"description": "Table to Model"
},
{
"variable": "%RECENCY%",
"name": "Recency Field",
"type": "Field",
"description": "Field that measures recency"
},
{
"variable": "%FREQUENCY%",
"name": "Frequency Field",
"type": "Field",
"description": "Field that measures frequency"
},
{
"variable": "%VALUE%",
"name": "Value Field",
"type": "Field",
"description": "Field that measures value"
},
{
"variable": "%DECILES%",
"name": "Quantile Size",
"type": "integer",
"description": "Size of quantile for combined-dimension (5-10)"
},
{
"variable": "%FILTER%",
"name": "Filter",
"type": "dataset",
"description": "Filter",
"default": {
"logic": "or",
"name": "%STABLE%",
"strict": true,
"set": [
{
"logic": "or",
"stype": "TABLE",
"entity": "%STABLE%"
}
]
}
}
],
"script": [
],
"onView": [
{
"action": "OpenReport",
"report": "%MODELNO%-RFV_REPORT"
}
]
}
uivariable examples;
{
"variable": "%SOURCETABLE%",
"name": "Table",
"type": "Table",
"description": "Table containing fields to cluster"
},
{
"variable": "%SFIELD1%",
"name": "First Field",
"type": "Field",
"description": "First field in cluster"
},
{
"variable": "%CLUSTERNAME%",
"name": "Cluster Field",
"type": "string",
"description": "Name of field to contain cluster result"
},
{
"variable": "%NCLUSTERS%",
"name": "Clusters",
"type": "choice",
"options": [ "2", "3", "4", "5", "6", "7", "8", "9" ],
"description": "Number of Clusters"
},
{
"variable": "%CLUSTERS%",
"name": "Clusters",
"type": "integer",
"description": "Number of Clusters (2-9)"
},
{
"variable": "%FILTER%",
"name": "Filter",
"type": "dataset",
"description": "Filter",
"default": {
"logic": "or",
"name": "%STABLE%",
"strict": true,
"set": [
{
"logic": "or",
"stype": "TABLE",
"entity": "%STABLE%"
}
]
}
Was this article helpful?