Skip to content

[OLD] Onboarding UI Workflow Deprecated

Simone Martorelli edited this page Mar 15, 2022 · 1 revision

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\"}]}"