Team Sharing

Summary

  • Team Sharing promotes collaboration by allowing colleagues to share Adaptable Objects at run-time
  • It is designed for use cases where the same grid-related Entity will be required by multiple users
  • Each object (e.g. a Layout, Format Column, Report etc.) can be shared in one of 2 ways:
    • Snapshot - i.e. a one-off operation
    • Active - all instances stay linked
  • It is also possible to share bespoke objects (not necessarily Adaptable specific ones), practically providing a shared mutable state between multiple instances

Team Sharing enables AdapTable users to share Adaptable Objects they have created.

These can be objects created either at run-time or design time.

Once an AdapTable Object is uploaded into Team Share, it is then tagged as a "Shared Entity" and will automatically be available to colleagues to download.

Note

  • This page explains how to share Adaptable Objects like Layouts, FormatColumns, Alerts, etc.
  • Advanced users are also able to share Custom Objects if required

Team Sharing Workflow

The Team Sharing workflow is straightforward but incredibly powerful:

Step 1. AdapTable User uploads an Adaptable Object to the Team Share (for colleagues to download):

UI Step by Step Guide

How to Upload an Adaptable Object To Team Share

Step 2. User's Colleague downloads the Object - known as a Shared Entity:

UI Step by Step Guide

Downloading From Team Share

Step 3. If the Shared Entity is Active Shared, AdapTable will automatically synchronise the team share with local changes, allowing colleagues to update their local copy with the latest version in the team share

Step 4. If the Shared Entity is Snapshot Shared, then it is uploaded to the Team Share and then disconnected from the initial Adaptable Object

Team Sharing
Fork
  • This demo shows how Team Sharing works in AdapTable
  • There are 2 users each with their own Initial State:
    • Alice - has a Format Column for Name Column
    • Bob - has a Format Column for Language Column and uses the Dark Theme
  • Switching between users - via the custom toolbar - loads a new AdapTable instance with that User's Initial State
  • Team Sharing is enabled in this demo, allowing Alice and Bob to share entities between them
  • Note: this demo uses local storage to simulate an api call - but in the real world the shared entity would be stored remotely.

Expand to see how Team Sharing is applied

Try It Out
  1. As Alice shares the Format Column for the Name Column
  2. As Bob download that Format Column from the Team Share
  3. Note that the new Format Column appears in the Grid for Bob

There are a few important concepts to know.

Snapshot Sharing

The most straightforwad way in which a SharedEntity can be uploaded is by Snapshot Sharing.

This is a one off operation in which the SharedEntity is uploaded to the Team Share and then disconnected from the initial Adaptable Object.

This means that any changes made by the original sharer - or any colleagues who download the Shared Entity - will not be fed back to the other.

Hint

However, the object will remain in the team share, meaning that any user who has locally amended the initial shared object can revert to the shared version at any time by downloading it again

Active Sharing

The other way to upload a SharedEntity is through Active Sharing.

In this scenario, the Shared Entity remains linked after it has been uploaded to Team Share by a user (and then subsequently downloaded by her colleagues).

AdapTable ensures that any local changes to a Shared Entity are automatically synchronised to TeamSharing.

Find Out More

See Active Team Sharing for full details on how Live sharing works in AdapTable

Referenced Sharing

Sometimes a Shared Entity contains references to other objects.

Most commonly a Layout will reference Special Columns (ie. Calculated, FreeText or ActionColumn).

When this happens, AdapTable will find all the associated dependencies, and they will be uploaded into Team Share together with the main Shared Entity.

Find Out More

See Referenced Team Sharing for further information

Multiple Teams

Team Sharing with Multiple Teams
Fork
  • This example illustrates how Team Sharing can be used with multiple teams
  • It is identical to the demo above (with 2 users) but in addition each user can share to 2 teams
Try It Out
  • Share Adaptable Objects between users and distribute them between the teams
  • Note that only those Shared Entities which are located to the current Team are displayed

Custom Objects Sharing

While the primary use case for TeamSharing is to allow different AdapTable instances to share AdapTable Objects (Layouts, Format Columns, etc.), it is also possible to share bespoke object structures and values.

Find Out More

See Custom Team Sharing for more information

Downloading Existing Objects

AdapTable will warn users if they are trying to import an Object which already exists.

It does this by checking whether Uuid of the Adaptable Object is unique.

Hint

Set suppressOverrideConfigWarning to true in Team Sharing Options to avoid seeing this warning

Configuring Team Sharing

Team Sharing is not available or enabled by default in AdapTable; instead, it needs to be explicitly enabled and set up by developers at design time.

Once Team Sharing is enabled, AdapTable will update the UI in 2 ways:

  • include the Team Sharing screen in the Settings Panel
  • add a Share button to every screen in the Settings Panel that displays AdapTable Objects

Find Out More

See Configuring Team Sharing for step by step instructions on setting up Team Sharing

FAQ

Can we turn off Team Sharing if we don't want to use it? You don't need to turn off Team Sharing as it's not available by default. Team Sharing is only available if the enableTeamSharing property is set to true in Team Sharing Options and the Entitlement for the Team Sharing Module is 'Full'.

Can we share Adaptable Objects between differently identified Adaptable instances? Strictly speaking no (but in practice it is possible).

Team Sharing is intended to be used only for instances that share the same adaptableId; e.g. all users of a CDS Pricer can share the same Report but it cannot also be used in a Bond Matrix Pricer.

However while we use adaptableId as the identifier we don't enforce this so you can - at your discretion - share objects between AdapTable instances with different Ids.

Can we use Team Sharing to share bespoke data (i.e. not AdapTable objects)? Yes, Custom Objects Sharing was introduced in AdapTable Version 15