Meeting content management
[This is preliminary documentation and is subject to change.]
Describes the Microsoft Lync 2013 Preview meeting content management features of the Microsoft Lync 2013 Preview SDK.
Presentable content is information that is shared on the meeting sharing stage in a format that lets people collaborate. For example, a shared whiteboard is both viewed and annotated by all meeting participants. Annotated versions of a whiteboard can be saved locally for later viewing. You can also upload a PowerPoint slide deck to a meeting. Individual participants can view slides at their own pace or synchronize their view with that of a presenter. Finally, a native file such as a Microsoft Word document can be attached to a meeting. The document can then be downloaded by individual meeting participants, updated, and attached to the same meeting as a unique Word document.
The Microsoft Lync 2013 Preview SDK lets you control the sharing stage of a meeting window. You add, share, and remove presentable content by calling methods in the Microsoft Lync 2013 Preview API object model. Figure 1 shows the presentable content management dialog that a user opens in a meeting window. Using the Lync 2013 Preview API, you can reproduce this feature in your own application.
The Lync SDK makes it possible for you to enable your application to manage a meeting from end to end. That is, you can start a meeting, invite other people, upload presentable content, move uploaded content onto and off of the sharing stage, and then remove content from the meeting. You can design a user interface (UI) that meets your unique requirements. For example, you may need to create a UI that hides many of the complexities of Lync 2013 Preview so that a person can start a meeting with a single mouse-click. In a conference room setting, there are typically one or more large wall displays that show a meeting sharing stage and live meeting video. You can configure a desktop display that shows a custom meeting manager and lets you control meeting content in a private view.
Figure 2 shows a Windows Form that implements a simple meeting console. The console is used to start a new meeting and then manage the sharing stage of the meeting window that is shown on an auditorium display.
To build a console like the console shown in figure 2, you development is centered on five objects out of the Lync 2013 Preview API object model. You also handle a series of events and get other API objects by reading properties and handling events on these objects. These five objects include the following:
Microsoft.Lync.Model.LyncClient . This is the API platform and the entry point for further coding.
Microsoft.Lync.Model.Conversation.ConversationManager . This is a factory class that creates new conversation objects.
Microsoft.Lync.Model.Conversation.Conversation . This class represents a single meeting.
Microsoft.Lync.Model.Conversation.Sharing.ContentSharingModality . This class is the part of a meeting that handles all of the presentable content work that your console application does.
Microsoft.Lync.Model.Conversation.Sharing.ShareableContent . An object of this class encapsulates a single presentable content item such as a PowerPoint deck.
For more information about signing in to and out of Lync 2013 Preview by using Microsoft.Lync.Model.LyncClient, see How to: Sign In to Lync. For information about conversations, see Conversations in Lync.
In most cases, you use the Microsoft.Lync.Model.Conversation.Sharing.ContentSharingModality that you get from the Conversation.Modalities property of a conversation object. This modality exposes all of the methods and properties that are needed to manage presentable content. To respond to an invitation to view shared presentable content, you need to get the Microsoft.Lync.Model.Conversation.Sharing.ContentSharingModality that is owned by the meeting participant who is inviting the local participant.
Microsoft.Lync.Model.Conversation.Sharing.ContentSharingModality inherits the methods, properties, and events of Microsoft.Lync.Model.Conversation.Modality but adds additional class members that are scoped specifically to presentable content management. These presentable content-specific members allow you to create Microsoft.Lync.Model.Conversation.Sharing.ShareableContent objects that represent presentable content, monitor the content bin for activity such as adding or removing content, moving content to and from the sharing stage.
The ContentSharingModality.ContentCollection property represents the content bin of the meeting. The property returns a collection of Microsoft.Lync.Model.Conversation.Sharing.ShareableContent objects that any meeting presenter may update. For example, assume a meeting has been started by Bob. Bob invites John and Nancy. Both John and Nancy are promoted to the presenter role and have joined the meeting from remote endpoints. If John starts sharing a new whiteboard, both Bob and Nancy can annotate the white board, clear annotations, or save the annotations locally. This is possible because John’s whiteboard is added to the local ContentCollection of all meeting participants.
A presentable content item, whether a whiteboard, a PowerPoint deck, or a native file, is represented by a Microsoft.Lync.Model.Conversation.Sharing.ShareableContent class object. Although this is the common class for all types of presentable content, you can only call the class methods that are appropriate for the underlying content type. For example, the ShareableContent.BeginDownloadFile method can only be called on a Microsoft.Lync.Model.Conversation.Sharing.ShareableContent object when the type of that object is .