npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@mindlink/add-in-client

v1.0.8

Published

An abstraction over the Microsoft Skype for Business add-in client API that supports both native Skype for Business clients and MindLink web and mobile clients for a richer add-in experience.

Downloads

9

Readme

AddIn Client

What is this?

This project contains a client library for interacting with the Lync/Skype for Business or MindLink Add-In API.

An Add-In is any web page that is configured to show "inside" a chat room in a Lync/Skype for Business Group Chat or Persistent Chat deployment. When exposed inside a chat room in a native Lync Group Chat / Skype for Business or MindLink client additional functionality is provided to the add-in through several JavaScript methods and callbacks.

Over time the add-in API exposed by Lync changed location and when exposed through MindLink cross-domain you need to use a completely different method (post-message).

To make it easier to develop across versions and clients MindLink developed an asynchronous wrapper - a single API surface that will automatically determine how to communicate with the native or MindLink APIs.

How to use?

Yarn/npm install @mindlink/add-in-client. There's typescript type definitions you can read to know what's available. Alternatively you can download from github releases the latest version and include the library in a script tag.

To use the source typescript, you should reference @mindlink/add-in-client/src/client.

Browser Support

Any browser with native support for JSON.stringify and JSON.parse. For cross-domain, any browser with native post message support.

For compatibility with the native Lync/Skype for Business clients you need to support the version of Internet Explorer shipped with Windows. That likely means you will have to include a JSON shim - we purposefully haven't as you may be using one anyway in your project and we don't want to cause bloat.

If you're not packaging your add-in up using a bundler we recommend including JSON 3 in a script tag before including the add-in client.

Building

To build the modern library, simply run yarn build in the root folder of the project after installing the dependencies locally (yarn install/npm install). The built artifacts will be in the .\dist\ folder.

Testing

To test the wrapper, you have to:

  1. Serve the folder.
  2. Create an add-in entry onto the relevant pChat infrastructure. For the tests to pass the add-in url needs to be configured with querystrings that provide expectations for the various tests. i.e.
    1. dm for the expected domain name.
    2. uid for the expected local user id.
    3. udm for the expected local user display name.
    4. gn for the expected name of the group that the addin is hosted into.
    5. d for the expected description of the group that the addin is hosted into.
    6. t for the expected topic of the group that the addin is hosted into.
    7. mml for the expected maximum message length.
  3. Add the add in to a group. From the Lync/Sfb adminstrator shell run the Set-CsPersistentChatRoom -Identity -AddIn "the configured addin name", i.e. set-cspersistentchatroom -Identity "<domain name>/<group name>" -AddIn "<add in name>"
  4. Using a client that supports addins, go to the room.

To test add-in functionality, you have to:

  1. Serve the folder.
  2. Create an add-in entry as above, without the querystring parameters. You want to serve addintester.html instead.
  3. As above.
  4. As above.
  5. Interact with the addin.