If your Plone site will contain timely news articles or other press-release types of material, you might want to enable readers to syndicate this content. Content syndication typically takes place via RSS, which can be an acronym for "Really Simple Syndication" or "Rich Site Summary" ”there's actually a debate, but it's not important to understanding what RSS actually does. In brief, RSS produces a list of title and summary content within a syndicated folder and allows for this information to be transferred through specialized RSS reader software to the end user. In other words, a user can read the syndicated portions of your content without ever viewing your well-designed Plone site. In the next few sections, you'll learn a bit about RSS and how to syndicate the content of your Plone site.
How RSS Works
RSS feeds ”the streams of content read by users ”are based on XML. Elements of the RSS feed are segmented into content- related definitions such as headlines, descriptions, and the URL leading to the full information. Providing an RSS feed of the content stored in your Plone site does not require you to learn XML ”those tricky bits are taken care of via the syndication tools, which you'll learn about shortly. All you'll end up doing as the site administrator is remembering to turn on the correct switches via the ZMI so that users can subscribe to your content and read it at their leisure.
As an end user, one of the greatest advantages of subscribing to RSS feeds is that you can be immediately notified when a site has been updated with new content. You don't have to spend time clicking links and refreshing your browser, and you don't have to subscribe to multiple email lists that end up producing more spam than news. Instead, you simply subscribe to a feed through any of the RSS aggregators that are available.
An RSS aggregator is a piece of software that reads the RSS feeds and displays their content. These are usually freely available and customizable to check for new content at specific timed intervals. For a list of stable aggregators used on multiple platforms, visit http://www.mnot.net/rss/tutorial/#Aggregators.
The benefits to the content owner vary depending on the type of content you offer and the frequency with which you offer it. At first glance, it might seem as if you are giving up site traffic ”and any advertising revenue that goes along with it ”just so the end user can have a nice, neat little package of news, off-site. In fact, providing a newsfeed will likely drive more traffic to your site because readers will know exactly when your content has been updated and will thus head on over to see any other changes that have occurred.
Say your Plone site represents the web presence for a software company. If the RSS feed serves up the company's press releases, and one of those releases concerns the public availability of a long-awaited piece of software, your site subscribers will be among the first to know. These readers will likely come to the site for additional technical specifications, whitepapers, case studies, and a credit card in hand for ordering your product. Without an RSS feed, you rely on the whims of users to randomly wander by and notice that your product has been released. Users appreciate that they don't have to sell their soul just to subscribe to your RSS feed and will likely be more loyal clients , up-to-date on what your company has to offer.
Syndicating a Plone Folder
Enabling content syndication within a Plone folder is a very simple process, yet it yields great results: the capability to provide an RSS feed for your readers. The first step in enabling any content syndication is to make a modification through the ZMI, enabling syndication for your entire Plone site. This does not mean that a feed will be created for your site; it simply tells Zope to prepare for the possibility.
In the ZMI, click on your Plone instance in the navigation pane and then select the plone_syndication object in the workspace pane. You should see a completed form, as in Figure 7.4.
Figure 7.4. Viewing the plone_syndication object.
Ensure that the check box next to the label Visible? is checked, meaning that a Syndication tab will now be visible in the content view of your Plone site, if you are the content owner or have permission to perform actions on the content. If you have to check the check box in this form, press the Save button to save your changes. After these changes have been saved, or after you verify that the check box has been checked, click the Properties tab.
You will now see a large form submission button that reads Enable Syndication. Press this button to enable syndication and automatically move on to the syndication settings form, as shown in Figure 7.5.
Figure 7.5. The site-wide syndication settings form within the ZMI.
Four fields in this form control the basic settings of the RSS feed that will be created for any syndicated area of content within your site. These are the modifiable settings:
UpdatePeriod ” This is the time frame over which the RSS feed is updated. You can set this to be hourly, daily, weekly, monthly, or yearly. If it is left blank, daily is assumed. Unless you are running a news-heavy site or a blog, daily updating is sufficient.
UpdateFrequency ” This setting controls the number of updates per update period. If UpdatePeriod is hourly and UpdateFrequency is 4 , the feed will be updated four times per hour . The default value is 1 .
UpdateBase ” This field contains the base date, used in conjunction with UpdatePeriod and UpdateFrequency to produce a new feed on the correct schedule. The format of this date string is yyyy-mm-dd hh:mm , as in 2004-07-05 10:42:40 .
Max Syndicated Items ” This field defines the number of items that are included in the feed. The default ”and recommended maximum ”is 15 .
When you have made the appropriate changes, press the Save button to store your settings. Restart Zope to ensure that all your changes have taken effect throughout your Plone site. Making these changes is the last syndication-related modification made through the ZMI; all other modifications are made as a content administrator, within the confines of the Plone site itself. Log in to your Plone site and navigate to a folder in your member area, or any other area in which published content exists.
If you don't have a folder with content already created, take a moment to create and publish a folder that contains a few fake files, news items, events, or whatever content types you'd like to use for your test feed. Be sure to take the items through the publishing process so that they are published and visible to all users.
In the content view of this folder, you will see that a Syndication tab is now present along with the Contents, View, Sharing, and Properties tabs. Click on the Syndication tab within the folder that you want to syndicate, and you will see a form similar to the one in Figure 7.6.
Figure 7.6. The folder-specific syndication settings form within the Plone interface.
The contents of this form look remarkably like the site-wide syndication settings you saved from within the ZMI; the difference is that these settings are only for this particular folder. Feel free to choose the same values for the Update Period , Update Frequency , Update Base , and Maximum Items fields as you did for the site-wide settings, or you can customize this particular folder to update more or less frequently. When you have completed your modifications, press the Save button to deploy your changes.
After it is saved, your RSS feed is accessible via a URL, such as http:// yourserver / yourPlonesite / yourFolder /RSS . For example, I syndicated the books folder within the myPlone instance on the server running on localhost , so the URL to my RSS feed is http://localhost/myPlone/books/RSS . When this is live, you should put a link to your RSS feed in a prominent place ”you might even create a custom slot that contains static links to different types of RSS feeds available for your site.
Figure 7.7 shows how the RSS feed is read through a particular RSS aggregator ”in this case, the SharpReader software for Windows (see http://www.sharpreader.net).
Figure 7.7. Viewing an RSS feed within an RSS aggregator.
Although each RSS aggregator looks and acts differently, especially on different platforms, the main idea and outcome are still the same: Readers connect to the RSS URL, which feeds standardized content to the software, which is then displayed to the user. Users can read the item synopses and then connect to the actual site to read the full article, resulting in targeted traffic to your website (that is, people who actually want to be there and who are looking for specific, useful information).