[OLD] Onboarding UI Workflow Deprecated - IBM/mac-ibm-notifications GitHub Wiki
The version 2.0.0 introduce a new workflow for IBM Notifier (Mac@IBM Notifications), the Onboarding.
This new UI consist in a fully customisable paged onboarding experience.
The admin will define pages with a structured model based on JSON format. This JSON will be passed to IBM Notifier through the -payload
CLI argument as seen in the Usage wiki page.
Model
Onboarding Payload
Key |
Mandatory |
Type |
Note |
pages |
YES |
[OnboardingPage] |
This array contains all the pages that will be showed in the onboarding workflow |
OnboardingPage
Key |
Mandatory |
Type |
Note |
title |
NO* |
String |
The title of the page |
subtitle |
NO* |
String |
The subtitle of the page |
body |
NO* |
String |
The body of the page. Supports Markdown format. |
mediaType |
NO |
String - MediaType |
The type of the media that you want to show. |
mediaPayload |
NO |
String - MediaPayload |
The payload related to the chosen media type. |
infoSection |
NO |
InfoSection |
The info section that will be showed with a click on the info button. |
topIcon (from v.2.4.0) |
NO |
String |
The local/remote url to a custom icon that will appear above page's title. |
MediaType
- image - for an image;
- video - for a video;
MediaPayload
- URL - for local and remote assets;
- Base64 encoded string - for direct image injection;
InfoSection
Key |
Mandatory |
Type |
Note |
fields |
YES |
[InfoField] |
This array contains all the info field that will be showed in the info section. |
InfoField
Key |
Mandatory |
Type |
Note |
label |
YES |
String |
The label (or first item) of the info field. |
description |
NO |
String |
The description (or second item) of the info field. |
Example of JSON
{
"pages":[
{
"title":"First page's title",
"subtitle":"First page's subtitle",
"body":"First page's body",
"mediaType":"image",
"mediaPayload":"http://image.address",
"topIcon":"http://image.address"
},
{
"title":"First page's title",
"subtitle":"First page's subtitle",
"body":"First page's body",
"mediaType":"video",
"mediaPayload":"http://video.address"
},
{
"title":"First page's title",
"subtitle":"First page's subtitle",
"body":"First page's body",
"mediaType":"image",
"mediaPayload":"base64encodedimage",
"infoSection":{
"fields":[
{
"label":"First label only"
},
{
"label":"Second label only"
},
{
"label":"Third label only"
}
]
}
},
{
"title":"First page's title",
"subtitle":"First page's subtitle",
"body":"First page's body",
"infoSection":{
"fields":[
{
"label":"First label",
"description":"First description"
},
{
"label":"Second label",
"description":"Second description"
},
{
"label":"Third label",
"description":"Third description"
}
]
}
}
]
}
Example of command line invocation
~/Applications/IBM\ Notifier.app/Contents/MacOS/IBM\ Notifier -type onboarding -payload "{\"pages\":[{\"title\":\"First page's title\",\"subtitle\":\"First page's subtitle\",\"body\":\"First page's body\",\"mediaType\":\"image\",\"mediaPayload\":\"http://image.address\"}]}"