How To: Automated Feeds:
Advanced Text Feed from a
Single Page
The feed you're going to build is a feed of news items from the home page
of the ACME website. This will be an Automated RSS text feed that you will
use the Advanced interface to build.
Please open the index.html file in the root of the website in Dreamweaver.
In this scenario the ACME F&N home page includes news blurbs and links
to pages all over the website in order to promote whatever happens to be going
on within the organization. This is pretty typical for a home page.

In presenting an effective website consistency in design is a key element
of conveying information. To do that task Dreamweaver provides both templates
and style sheets. Templates control page structure and style sheets control
the graphical presentation of content. These two tools allow content to be
restricted in placement within the document (template regions) and adherent
to a predefined visual order (style selection - also called classing). By making
those associations between content and presentation we convey the relationships
of content - because what something looks like is what something is (especially
in an environment like a website, where there is little additional context
beyond the page). Most importantly, we can then use this relationship in reverse
to identify content and its value. In other words, if we make a template with
a box on it for a headline, on any page using that template when we look in
that box we can expect to find text that is the headline for the page. Now
here's the kicker, templates and styles leave an imprint on the code for the
page, so if we're really clever we can programmatically collect content for
our RSS feed by looking for that code.
Examine this home page and you'll see repeating template regions define the
structure of the page while the style sheet makes each headline (styled as
HPStoryRevHead) look like a headline. Select the first headline from the page
and look at the bottom of the Dreamweaver window. You can see the document's
structure reflected in the tags displayed - td.HPStoryRevHead is the current
selection within a tr in a table in a mminstance:editable (an editable template
region). If you look at the page there is a teal tab indicating the name of
the template region: HomePageStory. Remember that because you'll need it later,
especially the td.HPStoryRevHead and the HomePageStory template region.

Now begin creating a new feed by pressing the new feed button in the RSS DreamFeeder
floating panel.

When the dialog is displayed you are presented with the basic
interface, but in this tutorial you'll be using the advanced interface so
click on the Advanced tab.

The first panel of the Advanced interface provides fields for descriptive
content for the feed. The only required fields are Title and Description, but
the more information you provide the better. To navigate in the advanced interface
make selections from the left side Category list. Navigation is not required
to be sequential but in this tutorial you'll do it that way to keep things
simple. Go to the next panel by selecting Feed Settings from the Category list.

In Feed Settings you can decide what type of a feed you are building (Text
Feed) and what file format to use (RSS 2.0). But most importantly you can tell
it to collect content from Files and that you want to have your computer do
the work of updating the feed (Local Processing). Notice that when you select
Files as the source of the content many more panels become available. Next,
provide the Site Settings.

Under Site Settings you'll give RSS DreamFeeder the Base URL -- the url of
the remote website where the files will reside. This is important because your
feed could be republished on any number of different websites and you want
the links to still work, so they have to be full links. If you already provided
this information to Dreamweaver when you setup the site that information will
be copied here, but if you didn't then you'll have to enter it here yourself.
Once entered move on to Summarize.

Under Summarize you will define where the file (or files) resides within the
website that you want RSS DreamFeeder to extract content from. In this tutorial
the source is the content of a single page so we select Page and then press
the plus button to the right of the list so we can define which one we'll use.
Select the index.html file in the root of the website. The other settings don't
apply (mostly) because we are specifically targeting a single page -- there
are no subdirectories in a single page. Now move on to Elements.


Under Elements you can decide which elements of the feed to include. The initial
settings here are based on the feed type selection you made in Feed Settings.
However you can choose to include or exclude any elements except for Headline
(that's for RSS feeds, for ATOM feeds its a slightly different set). As I am
sure you can imagine, it is very simple to include or exclude content elements.
If you click off Author you will see the Author item in the Category list
on the left is removed. Be sure to turn Author back on if you turned it off.
(Yes, there was no author content on the page, but that's OK because you're
doing advanced stuff here.)

Under Headline configure RSS DreamFeeder to extract the content of the TD
tag with CLASS (associated style) of HPStoryRevHead from the template region
called HomePageStory in the HomePageTemplate. Like this:
MatchType: Tag
Tag: td
Location: Within Template Region
Region: HomePageTemplate: HomePageStory
With Attribute: Class = HPStoryRevHead
Extract: Content

It is important to test your configuration to be sure that it is working.
So press the Test button.

You will be presented with the Test dialog to test your settings. Select
the index.html file in the root of the site as the Sample File.


When you press the Test
the Match button you should see the headline text (Employee Special) in the
results box.

Now you could proceed screen by screen to manually enter the settings for
each of the elements like you just did for the Headline, but you can also use
the Content Sampler to build the settings. Press the Content Sampler button
at the top right of the panel. This will save a temporary copy of the feed,
close the Edit dialog, and launch the Content Sampler in the RSS DreamFeeder
floating window.

The Content Sampler has a list of Content elements to extract from the page.
Samples with a dash "-" have not been defined yet. You can see that
the Headline sample is already defined. If you click on Headline in the list
of Samples the corresponding text within the document will be selected.

To Sample the Story elements select if from the list in the Content Sampler,
then select the descriptive text below the headline on the home page, then
press the Sample button in the top left of the floating window.

The content sampler now shows the sample as a P tag (or whatever you sampled)
that is classed HPStoryContent.

Repeat the process for the link (it says "Read More"). Select it
and sample it.


Now do it once more for the date (yes dates can be read from the text in
the file).


A small note about dates: Dates are tricky because they have to be real dates
that the computer can easily recognize as a date. If it is unrecognized then
the modification date will be used instead. As long as you stick to basic text
(Jan, January, Feb, February, etc...) and numbers (0-31) and slashes (5/1 or
5/1/2009) it will work.
Now press the Done button to return to the
Edit dialog. When you return to the edit dialog you'll come back to the same
panel you left from (the Headline panel). If you click through the other panels
you will see that they have captured their settings from the Content Sampler.

The only element that doesn't have a configuration is the Author element.
In this scenario the Author should always be the same thing (a Fixed Value):
the text "ACME F&N". So select Fixed Value and enter ACME F&N
for the text.

The configuration is now complete so press Save and save it as index.rss in
the root directory.

Once saved, the feed will be listed in the RSS DreamFeeder floating window
and it will display how many files need to be checked for content -- for feeds
of this type there is only ever 1 file, the file defined as the source.

The
file must be examined for content and the content must be extracted and placed
into the feed. That is called Processing the feed, and you do it by pressing
the Process button.

While processing you will see a dialog box that informs you about what is
going on.

When the processing is done you will see that your feed has 0 files to check
(in the list in the RSS DreamFeeder floating panel).

Finally, you can try the feed out in your news reader. I like to use Safari
for testing because I can just drag the file I created into the window. You
will probably notice that the link is pointing off to whatever website you
configured earlier and not to the local file. This is the way an RSS feed is
supposed to be. Your RSS content will be repeated on other websites so it has
to have an absolute URL for every link. But if you don't keep that in mind
it can be startling to see the link not work (at least not locally). I want
to assure you that you did it right.

If you happen to have a web server on your computer like I do on mine and
if you provide the right site URL you can make the links work. This sort of
setup is how most web developers work now anyhow, especially anyone doing server-side
coding (like asp/php/etc...). The relationship between absolute URLs and relative/local
URLs is one of the stickiest bits of work, but once configured, RSS DreamFeeder
handles it for you.
Congratulations -- You have created an RSS feed.
An RSS feed is not really ever a finished document. It is a reflection of
ongoing activity within your website. The index.rss feed isn't just another
list of items in the site, it is an ongoing list of site news, or more specifically
new content from the home page (the source of this feed). And the great beauty
of the configuration work you've done on this feed is that once the home page
is updated all you will have to do to update the RSS feed is press the Process
button. I like that so I'm going to say it again -- one click and you're updated.
Outstanding.
Now go back to the home page in Dreamweaver so you can edit it. The news items
are in a repeating template region called HomePageStoryBlock. On the layout
there is a light blue tab with that text on it along with controls to add,
remove, shuffle up and shuffle down a region within this repeating block. The
add button always adds after the currently selected block. So click on the
teal tab for the first HomePageStory block then click the plus button to add
a new repeating block, then click the shuffle up button to move that new block
to the top of the stack.

Now make the following changes:
change "Entry Title" to "New Job Openings Posted",
change the date to "May 28"
change the story blurb to "We've got new openings, including CEO."
change the Read More link to point to the jobbank.html page in the 03_HumanResources
folder

You can use whatever method you like to get the new content onto the page.
What I outlined above is a reflection of my preferred methods. Everyone uses
Dreamweaver in their own way, and that's fine as long as you get the job done.
Now that you are done editing the home page you need to save it. When you
do save it you will notice that the files list in the RSS DreamFeeder floating
panel now indicates that there is 1 file to check for your feed.

You have now arrived at the single-click update. Simply select your feed from
the files list in the RSS DreamFeeder floating panel (probably already selected)
and press the Process button.

Your feed is processed, the new content is extracted from the source page,
and it now is in the RSS feed.

Check it for yourself by loading the feed into
your RSS reader (if you used Safari you can just press the refresh button in
Safari).

Congratulations -- You have updated an RSS feed.
Now consider what should happen if you were to remove the bottom entry from
the list. Should that entry remain in the RSS feed or should it be removed?
There are two different schools of thinking on this and they both have valid
perspectives.

One perspective is that nothing should happen, the RSS feed is an historical
document with content and dates related to that content intact within that
document. As long as that content is still valid and that destination is still
a good link then why not keep it, even if it has been removed from the home
page. Its not that this isn't news any longer, its that we ran out of space
on the home page. Think of it like a blog page, it may only list the three
most recent blog entries, but the rest of them are still valid and linking
to them from the RSS feed is still a good idea.
The alternate perspective is that the RSS feed should only contain content
that exists on the page. If it got removed from the page it was removed for
a reason and you don't want it to be hanging out still linked to from the RSS
feed or for people to get Page Not Found errors when they click on the link
from their RSS readers (assuming the content was actually deleted and not just
the blurb on the home page).
The first perspective is the default behavior for RSS DreamFeeder. Older entries
remain in the feed until enough new content is collected to push the old content
beyond the maximum length of the feed (a setting you can change in Feed Settings
under the Advanced tab).
If you want RSS DreamFeeder to adopt the second perspective -- to delete content
when it is removed from the source page -- then you need to change the Retain
Entries setting (in Summarize under the Advanced tab). Please use caution when
changing this setting. This is the only setting (besides max length) that will
automatically remove content from your feed.

One other thing you might be interested in. If you want to edit the content
of the feed directly, including deleting entries, you can use the Content tab
of the Edit dialog. Simply select your feed from the files list in the RSS
DreamFeeder floating panel and press the Edit button (looks like a little pencil)
and then press the Content tab. You can change headlines, stories, dates, links
or whatever you need (to fix a stupid typing error). This is also a useful
way to check the content of a feed if you don't have an RSS reader handy.

If you're interested you may choose to proceed to another tutorial::
|