Skip to content

A framework for building collaborative Microsoft Teams and M365 experiences.

License

Notifications You must be signed in to change notification settings

eoinobrien/live-share-sdk

 
 

Repository files navigation

Live Share SDK

The Live Share SDK is in preview. You will need to be part of the Developer Preview Program for Microsoft Teams to use this feature.

The Live Share SDK builds on the Fluid Framework to enable the creation of collaborative experiences for Microsoft Teams and M365. This preview version focuses on building collaborative meeting applications for Microsoft Teams using Fluid. The SDK provides a TeamsFluidClient class for connecting to a special Fluid Container associated with each meeting. A collection of Live Share specific Distributed Data Structure classes are also provided to simplify building applications for common meeting scenarios like shared media playback.

To get started, we recommend first familiarizing yourself with the Fluid Framework and building Teams Meeting Apps. You can then follow our Quick Start Guide to build your first Teams Meeting App that uses Live Share.

You can find our detailed API reference documentation at Live Share reference docs and Live Share Media reference docs.

Package Compatibility

The Live Share SDK contains dependencies for @microsoft/teams-js and fluid-framework packages among others. Both of these packages are sensitive to the package version your app any libraries use. You will likely run into issues if the package version your app uses doesn't match the version other libraries you depend on use.

It is critical that your app use the package dependencies listed in the table below. Lookup the version of the @microsoft/live-share you're using and set any other dependencies in your package.json file to match:

@microsoft/live-share @microsoft/teams-js fluid-framework @microsoft/live-share-(media or canvas) @fluidframework/azure-client @microsoft/TeamsFx @microsoft/TeamsFx-react
1.0.0-preview.1 2.0.0-experimental.1 ~1.2.3 1.0.0-preview.1 (optional) ~1.0.2 (optional) 2.0.0-experimental.0 (optional) 2.0.0-experimental.0 (optional)
~0.5.1 2.0.0-experimental.1 ~1.2.3 ~0.5.1 (optional) ~1.0.2 (optional) 2.0.0-experimental.0 (optional) 2.0.0-experimental.0 (optional)
~0.3.1 2.0.0-experimental.0 ~0.59.0 ~0.3.1 (optional) ~0.59.0 (optional) 2.0.0-experimental.0 (optional) 2.0.0-experimental.0 (optional)

Dev Dependencies

Installing

Live Share

To add the latest version of the SDK to your application using NPM:

npm install @microsoft/live-share --save

or using Yarn:

yarn add @microsoft/live-share

Live Share Media

Optionally, to add the latest version of the media package to your application using NPM:

npm install @microsoft/live-share-media --save

or using Yarn:

yarn add @microsoft/live-share-media

Contributing

There are several ways you can contribute to this project:

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Preparing the Repository

To clone the repository to test samples and/or build the packages, ensure that you have the latest versions of Git and Node.js installed.

Clone a copy of the repo:

git clone https://github.com/microsoft/live-share-sdk.git

Change to the live-share-sdk directory:

cd live-share-sdk

Building Packages & Samples

To build the projects packages (with symlinks to the locally built packages), we use Lerna to prevent dependency errors.

Install all developer dependencies:

npm install --legacy-peer-deps

Build packages and samples:

npm run build

Run the sample of of your choice:

cd samples/01.dice-roller
npm start

Unit tests for all of the packages can be run using npm run test or npm run test:debug. Any previously built files can be deleted prior to building by first running npm run clean.

Code samples

There are several code samples available to use:

Sample name Description Javascript
Dice Roller Enable all connected clients to roll a dice and view the result. View
React Video Basic example showing how the EphemeralMediaSession object works with HTML5 video. View
React Media Template Enable all connected clients to watch videos together, build a shared playlist, transfer whom is in control, and annotate over the video. View
Agile Poker Enable all connected clients to play an Agile Poker planning activity. View

Reporting Security Issues

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at [email protected]. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Licensing & Copyright

Copyright (c) Microsoft Corporation. All rights reserved.

Live Share packages are licensed under a special Microsoft Live Share SDK license.

Code samples are licensed separately under MIT license.

About

A framework for building collaborative Microsoft Teams and M365 experiences.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.4%
  • JavaScript 0.6%