Giter Club home page Giter Club logo

skype-sync's Introduction

Skype Sync SDK

Skype Sync allows you create shared experiences across different Skype Interviews instances.

It is a very simple SDK providing essentially two functions:

  1. Messaging between the addins instances
  2. Session context management

Getting started

Let's assume we are building a simplified synchronized note pad app.

  1. Import the Sync SDK
import Sync from 'skype-sync'
  1. Make sure to setup initialization handlers to accommodate for your UI.
Sync.initHandler = (context: InitContext) => {
  // initialize your application with given configuration
})

more info: InitContext

Broadcast actions

Most of the addins are collaborative so in order to send out a message to other meeting participants using the addin,simply call the send message sendMessage(type:string, payload?:any) to broadcast the message.

Sync.sendMessage('ADD_NOTE', {
  message: textInput.value,
  author: this.state.author
})

Receive actions

To handle incoming messages the app needs to register message event handler to which the sent messages of other participants will be sent. load of the action.

Sync.messageHandler((message: Message) => {
  switch (message.type) {
    case 'ADD_NOTE':
      // handle adding new note
      addNote(message.payload)
      break
    case 'DELETE_NOTE':
      // handle deleting a note
      deleteNote(message.payload)
      break
    default:
      return
  }
})

more info: Message

Persist content

Skype Interviews offers turn key long-term storage for your addin content to have it persist across multiple sessions. Users who close their browser and come back to the session in a few days will be able to pick up the session from where they left off. For example, the diagram you made using Skype Interviews Whiteboard will be shown every time you or recruiter open the interview link.

Persist your content across sessions

Put in any javascript object and we're going to persist it for this session as JSON serialized string.

Sync.persistContent(context)

Load persisted content

To retrieve the previously persisted content, simply call the fetchContent():Promise<string> method to initiate a request to fetch the stored content.

Sync.fetchContent()
    .then(content) => {
      app.state.notes = content
    })

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

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.

skype-sync's People

Contributors

microsoft-github-policy-service[bot] avatar nimal-work avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

skype-sync's Issues

Capture skype for Business Events

I am developing an windows form application, which should get triggered as soon as call is picked up from Skype for Business.

I was wondering is there any event available which i can listen to when a call is picked up Skype for Business.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.