RSS and Atom in Action: Web 2.0 Building Blocks 9781932394498, 1932394494

RSS and Atom in Action is organized into two parts. The first part introduces the blog technologies of news feed formats

268 43 6MB

English Pages 397 Year 2006

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
RSS and Atom in Action......Page 1
foreword......Page 20
preface......Page 22
acknowledgments......Page 24
Who should read this book......Page 25
Author Online......Page 26
About the cover illustration......Page 27
Part 1 – Programming the writable web......Page 8
What you need to know first......Page 32
0.1 What you need to know about Java or C#......Page 33
0.2.3 C# web development......Page 34
0.3.2 C# XML tools......Page 35
0.4 Blog technology terminology......Page 36
0.5.1 Blog application building blocks......Page 37
0.6 Organization of the book......Page 39
0.7 The Blogapps examples......Page 43
0.8 Summary......Page 44
New ways of collaborating......Page 45
1.1 Research blogging......Page 46
1.2 Status blogging......Page 49
1.3 Build blogging......Page 50
1.4 Blogging the business......Page 51
1.5 Nina’s and Rangu’s grand plan......Page 54
1.6 Summary......Page 56
Development kick-start......Page 57
2.1 Blog server setup......Page 58
2.2 The Blog Poster example......Page 60
2.3 Blog Poster for Java......Page 61
2.4 Blog Poster for C#......Page 64
2.4.1 Running Blog Poster for C#......Page 67
2.5 Summary......Page 68
Under the hood......Page 69
3.1 Anatomy of a blog server......Page 70
3.1.1 Blog server data model......Page 71
3.1.2 Anatomy of a blog entry......Page 72
3.1.3 Users, privileges, and group blogs......Page 74
3.1.4 Blog server architecture......Page 75
3.2.1 Wiki server data model......Page 78
3.2.2 Wiki server architecture......Page 80
3.3.1 Narrowing your choices......Page 81
3.3.2 Comparing blog and wiki servers......Page 82
3.4 Summary......Page 84
Newsfeed formats......Page 85
4.1.1 RSS 0.91......Page 86
4.1.2 The elements of RSS 0.91......Page 88
4.2 The RDF fork: RSS 1.0......Page 90
4.2.1 The elements of RSS 1.0......Page 91
4.2.2 Extending RSS 1.0 with modules......Page 92
4.3.1 The elements of RSS 2.0......Page 94
4.3.3 Extending RSS 2.0......Page 96
4.4 The nine incompatible versions of RSS......Page 97
4.5.1 Atom by example......Page 99
4.5.2 Atom common constructs......Page 100
4.5.3 The elements of Atom......Page 102
4.5.4 Atom identifiers......Page 103
4.5.5 The Atom content model......Page 104
4.5.6 Podcasting with Atom......Page 105
4.6 Summary......Page 106
How to parse newsfeeds......Page 108
5.1 The possibilities......Page 109
5.2.1 Parsing RSS 1.0......Page 110
5.2.2 Parsing RSS 2.0......Page 112
5.2.3 Parsing Atom......Page 115
5.3.1 The Universal Feed Parser for Python......Page 120
5.3.2 The ROME newsfeed utilities......Page 121
5.3.3 Jakarta Feed Parser for Java......Page 122
5.3.4 The Windows RSS Platform......Page 124
5.4 Developing a newsfeed parser......Page 126
5.4.1 AnyFeedParser for Java......Page 127
5.5.1 HTTP conditional GET......Page 133
5.5.2 Other techniques......Page 135
5.6 Summary......Page 137
The Windows RSS Platform......Page 138
6.1 Windows RSS Platform overview......Page 139
6.1.1 Browse, search, and subscribe with IE7......Page 140
6.1.2 Components of the Windows RSS Platform......Page 142
6.2.1 Getting started with the Common Feed List......Page 146
6.2.2 Creating subscriptions......Page 149
6.2.3 Monitoring events......Page 150
6.3 Parsing newsfeeds with the Feeds API......Page 153
6.3.1 A simple newsfeed parsing example......Page 154
6.3.2 Parsing extension elements and funky RSS......Page 155
6.4 Windows RSS Platform newsfeed extensions......Page 159
6.4.1 Common Feed (CF) extensions......Page 160
6.4.2 Simple List Extensions (SLE)......Page 163
6.4.3 Simple Sharing Extensions (SSE)......Page 165
6.5 Summary......Page 168
The ROME newsfeed utilities......Page 169
7.1 Introducing ROME......Page 170
7.1.1 How ROME works......Page 171
7.1.3 The ROME subprojects......Page 175
7.2.1 Parsing to the SyndFeed model......Page 177
7.2.2 Parsing funky RSS......Page 179
7.2.3 Parsing to the RSS model......Page 181
7.2.4 Parsing to the Atom model......Page 183
7.3.1 How the ROME Fetcher works......Page 187
7.3.2 Using the ROME Fetcher......Page 188
7.4 Generating newsfeeds with ROME......Page 190
7.5 Extending ROME......Page 192
7.5.1 The ROME plug-in architecture......Page 193
7.5.2 Adding new modules to ROME......Page 195
7.5.3 Overriding ROME......Page 200
7.6 Summary......Page 205
How to serve newsfeeds......Page 206
8.1 The possibilities......Page 207
8.2.2 How to indicate newsfeeds are available?......Page 208
8.2.3 Static or dynamic?......Page 210
8.2.5 Ensuring well-formed XML......Page 211
8.2.6 Validating newsfeeds......Page 212
8.3 File Depot examples......Page 214
8.4.1 Implementing the File Depot in Java......Page 215
8.4.2 Generating the File Depot newsfeed in Java......Page 216
8.4.3 Serving the File Depot newsfeed in Java......Page 219
8.5 Generating newsfeeds with C#......Page 221
8.5.2 Generating the File Depot newsfeed in C#......Page 222
8.5.3 Serving the File Depot newsfeed with C#......Page 225
8.6.1 Server-side caching......Page 226
8.6.2 Web proxy caching......Page 227
8.6.5 Caching and compression in a Java web application......Page 228
8.6.6 Caching and compression in a C# Web application......Page 231
8.7 Summary......Page 234
Publishing with XML-RPC based APIs......Page 235
9.1.1 Making a method call......Page 236
9.2 The Blogger API......Page 239
9.3.1 The same metadata as RSS......Page 240
9.3.2 Six new methods that complement the Blogger API......Page 241
9.4.1 Why a blog client library?......Page 242
9.4.2 Three blog client library interfaces......Page 243
9.4.3 Implementing the blog client library in C#......Page 246
9.5 Using the blog client library......Page 253
9.6 Summary......Page 254
Publishing with Atom......Page 256
10.1.1 Why not XML-RPC or SOAP?......Page 257
10.2.1 Discovery and collections......Page 258
10.2.2 Atom protocol from the command line......Page 259
10.2.3 Discovering Atom resources and services......Page 260
10.2.4 Posting and updating blog entries......Page 264
10.2.5 Posting and updating media files......Page 267
10.3.1 Atom does more......Page 269
10.3.2 Expanding the blog client interfaces......Page 271
10.3.3 Atom blog client implementation......Page 273
10.3.4 Atom blog client in action......Page 274
10.4 Summary......Page 275
Part 2 – Blog apps......Page 9
Creating a group blog via aggregation......Page 278
11.1 Introducing Planet Tool......Page 279
11.2 Configuring Planet Tool......Page 280
11.3 Creating templates for Planet Tool......Page 282
11.5 Planet Tool object reference......Page 285
11.6 Under the hood......Page 288
11.7 Summary......Page 289
Searching and monitoring the Web......Page 290
12.1 Technorati.com: Conversation search engine......Page 291
12.1.2 Monitoring tags with Technorati......Page 293
12.2 The Technorati API......Page 294
12.2.2 Calling the Technorati API......Page 295
12.3 Other blog search services......Page 300
12.4.1 Open Search description format......Page 303
12.4.2 Open Search result elements......Page 304
12.5 Summary......Page 305
Keeping your blog in sync......Page 307
13.1 Designing Cross Poster for C#......Page 308
13.2 Configuring Cross Poster for C#......Page 309
13.3 The code for Cross Poster for C#......Page 310
13.5 Summary......Page 314
Blog by sending email......Page 315
14.2 Configuring Mail Blogger for C#......Page 316
14.3 The code for Mail Blogger for C#......Page 317
14.5 Summary......Page 320
Sending a daily blog digest by email......Page 321
15.2 Configuring Blog Digest for C#......Page 322
15.3 The code for Blog Digest for C#......Page 323
15.5 Summary......Page 327
Blog your software build process......Page 328
16.1 Blogging from Ant......Page 329
16.1.1 Base blog task......Page 330
16.1.2 Post blog entry task......Page 333
16.1.3 Post blog resource task......Page 335
16.2 Summary......Page 337
Blog from a chat room......Page 338
17.1.1 Chat Blogger design......Page 339
17.1.2 Chat Blogger guidelines......Page 340
17.1.3 Chat Blogger configuration......Page 341
17.1.4 Chat Blogger construction......Page 342
17.1.5 Chat Blogger implementation......Page 343
17.1.6 Running Chat Blogger......Page 347
17.2 Summary......Page 348
Distribute files podcast style......Page 349
18.1 Designing FileCaster......Page 350
18.1.1 The podcast server......Page 351
18.2 Implementing FileCaster......Page 352
18.3 FileCaster upload page......Page 354
18.4 FileCaster newsfeed......Page 359
18.7 Summary......Page 361
Automatically download podcasts......Page 362
19.1 Designing FileCatcher......Page 363
19.2 Implementing FileCatcher......Page 364
19.3 Running FileCatcher for C#......Page 367
19.4 Summary......Page 368
Automatically validate newsfeeds......Page 369
20.1.2 Setting up Feed Validator......Page 370
20.2 Implementing auto-validator......Page 371
20.3 Running auto-validator......Page 373
20.3.1 Using Windows Scheduled Tasks......Page 374
20.4 Summary......Page 375
The best of the rest......Page 376
21.1.1 Monitor the weather......Page 377
21.1.2 Shop with your newsfeed reader......Page 378
21.1.4 Monitor upcoming events via calendar newsfeeds......Page 379
21.2 Syndicate everything......Page 380
21.2.3 Syndicate your logs......Page 381
21.3.2 Create a tagged photo blog with Flickr.com......Page 382
21.3.4 Geotag the Web......Page 383
21.4.1 Create an aggregated blog with Planet Tool......Page 384
21.5.2 Bring bloggers together with tagging......Page 385
21.6.2 Syndicate your search results with A9 Open Search......Page 386
21.8 Blog your software project......Page 387
21.8.2 Pull software documentation from a wiki......Page 388
21.9 Summary......Page 389
A......Page 390
C......Page 391
G......Page 392
M......Page 393
P......Page 394
S......Page 395
W......Page 396
Z......Page 397

RSS and Atom in Action: Web 2.0 Building Blocks
 9781932394498, 1932394494

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Recommend Papers