did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9781932394498

RSS and Atom in Action; Building Applications with Blog Technologies

by Unknown
  • ISBN13:

    9781932394498

  • ISBN10:

    1932394494

  • Format: Trade Paper
  • Copyright: 2005-09-01
  • Publisher: Manning Publications
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $39.99

Summary

At heart, Blogs, Wikis, and Feeds in Action is a programming book. It relies on numerous examples in Java and C# to teach the reader how to parse Atom and RSS format newsfeeds, how to generate valid newsfeeds, how serve them efficiently, and how to automate blogging via web services based on the new Atom protocol and the older MetaWeblog API. The book shows how to develop a complete blog client library that readers can use in their own applications. The second half of the book is devoted to a dozen blog apps - small but immediately useful example applications based on blog, wiki, and newsfeed technologies.

Author Biography

Dave Johnson is an experienced software developer, technology enthusiast, and expert in blog technologies. He started blogging in 2002 using Java-based blogging software that he developed called Roller. Roller now drives the ground-breaking employee blogs at Sun Microsystems, is used by thousands of bloggers on JRoller.com and other sites, and is a successful open source project. Dave now works at Sun where developing Roller and promoting blog technologies is his full-time job.

Table of Contents

foreword xix
preface xxi
acknowledgments xxiii
about this book xxiv
PART 1 PROGRAMMING THE WRITABLE WEB
1(246)
What you need to know first
3(13)
What you need to know about Java or C#
4(1)
What you need to know about web development
5(1)
Web services
5(1)
Java web development
5(1)
C# web development
5(1)
Running scheduled tasks
6(1)
What you need to know about XML
6(1)
Java XML tools
6(1)
C# XML tools
6(1)
Blog technology terminology
7(1)
The components we'll use
8(2)
Blog application building blocks
8(2)
Organization of the book
10(4)
The Blogapps examples
14(1)
Summary
15(1)
New ways of collaborating
16(12)
Research blogging
17(3)
Status blogging
20(1)
Build blogging
21(1)
Blogging the business
22(3)
Nina's and Rangu's grand plan
25(2)
Summary
27(1)
Development kick-start
28(12)
Blog server setup
29(2)
The Blog Poster example
31(1)
Invoking Blog Poster
32(1)
Blog Poster for Java
32(3)
Running Blog Poster for Java
35(1)
Blog Poster for C#
35(4)
Running Blog Poster for C#
38(1)
Summary
39(1)
Under the hood
40(16)
Anatomy of a blog server
41(8)
Blog server data model
42(1)
Anatomy of a blog entry
43(2)
Users, privileges, and group blogs
45(1)
Blog server architecture
46(3)
Anatomy of a wiki server
49(3)
Wiki server data model
49(2)
Wiki server architecture
51(1)
Choosing a blog or wiki server
52(3)
Narrowing your choices
52(1)
Comparing blog and wiki servers
53(2)
Summary
55(1)
Newsfeed formats
56(23)
The birth of RSS
57(4)
RSS 0.91
57(2)
The elements of RSS 0.91
59(2)
The RDF fork: RSS 1.0
61(4)
The elements of RSS 1.0
62(1)
Extending RSS 1.0 with modules
63(2)
The simple fork: RSS 2.0
65(3)
The elements of RSS 2.0
65(2)
Enclosures and podcasting
67(1)
Extending RSS 2.0
67(1)
The nine incompatible versions of RSS
68(2)
The new standard: Atom
70(7)
Atom by example
70(1)
Atom common constructs
71(2)
The elements of Atom
73(1)
Atom identifiers
74(1)
The Atom content model
75(1)
Podcasting with Atom
76(1)
Summary
77(2)
How to parse newsfeeds
79(30)
The possibilities
80(1)
Parsing with an XML parser
81(10)
Parsing RSS 1.0
81(2)
Parsing RSS 2.0
83(3)
Parsing Atom
86(5)
Parsing with a newsfeed library
91(6)
The Universal Feed Parser for Python
91(1)
The ROME newsfeed utilities
92(1)
Jakarta Feed Parser for Java
93(2)
The Windows RSS Platform
95(2)
Developing a newsfeed parser
97(7)
AnyFeedParser for Java
98(6)
Fetching newsfeeds efficiently
104(4)
HTTP conditional GET
104(2)
Other techniques
106(2)
Summary
108(1)
The Windows RSS Platform
109(31)
Windows RSS Platform overview
110(7)
Browse, search, and subscribe with IE7
111(2)
Components of the Windows RSS Platform
113(4)
Managing subscriptions with the Common Feed List
117(7)
Getting started with the Common Feed List
117(3)
Creating subscriptions
120(1)
Monitoring events
121(3)
Parsing newsfeeds with the Feeds API
124(6)
A simple newsfeed parsing example
125(1)
Parsing extension elements and funky RSS
126(4)
Windows RSS Platform newsfeed extensions
130(9)
Common Feed (CF) extensions
131(3)
Simple List Extensions (SLE)
134(2)
Simple Sharing Extensions (SSE)
136(3)
Summary
139(1)
The ROME newsfeed utilities
140(37)
Introducing ROME
141(7)
How ROME works
142(4)
ROME limitations
146(1)
The ROME subprojects
146(2)
Parsing newsfeeds with ROME
148(10)
Parsing to the SyndFeed model
148(2)
Parsing funky RSS
150(2)
Parsing to the RSS model
152(2)
Parsing to the Atom model
154(4)
Fetching newsfeeds with ROME
158(3)
How the ROME Fetcher works
158(1)
Using the ROME Fetcher
159(2)
Generating newsfeeds with ROME
161(2)
Extending ROME
163(13)
The ROME plug-in architecture
164(2)
Adding new modules to ROME
166(5)
Overriding ROME
171(5)
Summary
176(1)
How to serve newsfeeds
177(29)
The possibilities
178(1)
The basics
179(6)
Which newsfeed formats to support?
179(1)
How to indicate newsfeeds are available?
179(2)
Static or dynamic?
181(1)
Which generator?
182(1)
Ensuring well-formed XML
182(1)
Validating newsfeeds
183(2)
File Depot examples
185(1)
Generating newsfeeds with Java
186(6)
Implementing the File Depot in Java
186(1)
Generating the File Depot newsfeed in Java
187(3)
Serving the File Depot newsfeed in Java
190(2)
Generating newsfeeds with C#
192(5)
Implementing the File Depot in C#
193(1)
Generating the File Depot newsfeed in C#
193(3)
Serving the File Depot newsfeed with C#
196(1)
Serving newsfeeds efficiently
197(8)
Server-side caching
197(1)
Web proxy caching
198(1)
Client-side caching
199(1)
Compression
199(1)
Caching and compression in a Java web application
199(3)
Caching and compression in a C# Web application
202(3)
Summary
205(1)
Publishing with XML-RPC based APIs
206(21)
Why XML-RPC?
207(3)
Making a method call
207(3)
The Blogger API
210(1)
The MetaWeblog API
211(2)
The same metadata as RSS
211(1)
Six new methods that complement the Blogger API
212(1)
Building a blog client with C# and XML-RPC
213(11)
Why a blog client library?
213(1)
Three blog client library interfaces
214(3)
Implementing the blog client library in C#
217(7)
Using the blog client library
224(1)
Summary
225(2)
Publishing with Atom
227(20)
Why Atom?
228(1)
Why not XML-RPC or SOAP?
228(1)
How Atom protocol works
229(11)
Discovery and collections
229(1)
Atom protocol from the command line
230(1)
Discovering Atom resources and services
231(4)
Posting and updating blog entries
235(3)
Posting and updating media files
238(2)
Building a blog client with Atom protocol
240(6)
Atom does more
240(2)
Expanding the blog client interfaces
242(2)
Atom blog client implementation
244(1)
Atom blog client in action
245(1)
Summary
246(1)
PART 2 BLOG APPS
247(114)
Creating a group blog via aggregation
249(12)
Introducing Planet Tool
250(1)
Configuring Planet Tool
251(2)
Creating templates for Planet Tool
253(3)
Running Planet Tool
256(1)
Planet Tool object reference
256(3)
Under the hood
259(1)
Summary
260(1)
Searching and monitoring the Web
261(17)
Technorati.com: Conversation search engine
262(3)
Subscribing to Technorati watchlists
264(1)
Monitoring tags with Technorati
264(1)
The Technorati API
265(6)
Getting a Technorati API key
266(1)
Calling the Technorati API
266(5)
Other blog search services
271(3)
Open Search: The future of search?
274(2)
Open Search description format
274(1)
Open Search result elements
275(1)
Why Open Search?
276(1)
Summary
276(2)
Keeping your blog in sync
278(8)
Designing Cross Poster for C#
279(1)
Design limitations
280(1)
Configuring Cross Poster for C#
280(1)
The code for Cross Poster for C#
281(4)
Running Cross Poster for C# and Java
285(1)
Summary
285(1)
Blog by sending email
286(6)
Designing Mail Blogger for C#
287(1)
Configuring Mail Blogger for C#
287(1)
The code for Mail Blogger for C#
288(3)
Running Mail Blogger for C# and Java
291(1)
Summary
291(1)
Sending a daily blog digest by email
292(7)
Designing Blog Digest for C#
293(1)
Design limitations
293(1)
Configuring Blog Digest for C#
293(1)
The code for Blog Digest for C#
294(4)
Running Blog Digest for C# and Java
298(1)
Summary
298(1)
Blog your software build process
299(10)
Blogging from Ant
300(8)
Base blog task
301(3)
Post blog entry task
304(2)
Post blog resource task
306(2)
Summary
308(1)
Blog from a chat room
309(11)
A wiki-blogging chatbot
310(9)
Chat Blogger design
310(1)
Chat Blogger guidelines
311(1)
Chat Blogger configuration
312(1)
Chat Blogger construction
313(1)
Chat Blogger implementation
314(4)
Running Chat Blogger
318(1)
Summary
319(1)
Distribute files podcast style
320(13)
Designing FileCaster
321(2)
The podcast server
322(1)
Implementing FileCaster
323(2)
FileCaster upload page
325(5)
FileCaster newsfeed
330(2)
Running FileCaster
332(1)
Room for improvement
332(1)
Summary
332(1)
Automatically download podcasts
333(7)
Designing FileCatcher
334(1)
Implementing FileCatcher
335(3)
Running FileCatcher for C#
338(1)
Summary
339(1)
Automatically validate newsfeeds
340(7)
Getting started
341(1)
Setting up Python
341(1)
Setting up Feed Validator
341(1)
Implementing auto-validator
342(2)
Running auto-validator
344(2)
Using Windows Scheduled Tasks
345(1)
Using UNIX cron
346(1)
Summary
346(1)
The best of the rest
347(14)
Monitor anything
348(3)
Monitor the weather
348(1)
Shop with your newsfeed reader
349(1)
Use newsfeeds to monitor eBay auctions
350(1)
Monitor upcoming events via calendar newsfeeds
350(1)
Turn mailing lists into newsfeeds
351(1)
Syndicate everything
351(2)
Syndicate operating system and network events
352(1)
Syndicate vehicle status
352(1)
Syndicate your logs
352(1)
Tag the Web
353(2)
Create a tagged link blog with del.icio.us
353(1)
Create a tagged photo blog with Flickr.com
353(1)
Tag your blog entries with Technorati Tags
354(1)
Geotag the Web
354(1)
Aggregate yourself
355(1)
Create an aggregated blog with Planet Tool
355(1)
Mix your own newsfeeds with Feedburner.com
356(1)
Get the word out
356(1)
Bring your bloggers together with aggregation
356(1)
Bring bloggers together with tagging
356(1)
Track news and blogs to find the conversations
357(1)
Open up your web site
357(1)
Open up your site with newsfeeds, protocols, and tagging
357(1)
Syndicate your search results with A9 Open Search
357(1)
Build your own intranet blogosphere
358(1)
Unite internal communities with aggregation
358(1)
Build a folksonomy of your intranet
358(1)
Blog your software project
358(2)
Use newsfeeds to syndicate source code changes
359(1)
Pull software documentation from a wiki
359(1)
Summary
360(1)
index 361

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program