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 whenvalidationRulereturned 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 | showdispatchOpendate: hide | showmenu: hide | show | admin
dispatchEditdate: 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)
attachmentcameraimage: "hide" | "show"video: "hide" | "show"
file: "hide" | "show"-
library: Array of allowed options; supports "file", "image", "video" -
layout
- agenda
idlayout idminHeightmin 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"
}
}
}