Skip to content

Onboarding UI Workflow

Simone Martorelli edited this page Jul 9, 2021 · 12 revisions

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.

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.

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