Please DO Feed the Sites: Creating Outgoing Feeds December 3, 2006
Posted by ptvGuy. Comments: 5 comments…limited only by your imagination…
Are you tired of all the geek bullies kicking virtual sand in your face, flexing their apps, and getting all the URLs? Have you ever looked at your site on the monitor and wished that you too could bulk up like the big geeks? Well, now you can.
Presenting Outgoing RSS Feeds:
- They're quick.
- They're easy.
- They keep working even while you sleep.
- No special diet.
- No exercise.
Whatever your coding preference, we've got the plan for you. Whether you'd rather pop it right out of the bottle or create beautifully hand-crafted feeds we've got you covered. Order now, supplies are limited (only by your imagination.)
Sorry, folks, I just couldn't resist that.
Let's jump right into creating feeds for your site, but keep in mind that we aren't going to get into the actual coding of a hand-created feed until part five of this series. (This is part three in case you lost track.)
Converting HTML to RSS
…convert already existing HTML pages to RSS XML…
Basically, the fastest way to begin putting an RSS feed out from a standard website is to convert already existing HTML pages to RSS XML. This works especially well if you're already separating content like event announcements and program highlights into separate files and using SSIs to plug them into your page templates. However, some of the available tools will parse sections out of larger pages.
A good, free tool for this is the RSSxl Generator from WotZWot. This is a (seemingly permanent) beta application, so you might have to double-check the resulting XML. However, it does let you specify strings in your document that identify where the feed content starts and where individual RSS items and item descriptions are located.
XML:Wrench is another free tool. It's a fairly decent (if simple) XML editor that will convert HTML to XML. Even if you limit the source HTML document to nothing but the basic feed content, you'll still have to go through the code itself in the editor and do some cleanup.
The RSS Wizard is a fairly cheap solution from Extralabs Software that generates "the RSS feed out of virtually any web page without having to edit it first." That's the claim anyway. I say you're better off checking code out for yourself, but, then, I'm known to be somewhat anal about these things.
Fill-In-the-Blanks RSS Creation
…an RSS creation form is a good interim option…
A fill-in-the-blanks form solution for the quick creation of RSS feeds is a distinct possibility to get you started. This is a good interim option until you have something better in place. This type of tool is available as a stand-alone desktop application or through web applications on other sites.
FeedForAll has one of the best known tools for the dynamic creation of RSS feeds, and the software, although powerful, is very cheap. Another paid option is PRESSfeed which actively promotes the use of RSS feeds for press releases and other forms of marketing and includes social bookmarking aspects and a number of other services.
Go there for Sally Falkow’s blog on How to use RSS feeds in enterprise marketing and promotions if for no other reason.
…Newshour resource for the creation of station feeds…
The main fill-in-the-blanks solution I want to draw your attention to is a special resource created by the web team at ONIX specifically for the creation of station feeds. It seems that the folks at Newshour would like to see more stations syndicating their news content so that more local news can be picked up by the national Newshour site–especially local election coverage. Pretty smart of them, huh? The thing to remember about this web application from Newshour is that it will work for the creation of any RSS feed irregardless of its "newsworthiness." You simply enter the content directly into form fields, and it does the rest.
…podcasts require special code enclosures to be part of the feed…
There are a couple quick caveats worth noting with this service. First of all, there's a separate form to use if your feed will include podcasts. Podcasts require their own special code enclosures to be part of the feed, and, even though nearly any type of content can be syndicated by RSS, they've limited the content type to MP3s for this tool. Also, there's currently a bug that leaves empty image enclosures if you don't happen to include an image in your feed. This will probably be fixed at some point very soon.
Database-Driven Dynamic Feeds
…the power of a database to parse the same content into multiple formats…
The problem with all these non-database-driven methods is that the content is not truly dynamic. You'll have to add to, delete, or replace content in the feed file yourself item by item in order to keep it up to date. If it's also being used as site-based content like program highlights or events, then you'll end up having to create the content twice, once in HTML for your site and once in XML for your feed. You lose the power of a database to parse the same content into multiple formats and put it where it belongs on its own.
The best method for feed generation is the adaptation of an open-source CMS tool like Drupal or Joomla to do the job for you. RSS feed syndication is built in. This will allow for the running of the site along with simultaneous feed management. Some have even had success with adapting blogging tools like Movable Type and WordPress for use as a CMS.
…a guide to using WordPress as a CMS…
Ang Zhuu Ming over at blogHelper has written a pretty comprehensive guide to the ins and outs of using WordPress as a CMS if you're thinking along those lines. Also, Ross Johnson over at 3.7 Designs has recommended five plugins that will help to turn WordPress into a CMS. [Just a sidenote while you’re there, check out Ross’s feed promotion at the top of his blog. Now that’s a clear call to action.]
A good station example of using Movable Type as a station CMS can be seen at WTIU's website, though I'm surprised to see that they still aren't making use of the inherent RSS capabilities. You might want to check out my previous article, Movable Type: An Interview with Angela Jordan of WTIU, for more information about how to get that set up.
Leveraging Your Feed
…don't miss the opportunity to push your membership reminders…
It's all well and good that we're offering our station website content for syndication, but don't miss the opportunity to push your membership/support reminders. As far as I'm concerned, the station membership page should never be more than one click away from anything related to a station's website–including the RSS feed. By subscribing to your feed, users are showing that they appreciate your efforts to keep them informed of site updates and station news. There's absolutely nothing wrong with politely reminding them that this too takes time and money and is publicly supported.
Another thing to keep in mind is good titling and content. Make sure that you pick some kind of title (preferably a catchy one) for each item in your feed. That can get tricky sometimes, but it's worth it to the end user who's feed reader is limited to just titles. Catchy content description is worth some effort here too since the idea is to engage the user quickly and make them want to see more.
Playing Nice With RSS
…usage of HTML within an RSS feed must be limited…
Before I go any further in this, let me clarify something right quick. Although RSS tends to be pretty "stretchable" and certain de facto standards and practices have successfully crept into common usage, the actual specification doesn't allow for much of what is being done with it. That is changing though.
The usage of HTML within an RSS feed must be limited to what is absolutely necessary. That does not include any kind of formatting. Even the kind of CDATA embedded hyperlink that I'll be getting to in Part 5 as we "hand-code" an actual feed is only necessary until some kind of source-type sub-element of the description element is added to the specification. [NOTE: I am aware that entity-encoded HTML is allowable in the description, but I'm trying to keep this as simple as possible here.]
…only plain-text is allowable in the title…
Nothing but plain-text is allowable in the title. It cannot include a hyperlink because it is, in and of itself, a hyperlink back to the source page. Also, keep in mind that RSS feeds are designed to be read outside of your site, so relative URLs may not work; every link should be a complete, direct URL address.
…relative URLs may not work…
One other thing here is the question of how to handle multiple feeds such as station news, program highlights, and community events. The very simple answer is to create multiple feed files. Each can have a separate name with either an RSS or XML extension (though I recommend the latter.) You can place them all in your root directory, in a "feed" subdirectory (and this is my recommendation,) or in a subdirectory related to the content. Choose names with some semantic meaning to make them somewhat human-readable.
Putting the Feed Out
…breaking some new ground for even seasoned RSS users…
Strangely enough, this is the point in the discussion where I will probably begin breaking some new ground for even seasoned RSS users. I say that because there are quite a few stations (and even PBS itself) that are clearly getting the necessity of creating RSS feeds and have, in some form or another, done all the steps I've listed up to this point and then just stopped there as if they were done. There's more to it then just putting an RSS link icon or text in the body of your pages to notify users that you have RSS feeds. They're failing to make use of RSS auto-discovery, and they don't actively promote their feeds.
RSS Auto-Discovery
…RSS auto-discovery is a very widely ignored resource…
RSS auto-discovery is not a new feature of RSS. (In fact, it's not even limited to RSS.) Yet it's a very widely ignored resource. This is one of the more powerful aspects of RSS that's helping to bring it into the mainstream. Not only are many feed aggregators, news readers, and search engines actively hunting this for content, but it's what makes the feed icon in Firefox and IE7 and other browsers that support it pop into life and draw users into subscribing right through their browser.
Trust me when I say, "You definitely want this on your site."
Once you have your RSS file created, you then place an auto-discovery LINK tag for each of your feeds in the head section of your site pages. It looks like the code below, only edited for the correct path and title of your content:
<link rel="alternate" type="application/rss+xml" title="A Title of Your Choice" href="http://www.station.org/url/to/rss/file">
RSS Promotion
…you need to promote the use of your feed…
Placing a visible link to your RSS feeds on your pages will get you subscribers–and it is vitally important that you have this displayed prominently–but feed syndication doesn't end there any more than television syndication ends in the producer's office. You gotta get the word out. You have to notify the various feed directories like syndic8 that you have a feed. You need to promote the use of your feed not only as a convenience but as content for other sites.
One of the more interesting aspects of RSS syndication is that your content can be included in other sites complete with your links back to your site. This is good to encourage among school and community event sites in your viewing area (and almost any other site that you can talk into doing this) as it spreads not only your station's brand, identity, content, and events to a wider audience, it also spreads your membership/support reminders.
Another good free tool to help in the management, promotion, and monetization of your feed is FeedBurner. This will give you numerous tools to monitor and accessorize your feed.
Some Final Words
…content syndication should be an important part of online membership recruitment…
If it seems to you that I've been harping on the station membership/support aspects of this, then maybe you're actually getting the point I'm trying to make here. Web content syndication should be an important part of not only your station's web presence, but its online membership recruitment and marketing. Nonprofit does not mean that you should ignore potential revenue sources. If anything, it means that you should jump at all of them–especially the ones that have been made so incredibly easy for you.
Let me run through it again here because it's so vitally important:
- Syndicate your content with RSS web feeds.
- Leverage your feeds with station membership/support reminders.
- Promote your feeds.
Say that over and over again, make it your mantra, and get to work.
Thank you all, code well, and good night.
- << First
- < Previous
- Please DO Feed the Sites
- Next >
- Last >>
Movable Type: An Interview with Angela Jordan of WTIU May 26, 2006
Posted by ptvGuy. Comments: 2 comments
For any of you that may not be familiar with it, Movable Type is a blogging tool–one of the first, in fact–used to run a blogging website. Therefore, I was rather surprised recently to stumble across it "powering" a public television station website, specifically WTIU in Indiana. So, I contacted their web developer, Angela Jordan, and asked her if she wouldn't mind answering a few questions for all of us about the use of Movable Type to power her station's website. She agreed, and, frankly, it's always good to yield the floor to someone smarter than me.
-
ptvGuy
-
Hi, Angela, and thank you for agreeing to talk to us.
-
-
Angela Jordan
Hi Tim, I'm happy to get the chance to discuss this with you.
-
ptvGuy
-
Well, as you know, the main reason I asked to talk to you was to find out more about your use of Movable Type, essentially a blogging tool, to power your station's website. Frankly, it's an idea that just never even occurred to me, and yet it's obviously working for your site–which looks great, by the way.
-
-
Angela Jordan
Thanks. The site layout is done entirely with CSS–no tables are used–so maybe that's another conversation some time if you're interested. Movable Type certainly IS a blogging tool, and that's how I first learned about it (when I set up my own blog in 2003) but, as many people have recognized, it's certainly not ONLY a blogging tool. It didn't take long to see that the software was really a powerful, and, at that time, completely free Content Management System (which, of course, is all that blogging tools really are anyway, a simple interface for getting your content onto the web.) I started imagining the possibilities and thinking "What if…?" mostly because I was spending an inordinate amount of my time as the sole web developer/designer/coder/editor at our station simply keeping the content fresh. I felt like if I could reclaim some of that time, I could spend more hours on Information Architecture, design, new features…
-
ptvGuy
-
So, how much of your site is actually being driven by Movable Type? I mean, I can see from the code that your pages are put together by Dreamweaver, so I guess that what I'm asking is how much of the content that a user sees from page to page is fed there dynamically by Movable Type, and how much are you coding into the pages in the more traditional sense to be included?
-
-
Angela Jordan
I should say that I USED to use Dreamweaver and its great templating system to edit the site (which, no doubt, lingers in some legacy code–you're probably looking at some JavaScript) but, after I started using Movable Type, I switched to BBEdit. (I'm a Mac person.) It was because it was just easier. I've always written my own code anyway, so the feature-rich environment of Dreamweaver eventually became kind of a clunky hindrance. BBEdit was just cleaner and much easier to use.
Anyway, Movable Type uses templates as well, and ALL of the pages on our station site (with the exception of our membership form and online store which have to reside in the secure part of the site) exist in templates in Movable Type. Movable Type comes with a variety of HTML templates for basic pages that conventional bloggers might use, but you're not limited to using what they provide. You can write your own templates, creating whatever designs and types of pages that you wish, and then the content gets plugged into the pages by using Movable Type tags. They're not dissimilar to HTML, so it wasn't particularly hard for me to pick them up, and basically are used to indicate to the software what data or content gets pulled into your pages.
So, when I wanted to create our site in Movable Type, I had to decide what content would need frequent or occasional refreshing. That content became the "entries," and most of the rest of the page–the layout and any evergreen content–got written into the templates.
So, your short answer is that most of the text in the main content areas of our pages exists in entries that can be edited. The header and footer and other features used on multiple pages also reside in modules (much like includes) that the templates use to write the pages. So, if there's a sitewide change, only one edit is required.
Also, I should point out that although Movable Type does now have the ability to write pages dynamically, we don't use that feature. We use a more "conventional" implementation where the program rewrites static pages when, for example, new content is added. Use of dynamic pages can cause heavier loads on your server, so you may want to avoid that.
-
ptvGuy
-
So, can you tell us more about getting such a system set up initially and what it takes to get content into it and back out of it onto the pages of your site?
-
-
Angela Jordan
I actually installed Movable Type onto our server myself, which is not a requirement. You can pay Movable Type–I can't remember how much–to do the installation for you, but, of course, it saves a little bit if you can do it yourself. I might have been more daunted if I hadn't done it before for my own site, but, after having done it a few times now, I think it's fairly straightforward.
One problem for us is that our site resides on an Indiana University server, and they don't exactly provide the same level of support that say, a good commercial hosting company might. You have to have one of several databases–we use MySQL–and the support for the MySQL accounts at Indiana University is something like one person for the entire campus, so practically nil. So I pretty much had to figure that out on my own. Again, ultimately not a big deal, but when you don't know what you're getting into it can be frustrating.
Undoubtedly, the most time-consuming aspect of converting a site from hard-coded pages into Movable Type is working out a meaningful scheme for understanding and organizing the types of content you have on your site. The great thing, though, is that if you spend the time working on that at the beginning, it will pay off for you once you're using the system. No doubt, there will be some tweaks to make after implementation–there certainly were for ours–but that's to be expected.
Our site is made up of eight separate "blogs," but I refer to them as "content areas." They're divided by topic into "Site Files," "Community Calendar," "News," "Program Promotion," "Station Promotion," "Membership and Development," "Families and Education," and "The Weekly Special" which is a program site for one of our shows.
Using this system, once it's in place, is pretty simple. A user logs in to whatever content area they want to add or edit material for, creates an entry, saves it, and rebuilds the relevant pages, and the new content is pushed out to our site. You can also schedule publication for the future, so, say you have an entire month's worth of program promotions you want to enter at one time, you can just schedule publication for whatever days and times you want to refresh your content.
-
ptvGuy
-
So, are there any surprises we should know about or any rough points where you just had to do some serious code juggling for a workaround?
-
-
Angela Jordan
For the most part, no. For people who are using Movable Type as a Content Management System though (as opposed to conventional bloggers) and creating their own templates and adding the Movable Type tags to them, you do have to have a pretty good understanding of the way the system works. It takes a little study to acquire a vocabulary of tags so that you can easily know what tags you will need to use to get a particular bit of content onto your page.
I have used a lot of plugins throughout the system too, and you do have to do some poking around to see what plugins will be appropriate for what you want to do. Plugins are a great aspect of Movable Type. They're little programs that add to or extend the way Movable Type can manipulate your data, and they're all developed by the Movable Type user community and made available, almost always for free, at the Movable Type Plugins Directory. Usually, if there's something you think of that you want to do on your site, someone will have created a plugin for it.
For anyone who's curious, I have used "ArchiveAnyway," "Compare," "ExcludeCategories," "FilterCategories," "Glue," "MT KeyValues," "MultiBlog," "SmartBody," "SmartyPants," "SomeDays," and "Textile."
-
ptvGuy
-
You know, perhaps I'm missing it, but I'm rather surprised to see that your site doesn't make more use of RSS feeds of your content. I mean, with Movable Type in place, you ought to be able to feed out your headlines and program highlights pretty easily.
-
-
Angela Jordan
I'm glad you asked about that. RSS is built into Movable Type, so it's easy to implement. When I first built the site in Movable Type, RSS hadn't made it to the public broadcasting community yet, and, I have to admit, I wasn't exactly an early adopter myself, so I didn't build it into our site. But we're going to be adding RSS for our news stories, and video podcasts of our news broadcasts and weekly magazine program.
Of course, by now RSS and podcasts have made their way onto the PBS and NPR home pages, so more and more users are becoming familiar with what they are. I'm sure the demand will grow.
-
ptvGuy
-
You know, just a side question now that I'm thinking about it, did you ever consider any of the other blogging engines like WordPress to run your site?
-
-
Angela Jordan
I didn't, just because I hadn’t used them, though I've certainly read good things about WordPress and TextPattern in particular. But, honestly, because Movable Type has been around longer, I think the user community can’t be beat. The developer community is constantly creating plugins and thinking up new ways to use the software.
-
ptvGuy
-
So, what level of coding or web design ability would you say is necessary to implement Movable Type initially and then to maintain it once it's in place?
-
-
Angela Jordan
That depends on just what you want to do with it, though I will say it's not a project for beginners! To do what I did, in addition to having a good understanding of HTML coding, you would want to have a basic ability to work with files on your server and the ability to set up the database you need (or someone who can do that for you.)
It definitely would help to have an inkling of Perl, but that's not required. You don't have to write any code. I had one class in Perl which I didn't finish, and that is the entire extent of my Perl coding knowledge.
Really, you just need to be comfortable working with computers because you can find directions for almost anything you need to do. And if you pay for installation, then you need to do even less. However, if you're a Perl coder and you want to play around you can get involved with the Movable Type developer community and write your own plugins. You could even end up creating something that's useful to many users in the Movable Type community.
-
ptvGuy
-
So, is Movable Type an option that you'd recommend to other stations?
-
-
Angela Jordan
Yes, though it's definitely not for everyone. If you have the time to devote to the implementation, and if you have the skills to do the coding, and you have the desire to take some of the maintenance load off your shoulders, then I would definitely look into it.
-
ptvGuy
-
Well, is there anything else that we should know about Movable Type or anything else that you'd like to share with us before we close here?
-
-
Angela Jordan
One thing we haven't talked about is the ability of a Content Management System to allow multiple users to add and edit content, and thus relocate some of the responsibility for creating and maintaining content onto other staff at your station, which is exactly what we did.
Ultimately, part of the impetus for doing this was that I had a baby and took a three-month maternity leave, and having Movable Type in place before I left enabled station staff to keep site content up to date without having to hire someone to fill in for me while I was gone. This is not to say that things went entirely smoothly in my absence, and I did have a bit of damage control to do when I returned, but it did work. And, after I returned to work full time, the staff who'd become, in effect, web editors, continued on in that capacity, and I worked on other projects and other aspects of the site including the current layout and design. As it turned out, I eventually left my job as a full-time employee and am now working part-time from home, still the only web staffer at the station, which I think is both good and bad. But that's been possible partially because of Movable Type.
If you're the sole web production staff at your station, it's great to unburden yourself of some of your content management duties, but there are tradeoffs. It was hard for me, as a former Ph.D. candidate in English, to surrender a good deal of editorial control over the site that I so meticulously maintained for several years. It's also the case that the staff who have to take over those duties might not necessarily be happy to have more work added to their doubtless already overbusy workdays. Transitions in employees might be good times to try to build these kinds of responsibilities in if you have the chance. And, while Movable Type is designed to be used by the average person, you can’t predict what people's comfort level will be with using the system you've set up.
I remember reading a nice piece by Jeff Veen called "Why Content Management Fails" which is a pretty good argument against implementing a CMS, and, while I don’t think his arguments all apply to tiny non-profits like most small public broadcasting stations, I have had occasion to think of it a few times since making this transition. Anyway, food for thought…
-
ptvGuy
-
Well, thank you again, Angela, for your time and sharing your experience with us. I know that I certainly appreciated it, and I'm sure that others will to.
-
-
Angela Jordan
Well. Thanks. It's been a pleasure. If anyone has questions about more specific details of the process I used to transition the site, the templates I built, the way I structured the entries, the plugins I used, really anything, I guess, I'd be happy to provide more information.
Well, there you have it. I hope that all of you found that as interesting and helpful as I did. If any of you have questions for Angela or want to discuss this in more depth, then I really encourage you to leave your comments and questions here to be passed on to her so that we can all benefit from whatever's learned. But, of course, that's not required. Angela can be reached through the WTIU website by using their contact form and specifying "Web Services" in the "Send to" dropdown menu.
Thank you, all, code well, and good night.

