Skip to main content

Administration

Overview

info

ℹ️ Prerequisites:

  • You will need elevated permissions to perform most of these actions.
  • Check out Authorization & roles for more info.

This document covers the following administrative concepts:

  • Onboarding and managing Fusion Contexts
  • Onboarding and managing Fusion Apps
  • Connecting Onboarded Apps and Onboarded Contexts with a Work Surface

Onboarding Contexts & Apps

These actions requires user authorization. This is issued as a bearer token. This can be obtained with Swagger. This guide will not go further into details on how to obtain this.

Currently, the onboarding process have no user interface. This means we need to use API endpoints to onboard contexts

The first thing we should onboard is a Fusion Context. By doing this, we acknowledge that this context is ready to be consumed in the Project Portal. After performing this step, you are then able to connect onboarded Fusion Apps to this context. As long as no Fusion Apps are connected to the context, no apps will be shown in the Project Portal

After a Fusion Context is onboarded, we start onboarding Fusion Apps. As with Fusion Contexts, this means we acknowledge that the Fusion App is ready for consumption in the Project Portal.

Note that when a Fusion Context and a Fusion App is onboarded, no apps will automatically be visible in the Project Portal. They are only onboarded, meaning that they can be made available in the Project Portal. To make an app visible in the Project Portal, an onboarded app must be connected to a Work Surface (and optionally an onboarded context). See below for instructions.

Onboard a Fusion Context

To onboard a Fusion Context, we need to know the following:

  • External ID of the context (a GUID). This can be obtained from the Fusion Context API

When you have found the External ID, you can proceed with onboarding a Fusion Context by doing the following:

POST: /api/onboarded-contexts

// Example body

{
"ExternalId": "91dd6653-a364-40c7-af26-7af516d66c42",
"Description": "A description that is presented in the Project Portal"
}

Update an onboarded Fusion Context

Currently, we support updating the description of the context. This can be done with the following endpoint:

PUT: /api/onboarded-contexts/{{externalId}}

// Example body

{
"Description": "A vastly improved description"
}

Remove an onboarded Fusion Context

You can remove an onboarded Fusion Context so that it's no longer available for consumption in the Project Portal. This will also remove all Work Surface Apps that might have been connected to the Fusion Context earlier on.

DELETE: /api/onboarded-contexts/{{externalId}}


Onboard a Fusion App

To onboard a Fusion App, we need to know the following:

  • App Key. This is the unique Fusion App Key. Can be obtained from the Fusion App API
  • App Group ID. App Groups is part of the initial set up for the Project Portal itself. The ID can be obtained by querying the App Groups endpoint.

When you have found the these values, you can proceed with onboarding a Fusion App by doing the following:

POST: /api/onboarded-apps

// Example body

{
"AppKey": "unique-fusion-app-key",
"AppGroupId": "94cbf7e0-cc23-4ec6-a0df-08db47d0e6a0"
}

Remove an onboarded Fusion App

You can remove an onboarded Fusion App so that it's no longer available for consumption in the Project Portal. This will also remove all Work Surface Apps that might have been connected to the Fusion App earlier on.

DELETE: /api/onboarded-apps/{{appKey}}


Enabling Apps in the Project Portal

ℹ️ Prerequisites:

  • App Groups and Work Surfaces must have been created.
  • At least one Fusion App must be onboarded.
  • Optionally one Fusion Context must be onboarded (not applicable for global apps)

Onboarding Fusion Apps and Contexts does not automatically make apps available in the Project Portal. To make an app visible, an Onboarded App and (optionally) an Onboarded Context must be connected to a Work Surface.

Let's make an Onboarded App available:

Adding a global Work Surface App

A global app means that ALL contexts have access to this app, even if the context is not onboarded.

To add a global app, we need to know the following:

  • App Key. This is the unique Fusion App Key. Can be obtained from the Fusion App API
  • Work Surface ID. Work Surfaces is part of the initial set up for the Project Portal itself. The ID can be obtained by querying the Work Surfaces endpoint.

POST: /api/work-surfaces/{{workSurfaceId}}/apps

// Example body

{
"appKey": "unique-fusion-app-key-of-onboarded-app"
}

Adding a context-specific Work Surface App

By adding a context-specific app, this app will ONLY be visible for a certain context.

To add a context-specific app, we need to know the following:

  • External ID of the context (a GUID). This can be obtained from the Fusion Context API
  • App Key. This is the unique Fusion App Key. Can be obtained from the Fusion App API
  • Work Surface ID. Work Surfaces is part of the initial set up for the Project Portal itself. The ID can be obtained by querying the Work Surfaces endpoint.

POST: /api/work-surfaces/{{workSurfaceId}}/contexts/{{externalId}}/apps

// Example body

{
"appKey": "unique-fusion-app-key-of-onboarded-app"
}

Removing Work Surface Apps

You can remove any app that you previously have added from a Work Surface - either it be globally or context-specific. This will essentially make the app unavailable. It will not remove the Onboarded App or the Onboarded Context.

To remove a Work Surface App, we need to know the following:

  • (optional) External ID of the context (a GUID). This can be obtained from the Fusion Context API
  • App Key. This is the unique Fusion App Key. Can be obtained from the Fusion App API
  • Work Surface ID. Work Surfaces is part of the initial set up for the Project Portal itself. The ID can be obtained by querying the Work Surfaces endpoint.

Remove a Global Work Surface App

DELETE: /api/work-surfaces/{{workSurfaceId}}/apps/{{appKey}}

Remove a context-specific Work Surface app

DELETE: /api/work-surfaces/{{workSurfaceId}}/contexts/{{externalId}}/apps/{{appKey}}