Tracker options
Tracker options are configured in the $options property.
Config object
Option properties (schema)
blocks
: default set of blocks for new dispatches created with this trackerbody
: none | require | optionaltrackers
: list of tracker handlesswimlanes
: list of swimlane handlessecurity
:setting
: disabled | public | org | private | adminmin
: min levelmax
: max level
trackerSelection
: linked | all | noneswimlaneSelection
: linked | all | none | selectedswimlaneApply
: swimlane handle if swimlane is selectedsharePost
: yes | nodateConfig
: date | date-time | readonly | date-time-active | choice | nonedateConfigDetail
: List of strings taking the form of "+/-N" where measure is d, w or m for day, week and month requireResponse
: hide | available | enabled | dropdownrequireResponseApply
: response if enabledrecurringEntry
: hide | available. Allow recurring schedule for the dispatches.requireResponseTracker
: tracker handle if response is settoolar
: show | media |hideuserQuery
: valid user queryuserDirectory
: hide | available | enabled | dropdown | rule | rule-enableduserDirectoryRule
: rule for showing the user directory for rule-enabledshowHeader
: true | falseshowChangeBlock
: true | falsevalidationRule
: rule to enable the Submit button; true result enablesattachment
:validationRule
: rule that validate the attachment before allowing user to attach itavailabilityRule
: rule that would show/hide the attachment buttonvalidationMessage
: message that would displayed whenvalidationRule
returned false
fetchData
: fetch the user attribute documentedit
:user
: true | falseauthor
: true | false
participants
:setting
: hide | available | rulerule
: if true then make availablequery
:
manageParticipants
: [Objects]setting
: "hide" | "available" | "rule" | "author". By default it's "hide".rule
: provide a rule for allow editing or not.
linkedDispatch
:action
: hide | open | editmessage
: text to display (optional)
displayLayout
:id
: id for the layout or JSON path query from valuescondition
: rule for determining when to show
entryLayout
:id
: id for the layout or JSON path query from valuescondition
: rule for determining when to show
welcomeLayout
:id
: id for the layout or JSON path query from valuescondition
: rule for determining when to show
rewardLayout
:id
: id for the layout or JSON path query from valuescondition
: rule for determining when to show
emptyValues
: hide | showdispatchOpen
date
: hide | showmenu
: hide | show | admin
dispatchEdit
date
: hide | showmenu
: hide | show | admin
notification
:create
: [Object] notification configuration for dispatches creationsend
: "all" | "none" | "some"messageOveride
: "yes" | "no"edit
: [Object] notification configuration for dispatches editingsend
: "all" | "none" | "some"messageOveride
: "yes" | "no"
dateFormat
: date format, default to EEE, MMM ddlayout
: array of display layout optionsmatch
: display | editkind
: page | screen, screen is for fluttercondition
: "some rules", when eval to true, this display layout is selectedid
: "some layout id or handle`
Option properties (stream)
(note these will get moved to schema)
attachment
camera
image
: "hide" | "show"video
: "hide" | "show"
file
: "hide" | "show"-
library
: Array of allowed options; supports "file", "image", "video" -
layout
- agenda
id
layout idminHeight
min height of instantiated layout
Example
Below configuration is used in tracker configuration as attribute.
{
"$options": {
"showTitle": "yes",
"trackerSelection": "locked",
"trackers": [],
"userDirectory": "hide",
"requireResponse": "hide",
"swimlaneSelection": "locked",
"body": "none",
"toolbar": "hide",
"participants": {
"setting": "available"
},
"manageParticipants": {
"setting": "author",
"rule": ""
},
"attachment":
{
"camera": {
"image": "hide",
"video": "show"
},
"file": "hide",
"library": [
"video"
]
}
}
}
Example of notification configuration with tracker
{
"$options": {
"userDirectory": "hide",
"requireResponse": "available",
"showSocial": false,
"toolbar": "hide",
"edit": {
"author": true
},
"notification": {
"create": {
"send": "none",
"messageOverride": "yes"
},
"edit": {
"send": "some",
"messageOverride": "yes"
}
}
}
}
Example attachment validation rule
{
"properties": {},
"$options": {
"showTitle": "no",
"validationRule": "#attachments count > 0",
"attachment": {
"validationRule": "(#firstAttachment kind is video) and (#firstAttachment orientation is portrait)",
"availabilityRule": "#attachments count == 0",
"validationMessage": "Must be a portrait video"
}
}
}