Launch

The advantage of Atlas is its ability to render a satellite application’s shell, or all common components that every satellite application must have. A call to launch will begin the process of rendering a shell. This process can take some time thus the call returns a promise that is resolved when the shell is finished rendering.

It is best practice to wait until the shell is rendered and the currently impersonated account is returned before displaying any account specific information in a satellite application.

  
var promise = atlas.launch({
  mainNavId: "Assgined by Platform",
  localLogout: "/auth/logout"
});
promise.done( function(data) {
  // Fetch Satellite Application data for impersonated account
  fetchDataForAccount(data.currentAccountAlias());
  // Listen for changes to the impersonated account and refresh the data
  data.currentAccountAlias.subscribe(fetchDataForAccount);
});
  

If not present in the DOM launch will add the account-switcher, brand-bar, and main-nav nodes for you. However, to prevent flashing when the nodes are added it is best practice to include them in the satellite application markup.

  
<body>
  <account-switcher></account-switcher>
  <brand-bar></brand-bar>
  <main-nav></main-nav>
  <main>
  <!-- Your Content Here -->
  </main>
  <!-- Scripts -->
</body>
  

Configuration Parameters

Name Type Required Description
mainNavId string | observable string no The id of the menu to select in the main-nav. This is assigned to a satellite application by the platform team when the menu item is added.
localLogout string | observable string | function no If the value is a string or an observable string an AJAX GET call will be executed prior to redirecting the user to SSO logout. If the value is a function the function will be called and if a promise is returned execution will halt until the promise is resolved and then the user will be redirect to the SSO logout. This allows a satellite application to clean up it’s dedicated session before performing SSO logout.

Resolved Data Properties

Name Type Description
accounts observableArray of Accounts The Array of accounts used to populate the account-switcher
currentAccountAlias Observable string The currently impersonated Account Alias. Subscribe to changes and refresh data appropriately. Note: this observable is not updated until the POST to change account context returns.
Support Support Object Object repersenting the support information returned by the account context API.
Bradning Branding Object Object repersenting the branding information returned by the account context API.

Account Model

Name Type Description
accountAlias string Account Alias
businessName string Business name of the account
primaryDataCenter string The default data center for the account
subAccounts array of accounts Child accounts

Support Model

Name Type Description
chatServiceUrl Observable String Url to open a chat with support
featureRequestUrl Observable String Url to open a feature request
knowledgeBaseSearchUrl Observable String Url to search the knowledge base
supportEmail Observable String Email address to support
supportPhone Observable String Phone number of support
supportRequestUrl Observable String Url to open ans support request

Branding Model

Name Type Description
controlLogoutUrl Observable String Url to logout of the Control Portal
controlName Observable String Branded Control Portal Name
controlUrl Observable String Url of the Control Portal
cssUrl Observable String Url to branded CSS file
favIconUrl Observable String Url to Favicon image
headerBackgroundColor Observable String Hex value of the branded header background color
mobileIconUrl Observable String Url to mobile icon image
portalLogoUrl Observable String Url to Control Portal Branded Logo image