Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keySDC-1568


UI Integration

SDC need needs to onboard plugins in a way that will be decoupled from the SDC UI implication.

...

Param

Description

userId

The id of the user logged into SDC.

userRole

The role of the connected user, options ADMIN, DESIGNER, TESTER, OPS, GOVERNOR.

displayType

The type of view the plugin is opened in tab/context.

contextType

The type of the context where the plugin is opened: VF/CP/VL/VFC/SERVICE

uuid

Unique id of the context the designer plugin is opened in.

lifecycleState

The state the context /resource or service are currently in:
                                READY_FOR_CERTIFICATION/                CERTIFICATION_IN_PROGRESS/

                CERTIFIED/          NOT_CERTIFIED_CHECKIN/

NOT_CERTIFIED_CHECKOUT;

isOwner

A Boolean value describing if the logged user is the owner/lastUpdator of the resource/service.

version

The version of the item displayed.

parentUrl

The URL of the SDC the plugin is opened in. used to subscribe to the event bus in SDC.

eventsClientId

The name with which the plugin needs to register with to the event bus.

...

before you can integrate with SDC you will need to add our pubsub librery in to your aplicationapplication.

SDC will expose a base class in JS as part of the SDC UI project. Any plugin will be able to communicate with SDC after they instantiate this class.

...

Info
iconfalse
titleUsing the librery

Loading It Up

CommonJS

import {PluginPubSub} from 'sdc-pubsub'

Global Variable

<!-- index.html -->
<script src="./node_Modulesmodules/sdc-pubsub/dist/sdc-pubsub.js"></script>

// script.js
var pubsub = window.sdcPubSub.PluginPubSub;

Plugin registration

SDC will expose a base class in JS as part of the SDC UI project. Any plugin will be able to communicate with SDC after they instantiate this class.

The class will define a set of method that will allow the communication with SDC.



BasePubSub API

Base class holding all the basic operations needed for using the event hub.

...

Info
iconfalse

{

       type: XXX"eventType"

       originId:YYY       data: {}

}

       originId: "originName"

}

SDC generated events

Name

Type

When

Data

UI state

Description

Window out

WINDOW_OUT

Before SDC closes plugin,

The event is sent on all events below except VERSION_CHANGE and check out

none

Moves out of the plugin scope

The event is posted by SDC once the plugin window is going to be closed because of user action.

Version change

VERSION_CHANGE

After SDC retrieves item

New item version and UUID

The plugin is displayed on screen.

The event is posted by SDC once context version is changed by the user.

Check in

CHECK_IN

Before SDC closes plugin

none

SDC opens the catalog.

The event is posted by SDC once the context is being checked by the user.

Check out

CHECK_OUT

After SDC successful checkout the item

New item version and UUID

The plugin is displayed on screen.

The event is posted by SDC once the context is being check out by the user.

Submit for testing

SUBMIT_FOR_TESTING

Before submitting for testing is executed

none

SDC opens the catalog.

The event is posted by SDC once the context is being submitted for testing by the user.

Undo check out

UNDO_CHECK_OUT

After SDC executed the undo check out.

item version and UUID

SDC opens the catalog.

The event is posted by SDC once the context is being undone by the user.

Window out event example


Info
iconfalse

{

    type: "WINDOW_OUT"

    origiondata:

    originId: "sdc-hub"

    data:

}


 

Version change

...

event example


Info
iconfalse

{

    type: "VERSION_CHANGE    origion:sdc-hub"

    data: {

         uuid: a21af8a1daa948f78e30f9b269a253ba ,

         version:1.1

    }

    originId: "sdc-hub"

}

Check in

...

event example


Info
iconfalse

{

    type: "CHECK_IN"

    origiondata:

originId: "sdc-hub    data:"

}

...

Check out event example


Info
iconfalse

{

    type: SUBMIT"_FORCHECK_TESTINGorigion:OUT"

    data: {

         uuid: a21af8a1daa948f78e30f9b269a253ba ,

         version:1.1

    }

    originId: "sdc-hubdata:"

}

...

Submit for testing event example


Info
iconfalse

{

    type: "SUBMIT_FOR_TESTING    origion:"

data:

originId: "sdc-hub"

}


Undo check out event example


Info
iconfalse

{

    type: "UNDO_CHECK_OUT"

    data: {

         uuid: a21af8a1daa948f78e30f9b269a253ba ,

         version:1.1

    }

    originId: "sdc-hub"

}



Designer events

Name

Type

Description

Ready

READY

The event is posted by the plugin once it is ready.

Action completed

ACTION_COMPLETED

The event is sent by the plugin after receiving an event from SDC that the plugin added to notify the event passed to the plugin has be completed and SDC can continue the eventsToWait list in order to notify SDC to continue with its flow.


Ready event example

Info
iconfalse

{

    type: "READY"

    origiondata:plugin    data

originId: "pluginName"

}


Action completed event example


Info
iconfalse

{

    type: "ACTION_COMPLETED"

    origiondata:plugin    data

originId: "pluginName"

}


Security TBD

Need to add solution for the iframe authorization and authentication.

...

more information in the Appendix.


Appendix A – References

SDC external API’s

SDC consumer definition