using the rss platform on windows: syndication goes mainstream
Post on 18-Jul-2015
324 Views
Preview:
TRANSCRIPT
Using The RSS Platform Using The RSS Platform On WindowsOn WindowsSyndication goes mainstreamSyndication goes mainstream
Walter vonKochWalter vonKochProgram ManagerProgram ManagerRSS / Internet ExplorerRSS / Internet ExplorerMicrosoft CorporationMicrosoft Corporation
BTB033BTB033
RSSRSS AtomAtom
FeedsFeeds
RSSify Now RSSify Now
RSS enable your site (feed discovery)RSS enable your site (feed discovery)
Enrich your feed with Sort & Filter tagsEnrich your feed with Sort & Filter tags
Expose ListsExpose Lists
Best practicesBest practices
IE7 Feed ViewIE7 Feed View
DiscoveryDiscoverySorting and FilteringSorting and FilteringListsLists
Feed DiscoveryFeed Discovery
Discovery of feeds on web pagesDiscovery of feeds on web pages<html><html>
<<headhead>>
<title>Hello World Page</title><title>Hello World Page</title>
<link rel="alternate" type="application/rss+xml"title="The Hello World RSS feed" href="HelloWorld.xml"/>
</head></head>
<body><body>
<h1>Hello, World</h1><h1>Hello, World</h1>
</body></body>
</html></html>
Publisher DefinedPublisher DefinedSorting And GroupingSorting And Grouping<channel> <cf:listinfo> <cf:sort ns="urn:my" label="Buy It Now price"
element="BuyItNowPrice" data-type="number" default="no“/>
<cf:sort ns="urn:my" label="Current auction price" element="CurrentPrice" data-type="number" default="no“/>
<cf:sort ns="urn:my" label="Listing end time" element="EndTime" data-type="date" default="no“/>
<cf:sort ns="urn:my" label="Number of bids" element="BidCount" data-type="number" default="no“/>
<cf:group ns="urn:my" label="listing format" element="AuctionType“/>
<cf:group ns="urn:my" label="option" element="ItemCharacteristic“/>
<cf:group ns="urn:my" label="listing category" element="Category“/>
</cf:listinfo>
ListsLists
List semanticList semanticOrder mattersOrder matters
Complete set of itemsComplete set of items
<channel>
<cf:treatas>list</cf:treatas>
…
RSS Best PracticesRSS Best Practices
When publishing feeds rememberWhen publishing feeds remember
<guid> prevents duplicate items<guid> prevents duplicate items
<pubDate> to have predictable sorting<pubDate> to have predictable sorting
<title> lets users scan for what to read<title> lets users scan for what to read
Emit well-formed XML including Emit well-formed XML including contentcontent
Choose the feed format that you want; Choose the feed format that you want; but choose only onebut choose only one
Windows RSS PlatformWindows RSS Platform
RSS PlatformRSS Platform
Background DownloadBackground Download
Security PrinciplesSecurity Principles
API & Object ModelAPI & Object Model
Managed CodeManaged Code
Mix Session CalendarMix Session Calendar
Windows RSS PlatformWindows RSS Platform
DownloadDownloadEngineEngine
RSS 0.9xRSS 0.9xRSS 1.0RSS 1.0RSS 2.0RSS 2.0
AtomAtom
BrowsersBrowsers PhotosPhotos ContactsContacts ……
NewsNews BlogsBlogs PhotosPhotos AudioAudio CalendarsCalendars ListsLists ……
MergeMergeProcessorProcessor
CommonFeedlist
Items Enclosures
RSS Object ModelRSS Object Model
StoreStore
ServiceService
APIAPI
Background DownloadBackground Download
Scheduled Background DownloadScheduled Background DownloadConditional GET & Delta encodingConditional GET & Delta encoding
Throttled RequestsThrottled Requests
““Salted” SchedulingSalted” Scheduling
Exponential back offExponential back off
<ttl> aware<ttl> aware
Enclosure DownloadEnclosure DownloadUsing BITS (HTTP RANGE requests)Using BITS (HTTP RANGE requests)
RSS Platform SecurityRSS Platform Security
Share lessons from email and web-browsersShare lessons from email and web-browsersDon’t trust the source Don’t trust the source
Don’t trust the contentDon’t trust the content
Don’t trust the enclosuresDon’t trust the enclosures
Make downloaded locations hard to guessMake downloaded locations hard to guess
Defense in depthDefense in depth
RSS-specificRSS-specificExplicit subscription listExplicit subscription list
Err on the side of strictErr on the side of strict
Validate and Sanitize feed contentValidate and Sanitize feed content
No executable enclosuresNo executable enclosures
RSS Platform APIRSS Platform API
COM APICOM API
- Automation (IFeed…)- Automation (IFeed…)
- Early-bound (IXFeed…)- Early-bound (IXFeed…)
Not safe-for-scriptingNot safe-for-scripting
FeedsManagerFeedsManager
FeedFeed
FeedFolderFeedFolder
FeedItemFeedItem
FeedEnclosureFeedEnclosure
FolderEventsFolderEvents
FeedEventsFeedEvents
Object ModelObject Model
Managed CodeManaged Code
API designed based on .NET Framework API designed based on .NET Framework Design Guidelines Design Guidelines
Type library importer (TLBIMP) to create Type library importer (TLBIMP) to create managed wrappersmanaged wrappers
RSS AppsRSS Apps
Mix06 Session CalendarMix06 Session Calendar
Feeding The CalendarFeeding The Calendar<rss version="2.0“<rss version="2.0“ xmlns:xmlns:mseventsmsevents="http://content.mix06.com/rss/msevents/1.0">="http://content.mix06.com/rss/msevents/1.0">
<<itemitem>> <<titletitle>Using the RSS Platform on Windows>Using the RSS Platform on Windows </> </> <<descriptiondescription>Discover how to easily add support >Discover how to easily add support … </>… </> <<guidguid isPermaLink="true">http://content.mix06.co isPermaLink="true">http://content.mix06.co … </> … </> <link>http://content.mix06.com/content/SessionVi<link>http://content.mix06.com/content/SessionVi … </> … </> <pubDate>Wed, 25 Jan 2006 16:01:06 GMT</><pubDate>Wed, 25 Jan 2006 16:01:06 GMT</> <msevents:track>Beyond The Browser <msevents:track>Beyond The Browser </></> <msevents:<msevents:locationlocation>Palazzo Ballroom E-L >Palazzo Ballroom E-L </></> <msevents:<msevents:sessionstartIsosessionstartIso>2006-03-22T08:30:00-08:00 >2006-03-22T08:30:00-08:00 </></> <msevents:<msevents:sessionendIsosessionendIso>2006-03-22T09:45:00-08:00 >2006-03-22T09:45:00-08:00 </></> <msevents:sessionspeaker>Greg Reinacker <msevents:sessionspeaker>Greg Reinacker </></> <msevents:sessionspeaker>Walter VonKoch <msevents:sessionspeaker>Walter VonKoch </></>
Applications And RSSApplications And RSS
Integrate RSS PlatformIntegrate RSS Platform
RSS EcosystemRSS Ecosystem
Integrate RSS PlatformIntegrate RSS Platform
Application IntegrationApplication IntegrationCommon Feed List Common Feed List
Download Engine Download Engine
Feed Store and EnclosuresFeed Store and Enclosures
Service IntegrationService IntegrationCommon Feed ListCommon Feed List
Read/Unread stateRead/Unread state
RSS EcosystemRSS Ecosystem
RSS PlatformRSS Platform
Online Services Online Services
NewsNews BlogsBlogs PhotosPhotos AudioAudio CalendarsCalendars ListsLists ……
PhotosPhotos ContactsContacts ……BrowsersBrowsers PhotosPhotos ContactsContactsOnlineOnline
““Plug-in”Plug-in”
MobileMobile MacMac BrowsersBrowsers ……
Greg Reinacker Greg Reinacker CTO and FounderCTO and FounderNewsGator TechnologiesNewsGator Technologies
Service IntegrationService Integration
NewsGator Online integration NewsGator Online integration with Windows RSS Platformwith Windows RSS Platform
NewsGator Online SyncNewsGator Online Sync
Extends feed-reading experience Extends feed-reading experience beyond one PCbeyond one PC
Mac OS X, MCE, Mobile, Third PartiesMac OS X, MCE, Mobile, Third Parties
Synchronizes Synchronizes Common Feed ListCommon Feed List
Read/Unread stateRead/Unread state
Leverages strengths of RSS PlatformLeverages strengths of RSS Platform
Instant integration with all RSS Instant integration with all RSS Platform based clientsPlatform based clients
Call To ActionCall To Action
RSS enable your site todayRSS enable your site today
Follow RSS best practicesFollow RSS best practices
Support HTTP Range requests for Support HTTP Range requests for enclosuresenclosures
Emit more then just text via RSSEmit more then just text via RSS
Target RSS-enabled appsTarget RSS-enabled apps
Participate in the RSS EcosystemParticipate in the RSS Ecosystem
Fill out session eval forms onlineFill out session eval forms online
Learn MoreLearn More
RSS blog RSS blog http://blogs.msdn.com/rssteam/http://blogs.msdn.com/rssteam/
MSDN documentation MSDN documentation http://msdn.microsoft.com/library/en-http://msdn.microsoft.com/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.aspus/feedsapi/rss/overviews/msfeeds_ovw.asp
Sandbox Hands-On Lab:Sandbox Hands-On Lab:LBTB300 - Extending RSS Technologies into Your LBTB300 - Extending RSS Technologies into Your Applications and Web SitesApplications and Web Sites
NewsGator API NewsGator API http://www.newsgator.com/ngs/apihttp://www.newsgator.com/ngs/api
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
top related