For each slide set created, the Web Conferencing Server saves two encrypted XML files. The encryption algorithm is AES and the encryption key is the master key stored in the
conference.xml file. Because the files are encrypted, their file names use an .exml file name extension.
Each slide set has a unique identifier. The slide set file names are created using the following patterns:
set-<unique_identifier>.exml and set-s-<unique_identifier>.exml
For example, for a slide set with the unique identifier abc, the file names are set-abc.exml and set-s-abc.exml.
The content of the two files is the same. The second file is provided for backup purposes. When the Web Conferencing Server needs to save new changes in the slide set with the unique identifier aaa, the server opens the first file—set-aaa.exml—and attempts to save the changes to that file. If the original write operation succeeds, the Web Conferencing Server creates a copy of set-aaa.exml and renames the copy slide-s-aaa.exml. If the write operation fails, the Web Conferencing Server deletes set-aaa.exml, creates a copy of set-s-aaa.exml, and renames the copy set-aaa.exml.
The update procedure for slide sets is called every five minutes. This value is hard coded and cannot be changed. If an update operation fails, the changes made to a slide set in the past five minutes are not saved. If the Web Conferencing Server stops running during this period, changes to the slides can be lost. However, the Web Conferencing Server continually tries to update the files every five minutes. As a result, if one attempt fails, the Web Conferencing Server can attempt to save the content later.
Each slide set file contains the XML serialization of the data required to recreate the slide set content. The generic layout for this XML is as follows:
• A root node that contains information about the slide set (for example, the name, creator, and time when the slide set was created).
• A child node for each slide in the slide set. This node contains the information about the slide (for example, the name, creator, time when the slide was created, type of slide, a link to the original document, and a link to the images representing the slide).
• Based on the type of slide, there can be child nodes. For example, there can be a child node for the annotations in a PowerPoint slide or a child node for the question and answer choices in a poll slide.
The file is a snapshot of the current content for a given slide set. The file does not store historical information such as deleted slides or the values for attributes before they have been updated. There are two types of slides:
• Slides for which all the slide content is shared between Web Conferencing Server and meeting clients using only the PSOM channel. The following table lists the slide types for which all content is shared over PSOM.
Slide Type Slide Content Shared over PSOM
Web slide Name, URL
Poll Slide Name, question, answer choices
Text Slide Name, content
Application Sharing Slide Name, type of sharing (that is, Desktop or Application), color depth, process ID
• Slides for which some part of the content is shared between the Web Conferencing Server and meeting clients over PSOM and some other part of the content is shared between the Web Components Server and meeting clients over HTTPS. The following table lists the slide types for which content is partially shared over PSOM and partially shared over HTTPS.
Slide Type Slide Content Shared over PSOM
Slide Content Shared over HTTPS
Whiteboard Name, annotations Background image (white
rectangle)
Snapshot Name, annotations Background image (the
desktop screen capture from the conference presenter) PowerPoint Name, annotations PNG files for the large slide
image and for the slide thumbnail; original PPT document
Word Document Name, annotations PNG files for the big image and for thumbnail;
original MDI document
Multimedia Name Original multimedia file; the
chunk files
For slides for which some content is shared over PSOM and some is shared over HTTPS, the content that is shared over HTTPS is stored in the conference content folders. The conference
metadata file for the slide set stores only the link to the conference content file and the encryption key.
For example, if you have a slide generated from a PowerPoint slide, under the XML node for that slide you find the:
• Randomly generated name for the original uploaded PPT file.
• Encryption key for the PPT file.
• Randomly generated name for the large image of the slide in PNG format.
• Encryption key for the PNG file.
• Randomly generated name for the thumbnail image of the slide in PNG format.
• Encryption key for the PNG file.
You can use the names of these PPT and PNG files to search for the slide content in the conference content folders.
Metadata File for Poll Slide
The following is an example of the XML content for a Poll slide. <poll-slide
name="[ Poll 1 ]" recording-id=""
createdby="sip:[email protected] [vw01]"> <question>What day is today?</question>
<choice>MON</choice> <choice>TUE</choice> <choice>WED</choice> <choice>THU</choice> <choice>FRI</choice> <choice>SAT</choice> <choice>SUN</choice> </poll-slide>
Metadata file for Text Slide
The following is an example of the XML content for a Text slide. <text-slide
name="[ Text Slide 1 ]" recording-id=""
createdby="sip:[email protected] [vw01]" >
This is the content of a text slide I've just typed </current-text>
</text-slide>
Metadata File for Web Slide
The following is an example of the XML content for a Web slide. <web-slide
name="[ Web Slide 1 ]" recording-id=""
createdby="sip:[email protected] [vw01]" url="http://microsoft.com">
</web-slide>
Metadata File for Whiteboard Slide
The following is an example of the XML content for a Whiteboard slide. <image-slide
name="[ White Board 1 ]" recording-id="" createdby="sip:[email protected] [vw01]" image-width-attr="704" image-height-attr="528" page-number="-1" rich-slide-type="Whiteboard" thumbnail-aspect="1.33333337"> <ann COLOR="0" AUTHOR="vw01" TYPE="1" recording-id=""> 01000000000a0075007a00af007100cc009c00c000ba009d00b0009b009d00f40084011 400980116009901160099 </ann> <ann COLOR="0" AUTHOR="vw01"
TYPE="23"
recording-id="">
17000000009700fa01090144 </ann>
</image-slide>
Metadata File for Snapshot Slide
The following is an example of the XML content for a Snapshot slide. <image-slide name="[ Snapshot 1 ]" recording-id="" createdby="sip:[email protected] [vw01]" image="x8d51284585d1.epng" key="a51fe0f3e26813761e12435a9c2c5d89" image-filesize-attr="52865" image-width-attr="388" image-height-attr="369" page-number="-1" rich-slide-type="Image" thumbnail-image="xe31d11b0506d.epng" thumbnail-key="a51fe0f3e26813761e12435a9c2c5d89" thumbnail-aspect="1.0" compliance-image="xcb4de1d7b784-aae.png"> <ann COLOR="0" AUTHOR="vw01" TYPE="1" recording-id=""> 01000000000a0075007a00af007100cc009c00c000ba009d00b0009b009d00f40084011 400980116009901160099 </ann> <ann COLOR="0" AUTHOR="vw01" TYPE="23"
recording-id="">
17000000009700fa01090144 </ann>
</image-slide>
Metadata File for Word Document Slide
The following is an example of the XML content for a Word document slide. <image-slide name="Page 1" slideset-name="test.txt" recording-id="" createdby="sip:[email protected] [vw01]" image="xebc7f400248d.epng" key="ce3de85a37a8a6fc6b3b702b70a1a925" image-filesize-attr="6778" image-width-attr="816" image-height-attr="1056" document="x9838edc7b0d2.emdi" document-key="8ca685d4bcfb9afe94cc27ea4bd0a2e1" document-filesize-attr="1537" rich-slide-type="Modi" thumbnail-image="x908006115ceb.epng" thumbnail-key="40d224ca035ee8f77ba9c7342da17b1b" thumbnail-aspect="0.772727251" thumbnail-filesize-attr="748" compliance-image="xf3ae96bf86cd-aag-pngimage0.png" compliance-document="xbe356497761b-aag-x.mdi"> </image-slide>
Metadata File for Application Sharing Slide
The following is an example of the XML content for an Application Sharing slide. <demo-slide
name="Command Prompt - vw01" recording-id=""
createdby=sip:[email protected] [vw01]
shareHwnd="262300" shareSpeed="1" sharePid="4592" slideHotKey="19" slideColor="24" shareTitle="Command Prompt" slideCtrl="1" shareType="1"> </demo-slide>
Handouts (File Transfers)
You can think of file transfers, also known as handouts, as another type of slide set. Handouts can be considered slide sets that contain only one slide of a single type: a transferred file. The Web Conferencing Server follows the same process to save and update handout slides that it uses for other slide sets. First, the server saves two encrypted XML files for each handout. The content of the two files is the same. The second file is provided for backup purposes.
The update procedure for a handout is called every five minutes. If an update operation fails, the changes made to a handout in the past five minutes are not saved. If the Web Conferencing Server stops running during this period, changes to the handout can be lost. However, the Web Conferencing Server continually tries to update the XML files every five minutes. As a result, if one attempt fails, the Web Conferencing Server can attempt to save the content later.
The only differences in the save and update process for handouts are the location where the files are saved and updated, the naming convention used to name the files, and the file that keeps track of the IDs for the slide set for handouts.
The files are saved under a separate subfolder (named ft) in the conference folder for the organizer. The FTMaxID files contain the last used ID. The names of the files in which the slide set information is saved take the following form: fileset-<id>.exml. The files are encrypted using the master encryption key.
The file content represents the XML serialization of handout information. Because handout slides are shared over HTTPS in the XML, there is an encryption key and the randomly generated name for the file that is saved in the content folder.
Metadata File for a Handout (File Transfer)
The following is an example of the XML content for a handout (file transfer). <fileset
name="a8f5689f4866.blb" size="37"
key="48d9dd6ebe2ca367478da698493edc21" UploadedOnDate="8/25/2007 12:20 PM"
UploadedOn="1188069617459" UploadedBy="sip:[email protected]" file_deleted="false" original_filename="test.txt" creation_date="128325431784134388" CreatedOnDate="1/18/8441 5:22 PM" modification_date="128325431917125620" ModifiedOnDate="1/20/8441 6:18 AM"> </fileset>