Docstoc

Inside the Architecture of the Podcasting Kit for SharePoint - Microsoft

Document Sample
Inside the Architecture of the Podcasting Kit for SharePoint - Microsoft Powered By Docstoc
					Podcasting Kit for SharePoint:
Architectural Overview
Koen Van Tolhuyzen
Technology Advisor
Microsoft BeLux
Koenvant@microsoft.com
Agenda
•   Solution
     •   Design & Features

•   Content
     •   Metadata, Taxonomy, & Document Storage

•   Features
     •   Ratings & Comments
     •   Download tracker
     •   Server-Side Re-Encoding
     •   RSS…

•   User Interface
     •   Master page, Navigation, Customization & RSS

•   Customizing PKS
Podcasting Kit for SharePoint
Podcasting Kit for SharePoint® (PKS) is an accelerator for
social media, using podcasting and social networks to
deliver the next generation knowledge management
solution to Microsoft customers.



Built on top of Microsoft® Office SharePoint® Server 2007,
Microsoft® Silverlight 2 and Microsoft® Expression Encoder 2,
PKS delivers an integrated experience with a wide variety of
devices including PC, Zune™, Windows Mobile phones and
other podcast capable devices.
DEMO
• This demo includes only material that is
  available for FREE on
  www.codeplex.com/pks
Solution          Diagram
           Expression Encoder Solution

                    Content
                Media Encoder
                   Service
Solution                                      Design Strategy

 1.       Re-use
      • Use out of the box functionality where possible
      • Any data calculations should happen on an action not on view

 2.       Adapt
      • When you can’t re-use adapt existing components

 3.       Extend
      •   When you can’t adapt use the SharePoint platform to extend
      •   Design for the platform
      •   Customization is expected
      •   Components should stand alone
Solution                                     Features

 • Content Type
    • Ratings & Comments
    • Large file hosting outside SharePoint
    • Download Tracking
    • Configurable Taxonomy (Advanced Property Search)
    • Free form tagging (Tag Cloud)

 • User Interface
    • Enhanced RSS support (Zune/iTunes)
    • Silverlight Media Player

 • Access to ALL SharePoint OOTB functionality
Content                                     Meta-data

 • Content Type
    • Base storage created using SharePoint OOTB fields
    • Allows site collection search using Content by Query
    • Use Event Handler to asynchronously calculate
      thumbnail and duration of media files
Content                                    Meta-data

 • Taxonomy
    • Keep it simple – remember the difference between
      taxonomy and tagging
    • Extend the content type with Choice fields
    • Used to leverage custom property search

 • Tag Cloud
    • User created tagging terms
    • Caching across the site collection
    • MUBIN on up – More Uses Bigger Index
      Number
Content                             Meta-data

 • Custom Fields
   • Extend the capabilities of SharePoint
   • Created with custom display and edit
     views
   • Solution Fields
      • Ratings
      • External File Storage
      • Download Tracking
      • Free form tags (Tag Cloud)
Tag Cloud   Meta-data
                                                  Meta-data
Download Tracker
• ASPX page with QueryString parameter the destination
  URL

• Ability to track
   • unique downloads
   • total downloads

• Custom Field to display download info

• UserId, ItemId, types of download are tracked
   • RSS, Media, List Item, File
   • Response.Redirect (HTTP 302 code)
   • Response.TransmitFile
                                                External Storage
Network File Store


• Custom Field (Site Column)
• Offloading SQL bandwidth
• 2 upload mechanisms
   • ASP.net upload mechanism (older release)
   • Silverlight upload mechanism
      • Progress upload (current and overall)
      • Estimated time left
      • Resume after interruption
• URI upload location under IIS (NLB setup)
• WebId, ListId & ItemId folder for uniqueness
Network File Store
                                                                  Meta-data
CBQ override
• Derived from the OOB one
   •   public class CBQQueryOverride : ContentByQueryWebPart


• Override base CAML Query (Filtering & Sorting)
   •   base.QueryOverride = NewCAMLQuery


• Addition to base ProcessDataDelegate (Paging)
   • base.ProcessDataDelegate += new ProcessData(_processData);
   • public delegate DataTable ProcessData(DataTable data);
   • protected DataTable _processData(DataTable dt) {…}


• Consumes from QueryString parameters
• Consumes from WebPart connection
Simple Search                                  Overview

  • Search scope can be defined for the content type

  • Custom XSL for search results to display in grid view

  • Utilizes SharePoint search indexing

  • Content is not indexed but the meta-data is
Server-side re-encoding

   • Uses Microsoft Expression Encoder 2.0 API
   • Deployed as a windows service
   • User triggered re-encoding to limit CPU workload
      • Assumes most of the files are compatible by
        default
      • Any user can trigger the re-encoding if the file
        doesn’t play
      • The file is only re-encoded once
   • Uses a SharePoint custom list to manage the re-
     encoding queue
                                                    Meta-data
Rating & Comment
• Ability to rate internal as well as external SPS items
• Ability to plug rating control into
   •   XSLT’s using Ajax/JavaScript
   •   Lists using Custom Field controls
   •   Pages using WebParts
 • SQL storage allows enterprise solution
 • FarmName, WebId, ListId, ItemId for uniqueness
 • ContentSourceId & URL for external items
                   Meta-data
Rating & Comment
                                                             Meta-data
Rating & Comment
• Three features
   • Farm scope to create the store configuration list
   • WepApp scope to add the httpHandler entry (stapled to the farm)
   • Site scope to add the rating configuration list

• User Provider Interface

• WebService Layer outputs XML

• JavaScript Layer serializes/deserializes XML

• ValidateFormDigest on Posts to prevent one click attack
   • No use of AllowUnsafeUpdates
User Profiles                        Overview

  • Storage inside the User Information List
    of the site collection

  • Synchronizes data from MOSS user
    profile store

  • Allows adding additional data columns
    on top of synchronized data
User Interface                           Master Pages

  • Master page built to incorporate custom navigation
    component
  • Two Master pages created
  • Base application master page
  • Mobile access master page
  • Focus in both scenarios is easy access to data
  • Easy to use filtering
User Interface
User Interface                                  Navigation

  •   Navigation broken in to two sections
  •   Top Navigation
  •   Designed to provide static links to the application
  •   Utilizes the out of the box top navigation provider
  •   Allows a site administrator to customize using the
      OOTB administration for top navigation
User Interface                                 Navigation

  •   Left Navigation
  •   Designed to provide control to content filtering
  •   Custom navigation provider
  •   Configured using a SharePoint list
  •   Reads data from Taxonomy fields to generate
      navigation filters
User Interface                                 Grid View

  • Grid view is the primary content display
  • Uses an Enhanced Content By Query web part to
    display uploaded content
  • Display is generated using XSL style sheets applied to
    the content type meta-data
  • Integrated filtering, sorting and paging support
User Interface                           Podcast Series

  • Series page is a Publishing page template
  • Design allows user controlled content “landing pages”
  • Uploaded content is categorized (or flagged) as part of
    a Series
  • Allows the “content owner” to use standard SharePoint
    editorial tools and web parts
User Information                           Mobile View

 • Mobile View is a SharePoint ASPX page
   with its own master page
 • Design allows easy configuration of the
   mobile view
 • Mobile navigation is designed to help a
   mobile viewer easily find the most relevant
   information to them
 • Mobile grid view is based on the CBQ
 • Easy XSL configuration
 • Web part page (any web part can be
   added)
User Interface                                        RSS

  • Data is primarily displayed using the Content By Query
    (CBQ) web part
  • The CBQ web part can provide an RSS link to the
    results it displays
  • The solution customizes the RSS results to include
    custom media tags for Zune and iTunes
User Interface                                                                                                RSS - Schema

  <?xml version="1.0" encoding="utf-8"?>
   <rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
     <channel>
       <title>Podcast Homepage</title>
       <link>http://pksdemo1/_layouts/feed.aspx?xsl=2&amp;web=/&amp;page=ac5d9e14-e066-415f-bb6e-c74ea31025e2&amp;wp=8fa72896-fee5-4bf3
        -9bf3-811033641ef7</link>
       <description></description>
       <ttl>60</ttl>
       <item>
         <title>Ray Ozzie: Introducing Live Mesh</title>
         <link>http://mschnlnine.vo.llnwd.net/d1/ch9/0/RayOzzieLiveMesh_2MB_ch9.wmv</link>
         <description>In his first Channel9 interview, Ray Ozzie, Microsoft's Chief Software Architect sits down with Jon Udell to talk about Live Mesh, a new
        technology and platform that enables synchronization and storage to the cloud; You'll hear about the history of Live Mesh, how it has been
        influenced by Ray's previous work on products like Groove and Lotus Notes. Ray also discusses the core technology that forms the basis for Live
        Mesh including REST APIs, XML, and synchronization APIs that enable you sync your Mesh across multiple devices.</description>
         <pubDate>2008-07-16 00:00:00</pubDate>
         <author>Ray Ozzie</author>
         <itunes:summary>In his first Channel9 interview, Ray Ozzie, Microsoft's Chief Software Architect sits down with Jon Udell to talk about
        Live Mesh, a new technology and platform that enables synchronization and storage to the cloud. You'll hear about the history of Live
        Mesh, how it has been influenced by Ray's previous work on products like Groove and Lotus Notes. Ray also discusses the core technology
        that forms the basis for Live Mesh including REST APIs, XML, and synchronization APIs that enable you sync your Mesh across multiple
        devices.</itunes:summary>
         <category>livemesh</category>
         <itunes:category>livemesh</itunes:category>
         <itunes:explicit>No</itunes:explicit>
         <managingEditor></managingEditor>
         <itunes:author>Ray Ozzie</itunes:author>
         <itunes:duration>00:09:00</itunes:duration>
         <enclosure url="http://mschnlnine.vo.llnwd.net/d1/ch9/0/RayOzzieLiveMesh_2MB_ch9.wmv" length="0" type="video/x-ms-wmv" />
       </item>
     </channel>
   </rss>
User Interface                         Video Player

  • Silverlight 2 ASP.NET Extensions
  • Web Part supports playing
    internally and externally hosted
    content
  • Migrated to Silverlight 2
User Interface                         Customization

  • User Interface provides base templates for
    customization
  • Master page and XSLT style sheets can be used as
    provided or as a base for customization
  • Customization is primarily designed for site
    collection level, but it is possible at a SharePoint
    site level
  • The solution makes use of SharePoint storage for
    all components so any form of SharePoint
    customization could be substituted
  • Localization can be done mostly via XSLT updates.
   PKS Partner Projects
                                     Enhanced Filtering
Office Thumbnails



                                                     List View


                                   Now Playing…




In-Browser recording and editing
Join the PKS Partner Network
• Build you own feature on top of PKS!
  • Fork the code, publish it on codeplex.com


• Be rewarded

• Post your idea in the the codeplex
  discussions: www.codeplex.com/pks
Summary
• PKS is FREE

• Enable PodCasting in the Enterprise

• Download @ www.codeplex.com/pks

• Have Fun

• Thank you

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:135
posted:12/10/2013
language:Unknown
pages:36