How to Create RSS Feeds with Dreamweaver using RSS DreamFeeder

How to Create RSS Feeds with Dreamweaver using RSS DreamFeeder a Dreamweaver Extension from Ronald Northrip Software, Incorporated http://www.rnsoft....
0 downloads 0 Views 6MB Size
How to Create RSS Feeds with Dreamweaver using RSS DreamFeeder

a Dreamweaver Extension from Ronald Northrip Software, Incorporated http://www.rnsoft.com/products/rssdreamfeeder

How to Create RSS Feeds with Dreamweaver using RSS DreamFeeder Table of Contents Introduction

3

Manual Feeds Files and First Steps

7

Basic Text Feed

10

Basic Podcast

28

Basic Photocast

40

Automated Feeds Files and First Steps

51

Basic Text Feed from a Single Page

54

Basic Podcast from a Single Page

73

Advanced Text Feed from a Single Page

94

Advanced Text Feed from a Directory

119

Very Advanced Text Feed from Multiple Directories with File Name Filters and a Regular Expression Search

144

Notes For Dynamic Content Websites (Database-driven websites)

158

Downloading and Installing RSS DreamFeeder

159

Basic vs Advanced Feed Settings

161

A Small Note About Uploading

162

Linking to Your Feed

163

Emptying Your Feed

165

Dates and File Capture

166

Importing Stuff into a Feed

167

The Lifetime of an Entry

168

Working with the Content Sampler

169

Working with Templates

171

Working with Contribute

172

Working with InContext Editing

173

Loading Errors, MIME Types, and File Extensions

174

When Your Bottom Directory Isn't Your Root Directory

175

Working in a Workgroup Environment

176

2

How to Create RSS Feeds with Dreamweaver using RSS DreamFeeder Caution: This is a VERY Long Tutorial There are several places where you'll have to make decisions about how you want to use RSS DreamFeeder. Follow the tutorial through along your line of thinking. If you change your mind later you can always do it again. This tutorial covers RSS DreamFeeder version 2.5. What's an RSS feed? An RSS feed is a tool that provides content from your website to other sites or to tools called aggregators (a specially designed browser for headlines). Other websites (like Google News or Yahoo Finance) collect that content and provide it to their readers -- putting your content in front of a new and often much larger audience. Some individuals may also choose to subscribe to your content with their aggregator (and newer browsers have this feature built in). The aggregator will check the subscribed URL for new content and display it. So your RSS feed is also like a "what's new" page for interested readers. Its a great way to keep people up on what's going on, and its a fantastic tool for electronic permission marketing that completely avoids spam filters. More technically, an RSS feed is a file within which you can place headlines (or titles) and some piece of content (as large or small as you like) or link to an attachment (like an audio file for podcasts). The file's structure is something called XML, which is kind of like HTML but for data instead of layout. Feeds can be in different formats (RSS or Atom) or different versions of the same format (RSS v 1 or v 2). You might need to pick a specific format for a special use, but for the most part everyone out there supports RSS v 2 or Atom v 1. Approaching your RSS task So you've got to get an RSS feed for your website. There are several tools for publishing RSS feeds widely available on the internet, with a range of prices from free on up. The problem with most of the tools is that they require a good bit of work to get your content into the feed you are creating. With some, you have to copy and paste your content into their tool, which is simple for small amounts of content but not for larger websites. With others, you have to have PHP, ASP, or Perl on your webserver and use those tools to rework your content into a feed. In all cases, none of them are designed to integrate directly with the primary tool you use to create the content of your website -Dreamweaver. The right solution would let you create new content or take advantage of the content you've already created -right in Dreamweaver. What you need is a simple direct editing tool for unique custom content integrated with a powerful way to extract and import content from your existing pages. This approach lets you leverage what you know to accomplish the task of creating a feed,

3

without having to learn new tags for RSS and without having to become a CGI expert to program PHP/ASP/ Perl. And that is exactly what RSS DreamFeeder does. When Its Unique There are times when the content you want to include in your RSS feed is just for the RSS feed. It may be a "Special Deals" feed for your valued customers, or a Podcast for iTunes, or any other situation where you want the content to be available for a special venue or purpose. There are also times when you just want to be able to edit it yourself, simply and directly. This is what RSS DreamFeeder's manual mode is for. Create any kind of feed you like (text, podcast, etc.), and when the time comes to choose the source of your content select Manual Entry. Then when your feed is created you can edit its content in the Content tab of the dialog box.

To do these tutorials about creating manual feeds you'll need a few files, so do the first tutorial here and then pick from the other ones. • • • •

How To: Manual Feeds: Files and First Steps How To: Manual Feeds: Basic Text Feed How To: Manual Feeds: Basic Podcast How To: Manual Feeds: Basic Photocast

As a side note, the Content tab is available with all feeds regardless of their mode so you can edit the content of any feed you create, even the automated ones. This gives you extra control and is very useful in a pinch (like when there is a stupid typing error that needs fixing right away).

4

When Its Repeated from Elsewhere An RSS feed is all about "what's new" -- the ongoing evolution of content on your website. As you grow your website, adding new content to a page, new pages to content sections or even adding new sections to your site, it is important that you plan for that growth. This is what we call the Maintenance Challenge. To tackle this challenge you must address who is responsible for new content (you, your staff, departmental staff -- be very specific), what tools will they use to create that new content (Dreamweaver, Contribute, InContext, a database web interface), how will that new content integrate into the site, and especially what elements of that new content need to be repeated in other places (excerpts for the home page, title and blurb in a listing page, etc.). Its this last piece that can be the real killer in any maintenance plan. You have to repeat content to entice people to see that content (and someone will forget to do it at some point) but maintenance is easiest when the content stays in one place. It is this inherent conflict that makes maintenance very challenging. The more you can automate content repetition the less difficult your maintenance task will be. RSS DreamFeeder has automation built into its core. Once a feed has been configured it can extract new content from your website with the click of a single button. One click and your feed will find the new pages, extract just the content you specify, build the links and reconstruct any underlying content linking so that they are absolute URLs and can be repeated on any website, assemble the new content with XML and store that content within your RSS feed. Automated feeds are best for collecting content from pages that are formatted the same, from templatebased pages, and from websites where there are many pages to manage and many entries to add to the feed on a regular basis. Automated feeds can also be a handy way to convert a single HTML page with multiple entries (like a "What's New" page) into an RSS feed. The key thing to managing an effective automated feed is building on consistency because you'll be configuring the feed to identify content based on where it is or what it looks like (style sheet). To do these tutorials about creating automated feeds you'll need a few files, so do the first tutorial here and then pick from the other ones. • • • • • •

How To: Automated Feeds: Files and First Steps How To: Automated Feeds: Basic Text Feed from a Single Page How To: Automated Feeds: Basic Podcast from a Single Page How To: Automated Feeds: Advanced Text Feed from a Single Page How To: Automated Feeds: Advanced Text Feed from a Directory How To: Automated Feeds: Very Advanced Text Feed from Multiple Directories with File Name Filters and a Regular Expression Search

Basic vs Advanced Feed Settings The audience of Dreamweaver users is wide and diverse, with some users having a great deal of technical knowledge and others having very little. It is because of this diversity that Dreamweaver's authors have provided basic and advanced interfaces for setting up a website or code and graphical interfaces for manipulating web pages. It is in that same spirit that we embrace both a basic and advanced interface for configuring feeds. The basic interface guides you through the process in a step-by-step manner, while the advanced interface reveals extra controls and options valuable for special scenarios. These two interfaces are really just two different presentations of the same toolkit. Starting with the basic interface and moving to the advanced after a first pass at configuration is often a very useful approach.

5

A Small Note About Uploading Remember to upload your files. RSS DreamFeeder builds links to your content within the RSS feed's XML, and just like with HTML, graphics are separate files and must be uploaded to the server independently. Its not generally a big deal with automated feeds because the content is usually there already, but for manual feeds or feeds where the primary content is audio (podcast) or graphical (photocasts) you'll want to be sure the files are uploaded to the server. Note for Dynamic Content Websites (database-driven websites) If you have already built your website with a database and you want to use that database-driven content as the source for your RSS feed I applaud your thinking, sadly I have to say that RSS DreamFeeder v 2 doesn't support that. We're working on an update to provide support in this scenario and we plan to deliver it very soon. RSS DreamFeeder v 2 does work with dynamic pages (ASP/JSP/PHP/CFM) but it uses the source code of the page to draw from. This is very useful for websites that are product oriented -- where each product has its own page and the shopping cart services are provided by the dynamic code. More Notes You Might Find Useful • • • • • • • • • • • • •

How To: Notes: Downloading and Installing RSS DreamFeeder How To: Notes: Linking to Your Feed How To: Notes: Emptying Your Feed How To: Notes: Dates and File Capture How To: Notes: Importing Stuff into a Feed How To: Notes: The Lifetime of an Entry How To: Notes: Working with the Content Sampler How To: Notes: Working with Templates How To: Notes: Working with Contribute How To: Notes: Working with InContext Editing How To: Notes: Loading Errors, MIME Types, and File Extensions How To: Notes: When Your Bottom Directory Isn't Your Root Directory How To: Notes: Working in a Workgroup Environment

6

How To: Manual Feeds: Files and First Steps You will, of course, need a copy of RSS DreamFeeder, available from RNSoftware at http://www.rnsoft.com/products/rssdreamfeeder It installs, like all extension, with the Extension Manager application that came with Dreamweaver, and once installed is available from the Window menu. (For more on installation you can read this note) You'll probably want a news aggregator to test the feed with. You can use any one that you like, but here are a couple (the first ones that come up when I google "news aggregators download"): • Ampheta Desk http://www.disobey.com/amphetadesk • NetNewsWire http://www.newsgator.com/netnewswire • more at http://blogs.law.harvard.edu/tech/directory/5/aggregators You might also try Firefox's active bookmarks or Safari's RSS reader. I happen to like Safari's RSS reader and test with that often. I've created a simple website with some basic content so you can try creating your own Manual RSS feeds. You can download the demo site for creating Manual RSS feeds from http://www.rnsoft.com/products/rssdreamfeeder/content/tutorial/RDF2DemoManual.zip You will have to define this as a new website within Dreamweaver. I called the site "Manual Tutorial". You don't need a remote site defined, just a local one, because RSS DreamFeeder works right from your local files. RSS DreamFeeder uses your site definition to know where to find files and how to build links, so a defined website is required. When you're ready to publish the feed you create on your website you simply upload the RSS or XML file you created, just like you would for any HTML file. That means you get to manage your content the way that works best for you and your workflow.

7

For more on managing websites with Dreamweaver see these pages from Adobe: • Creating your first website http://www.adobe.com/devnet/dreamweaver/articles/first_website_pt1.html • Setting up a Dreamweaver site http://help.adobe.com/en_US/Dreamweaver/10.0_Using/ WScbb6b82af5544594822510a94ae8d65-7f62a.html To keep things simple, the demo website only contains a limited number of files. I wanted to be sure that things are as clear as possible so only files related to your task are there. The folders and files are: • • • • •

art - folder containing graphics we'll need audio - folder containing MP3s for our podcast content - folder containing HTML files for us to link to photos - folder containing text.html - a text file for you to copy from so you don't have to type everything by hand

8

Now that you're familiar with the file set lets proceed with the tutorials. Select the tutorial that you're interested in to continue: • How To: Manual Feeds: Basic Text Feed • How To: Manual Feeds: Basic Podcast • How To: Manual Feeds: Basic Photocast

9

How To: Manual Feeds: Basic Text Feed The feed you're going to build is a promotional feed for this set of tutorials. This will be a Manually edited RSS text feed that you will use the Basic interface to build. Of course, you will begin by creating a new feed. Press the New Feed button in the toolbar of the RSS DreamFeeder floating panel. (If RSS DreamFeeder isn't open you can access it through the Window menu.)

The first step in the basic interface is to select the type of feed (RSS Text Feed) and to provide the Title and Description of the feed. After entering that content you click the next button to proceed to the next panel.

10

The second step is to provide additional descriptive content about the feed. You can provide as much or as little of this information as you like, but the more you fill in the easier it will be for aggregators and search engines to find and organize the content.

11

The third step is to provide the domain name of the website. This is so the links can be built properly as full urls so they will work on no mater where your content is republished. If you provided this information when setting up the website in Dreamweaver's site management tool it will be copied here.

The fourth step is to decide how you want the content for this feed to be built. A Manual feed is appropriate for this case. You'll be managing the content yourself, adding or deleting feed entries, typing or copying/ pasting the text.

12

Now that these configuration issues have been completed you can edit the content of the new feed in the Content tab. You can either press the Edit Feed Content button or simply click on the Content tab.

13

In the Content tab you can manage the feed's entries yourself and build as many as you like. To add an entry we click the plus button at the top of the Feed Entries list. Now you simply edit the fields to contain the content you want, with a headline, story, author and a link to the tutorial's page.

Fill in the content for the first feed entry: For the Headline use: "Tutorial 1: Manual Feeds: Basic Text Feed" For the Story use: "In this tutorial Ron shares how to create a basic manual text feed with RSS DreamFeeder." For the Author use: "Ron Northrip" (or your own name, whatever makes you happy) For the Link you'll need to select the file you want to link to. Click the folder icon to the right of the Link field and then simply select the file to link to. Use tutorial1.html from within the content folder.

14

When you make this selection you may be prompted (depending on your Dreamweaver preferences) with a dialog explaining that links to files are full URLs until the file you are editing is saved. That's OK, there's nothing to worry about here, you just need to confirm it and proceed.

The story might be simple to begin with, but as the icon to the left of the field indicates, it can contain HTML (looks like little HTML brackets) so you can type in HTML. But honestly, typing in HTML isn't very satisfying. After all isn't that what Dreamweaver is supposed to do for you. So to help you leverage all that Dreamweaver has to offer with your own little story you will use the Story Edit button to the left of the field (it looks like a pencil). Press that button and the content of the story field will be used to create an HTML document that you can edit just like any other document in Dreamweaver (it's OK to say wow, I still say wow when I use that feature and I invented it). Make the text "RSS DreamFeeder" bold and italic.

15

Now when you're editing you should see the RSS DreamFeeder floating panel telling you that it is in Edit Entry mode and that you are editing the Story field. When you're done editing you need to press the done button.

The Done button returns us to the Edit dialog and captures the HTML code from the web page you edited to use in the story field.

16

Finally you can save your feed within the website. Call it tutorials.rss and save it in the root of the website. Its OK that it only has one entry for now. You'll add more entries later.

17

When saved the RSS feed will now be listed in the RSS DreamFeeder files list in the floating panel. The panel also displays the date the feed was last modified on and that it is a manual feed (or the number of files that need to be checked for automated feeds).

Now you should try it out in an RSS reader like Safari. 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.

18

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 your first RSS feed. An RSS feed is not really ever a finished document. It is a reflection of ongoing activity within your website. The tutorials.rss feed isn't just another list of tutorial files in the site, it is an ongoing list of new tutorials as we add them to the website. It is this living nature that is reflected in the feed's entry order, with the most recent content at the top of the list (reverse chronological order). So as you add new entries to the feed they will get added at the top. So if you wanted to add two more tutorials to the feed you would follow these instructions: First, open the text.html file from the root of the website. This contains the text so you can copy/paste.

19

Next, select the Tutorials feed from the list in the RSS DreamFeeder floating panel and press the edit button (looks like a little pencil). Because this is a Manual feed and because all the configuration information is already entered the dialog will open directly to the Content tab so you can add new content.

Press the plus button to add another feed entry. Then press the Story Edit button to hide the dialog.

20

This will open a blank document that is supposed to have the story, but since there isn't one yet you can just close it.Now select the headline text for the second tutorial and copy it.

Press the done button in the RSS DreamFeeder floating panel to return to the Edit dialog

21

Now paste the text into the Headline field.

Repeat this process for the story or vary it slightly by pasting into the blank story document, it works both ways. Enter an author and select the file to link to -- use tutorial2.html in the content folder.

22

Add another feed entry and do it all again for tutorial3. The more times you practice it the easier it will become. Lastly save the feed and test it in your RSS reader.

Excellent. You have updated your first RSS feed.

23

You may proceed with one of the other Manual Feed tutorials How To: Manual Feeds: Basic Podcast How To: Manual Feeds: Basic Photocast You have now had your first taste of the ongoing maintenance required to keep an RSS text feed up to date. You probably can see the value in automating this process, especially for large websites. If you do then you'll want to get the next set of files and try out one of our tutorials for Automated feeds. How To: Automated Feeds: Files and First Steps How To: Automated Feeds: Basic Text Feed from a Single Page Of course, you have to wonder how people will find your RSS feed. You can link to it from any page you like, but in this case you might try it with the text.html page. Read our note on linking to learn how. More with This Tutorial A little automation can be dragged into maintaining a manual feed like this one by using the import feature of our editor. Edit the feed again. As before, the feed is opened in the Content tab automatically. At the top right of the Content tab you will see the Import button. This button launches the Import dialog box which will extract content from whatever file you specify.

Click the folder icon to the right of the Source File field and use tutorial4.html as the source for this import.

24

The tutorial4.html file will be opened and the Content Sampler will be launched so that you can identify what content to extract from the file. If you had imported stuff before then you could optionally use your previous element identifications, but since this is the first time you'll have to do the hard work of selecting text and clicking a button.

The Content Sampler lists the Content elements your feed is defined to use and identifies if a match (or Sample) has been defined for that Content. Samples identify the tag, id, class or template region for that item. Samples with a dash "-" have not been defined yet (in the current instance, all of them).

25

Sample the content for the Headline by selecting Headline from the Content list in the floating panel, then highlight the text that is the headline (the big text at the top of the page) and then press the sample button (looks like an eye-dropper). Notice the sample tells you that you choose an H1 (that's the HTML tag it is sampling).Do the same for the Author (Ron Northrip) and the Story (the last paragraph). Notice that it is sampling the HTML tags with classes attached (style sheet identifiers).

If the Content Sampler has samples defined for the content entries when you click on an entry the corresponding text within the document will be highlighted. Once you've sampled what you want press the Done button and the page will be processed, the content extracted, and data placed into the appropriate fields in the feed entry. They'll need a little cleanup, for example the Author field should just be "Ron Northrip" without the "by", but its much faster and easier than copying/pasting piece by piece.

26

Building a manual feed and using Import is a valid approach to maintaining your RSS feed. Lots of people I've spoken to that use RSS DreamFeeder this way say it gives them a nice balance between control over their RSS feed's content (especially which files to include) and the power of automation.

27

How To: Manual Feeds: Basic Podcast In this tutorial you're going to build a podcast for this set of tutorials. You'll be creating a Manually edited Podcast that you will use the Basic interface to build. Podcasts are the same as any other RSS feed, except that instead of linking to an HTML file it will link to an audio file (MP3). So building a podcast follows the same steps. Begin by creating a new feed. Press the New Feed button in the toolbar of the RSS DreamFeeder floating panel. (If RSS DreamFeeder isn't open you can access it through the Window menu.)

The first step in the basic interface is to select the type of feed (iTunes Podcast) and to provide the Title and Description of the feed. After entering that content we click the next button to proceed to the next panel.

28

The second step is to provide additional descriptive content about the feed. You can provide as much or as little of this information as you like, but the more you fill in the easier it will be for aggregators and search engines to find and organize the content. The is particularly important if you plan to submit your podcast for inclusion in the Apple Podcast Directory.

29

In this panel is also where you can associate an image with your Podcast. The default size and type of image for iTunes is a 300 x 300 JPEG. We also recommend embedding this image in the MP3 as well. Bring your original MP3 into iTunes and get info on the file and then copy and paste the image into the artwork block for the file. This way if the linked image fails for any reason the embedded image will still work.

The third step is to provide the domain name of the website. This is so the links can be built properly as full urls so they will work on no mater where your content is republished. If you provided this information when setting up the website in Dreamweaver's site management tool it will be copied here.

30

The fourth step is to decide how you want the content for this feed to be built. A Manual feed is appropriate for this case. You'll be managing the content yourself, adding or deleting feed entries, typing or copying/ pasting the text.

31

Now that these configuration issues have been completed you can edit the content of the new feed in the Content tab. You can either press the Edit Feed Content button or simply click on the Content tab.

In the Content tab you can manage the feed's entries yourself (episodes in podcasting lingo) and build as many as you like. To add an entry we click the plus button at the top of the Feed Entries list. Now you simply edit the fields to contain the content you want, with a headline (title of an episode), story (episode text description), author and an audio enclosure (a link to the audio file).

32

Fill in the content for the first feed entry: For the Headline use: "Episode 1: Creating Manual Feeds: A Basic Text Feed" For the Story use: "In this episode we're going to discuss how to create a basic manual text feed with RSS DreamFeeder." For the Author use: "Ron Northrip" (or your own name, whatever makes you happy)

33

For the Enclosure you'll need to select the file you want to link to. Click the folder icon to the right of the Enclosure field and then simply select the file to link to. Use episode1.mp3 from within the audio folder.

Finally you can save your podcast within the website. Call it podtutor.rss and save it in the root of the website. Its OK that it only has one episode for now. You'll add more later.

34

Once saved your podcast will be included in the RSS DreamFeeder floating panel. You will when you last updated the feed and that the feed is manually edited (so there are no files to check).

You can try this out in a news reader to see how the feed looks. That's easy to do with the local content. I like to use safari because I can just drag the RSS file into the window and see what is happening.

35

But more importantly we want to use this feed in iTunes, so the feed has to be put on a web server. This doesn't have to be it's final home but it does have to be a web server and that server has to be the one in the configuration you provided when editing the feed (and you can always change that later). Be sure to upload all the related audio/graphic files too. Launch iTunes. Select the Advanced menu and Subscribe to Podcast. Now provide the url of the podcast. The podcast you created now appears in the Podcast list in iTunes.

36

Now if you want to add a few more episodes to your podcast it is a simple process. Go back to Dreamweaver and select the Tutorials Podcast from the list in the RSS DreamFeeder floating panel and press the edit button (looks like a little pencil). Because this is a Manual feed and because all the configuration information is already entered the dialog will open directly to the Content tab so you can add new content.

Press the plus button to add another feed entry and then fill in the content and enclose episode2.mp3. For the Headline use: "Episode 2: Creating Manual Feeds: A Basic Podcast" For the Story use: "In this episode we're going to discuss how to create a basic manual text feed with RSS DreamFeeder."

37

Do it again for episode 3. For the Headline use: "Episode 3: Creating Manual Feeds: A Basic Photocast" For the Story use: "In this episode we're going to discuss how to create a basic manual photocast with RSS DreamFeeder."

38

Now save and upload the feed to the website and test it in iTunes again. To refresh in iTunes select the podcast from the list and press the Refresh button at the bottom-right of the window (or right-click and select Refresh).

As a final note, it is very important to test your podcast in iTunes before submitting it to be included in the iTunes directory. Good work . You have updated your Podcast. You may proceed with one of the other Manual Feed tutorials How To: Manual Feeds: Basic Text Feed How To: Manual Feeds: Basic Photocast You have now had your first taste of the ongoing maintenance required to keep an RSS feed (of any type -text or podcasts) up to date. You probably can see the value in automating this process, especially for large websites. If you do then you'll want to get the next set of files and try out one of our tutorials for Automated feeds. How To: Automated Feeds: Files and First Steps How To: Automated Feeds: Basic Text Feed from a Single Page How To: Automated Feeds: Basic Podcast from a Single Page

39

How To: Manual Feeds: Basic Photocast In this tutorial you're going to build a photocast of pictures from a lovely wedding. You'll be creating a Manually edited Photocast that you will use the Basic interface to build. A photocasts is the same as any other Podcast or RSS feed, except that instead of linking to an HTML file it will link to photo file (JPEG). So building a photocast follows the same steps. Begin by creating a new feed. Press the New Feed button in the toolbar of the RSS DreamFeeder floating panel. (If RSS DreamFeeder isn't open you can access it through the Window menu.)

The first step in the basic interface is to select the type of feed (iPhoto Photocast) and to provide the Title and Description of the feed. After entering that content we click the next button to proceed to the next panel.

40

The second step is to provide additional descriptive content about the feed. You can provide as much or as little of this information as you like, but the more you fill in the easier it will be for aggregators and search engines to find and organize the content. The is particularly important if you plan to submit your podcast for inclusion in the Apple Podcast Directory.

41

The third step is to provide the domain name of the website. This is so the links can be built properly as full urls so they will work on no mater where your content is republished. If you provided this information when setting up the website in Dreamweaver's site management tool it will be copied here.

The fourth step is to decide how you want the content for this feed to be built. A Manual feed is appropriate for this case. You'll be managing the content yourself, adding or deleting feed entries, typing or copying/ pasting the text.

42

Now that these configuration issues have been completed you can edit the content of the new feed in the Content tab. You can either press the Edit Feed Content button or simply click on the Content tab.

In the Content tab you can manage the feed's entries yourself and build as many as you like. To add an entry we click the plus button at the top of the Feed Entries list. Now you simply edit the fields to contain the

43

content you want, with a headline (title of the photo), thumbnail (link to a small photo) and photo enclosure (links to the full size photo).

Fill in the content for the first feed entry: For the Headline use: "Quiet Preparations are Made"

44

For the Enclosure you'll need to select the file you want to link to. Click the folder icon to the right of the Enclosure field and then simply select the file to link to. Use freer01.jpg from within the photos folder.

For the Thumbnail you'll need to select the file you want to link to. Click the folder icon to the right of the Thumbnail field and then simply select the file to link to. Use freer01thumb.jpg from within the photos folder.

45

Finally you can save your photocast within the website. Call it phototutor.rss and save it in the root of the website. Its OK that it only has one episode for now. You'll add more later.

46

Once saved the new Podcast is listed in the RSS DreamFeeder floating panel. The panel also indicated when the file was last updated and that it is a manual feed.

You can try this out in a news reader to see how the feed looks. That's easy to do with the local content. I like to use Safari because I can just drag and drop the feed on it and see what is happening.

47

But more importantly we want to use this feed in iPhoto, so the feed has to be put on a web server. This doesn't have to be it's final home but it does have to be a web server and that server has to be the one in the configuration you provided when editing the feed (and you can always change that later). Be sure to upload all the related graphic files too. Launch iPhoto. Select the File menu and Subscribe to Photo Feed. Now provide the url of the photocast. The photocast you created now appears in the Podcast list in iPhoto.

Now if you want to add a few more episodes to your podcast it is a simple process. Go back to Dreamweaver and select the Photocast Tutorial from the list in the RSS DreamFeeder floating panel and press the edit button (looks like a little pencil). Because this is a Manual feed and because all the configuration information is already entered the dialog will open directly to the Content tab so you can add new content.

48

Press the plus button to add another feed entry and then fill in the content and enclose freer02.jpg with freer02thumb.jpg as the thumbnail. For the Headline use: "Joy, Happiness, Flowers, and Running"

Do it again for freer03.jpg. For the Headline use: "A Happy Pair of Lovers"

49

Now save and upload the feed to the website and test it in iPhoto again. To refresh in iPhoto press the small refresh icon to the right of your photocast in the subscriptions list.

Excellent . You have created a Photocast. You may proceed with one of the other Manual Feed tutorials How To: Manual Feeds: Basic Text Feed How To: Manual Feeds: Basic Podcast You have now had your first taste of the ongoing maintenance required to keep an RSS feed (of any type -text or podcasts) up to date. You probably can see the value in automating this process, especially for large websites. If you do then you'll want to get the next set of files and try out one of our tutorials for Automated feeds. How To: Automated Feeds: Files and First Steps How To: Automated Feeds: Basic Text Feed from a Single Page

50

How To: Automated Feeds: Files and First Steps You will, of course, need a copy of RSS DreamFeeder, available from RNSoftware at http://www.rnsoft.com/products/rssdreamfeeder It installs, like all extension, with the Extension Manager application that came with Dreamweaver, and once installed is available from the Window menu. (For more on installation you can read this note) You'll probably want a news aggregator to test the feed with. You can use any one that you like, but here are a couple (the first ones that come up when I google "news aggregators download"): • Ampheta Desk http://www.disobey.com/amphetadesk • NetNewsWire http://www.newsgator.com/netnewswire • more at http://blogs.law.harvard.edu/tech/directory/5/aggregators I've created a simple website with some basic content so you can try creating your own Automated RSS feeds. You can download the demo site for creating Automated RSS feeds from http://www.rnsoft.com/products/rssdreamfeeder/content/tutorial/RDF2DemoAutomated.zip You will have to define this as a new website within Dreamweaver. I called the site "Automated Tutorial". You don't need a remote site defined, just a local one, because RSS DreamFeeder works right from your local files. RSS DreamFeeder uses your site definition to know where to find files and how to build links, so a defined website is required. When you're ready to publish the feed you create on your website you simply upload the RSS or XML file you created, just like you would for any HTML file. That means you get to manage your content the way that works best for you and your workflow.

51

For more on managing websites with Dreamweaver see these pages from Adobe: • Creating your first website http://www.adobe.com/devnet/dreamweaver/articles/first_website_pt1.html • Setting up a Dreamweaver site http://help.adobe.com/en_US/Dreamweaver/10.0_Using/ WScbb6b82af5544594822510a94ae8d65-7f62a.html To keep things simple, the demo website only contains a limited number of files. But to be authentic we created this site using CSS styles, templates, and library items, just like you would for your website. This should give you the opportunity to see how RSS DreamFeeder would behave in a production environment while still limiting the files you have to attend to so you can see the complete toolkit in action. The folders and files are • • • •

00_artshared - common folder containing graphics for the site 00_scriptsshared - common folder containing javascripts for the site 00_stylesshared - common folder containing stylesheets for the site 03_HumanResources - folder containing the content of the hr part of the site, including the JobBank listing of open positions within the company • 04_ProductManagement - folder containing the content of the product management part of the site, including press releases for new products • 05_SalesMarketing - folder containing the content of the sales part of the site, linked to from the home page

52

• 06_PublicRelations - folder containing the content of the pr part of the site, including other releases and press notes, and a new podcast (audio subdirectory) • Library - dreamweaver library items for the site • Templates - dreamweaver page templates for the site • index.html - the home page of the website

Now that you're familiar with the file set lets proceed with the tutorials. Select the tutorial that you're interested in to continue: • • • • •

How To: Automated Feeds: Basic Text Feed from a Single Page How To: Automated Feeds: Basic Podcast from a Single Page How To: Automated Feeds: Advanced Text Feed from a Single Page How To: Automated Feeds: Advanced Text Feed from a Directory How To: Automated Feeds: Very Advanced Text Feed from Multiple Directories with File Name Filters and a Regular Expression Search

53

How To: Automated Feeds: Basic Text Feed from a Single Page The feed you're going to build is a promotional feed of press releases for products. This will be a Automated RSS text feed that you will use the Basic interface to build. In this scenario the Product Management team creates press releases when new products are introduced. They list all the press releases on the release.html page in their directory (04_ProductManagement). Open that file and you will see that there are two entries in the list. This list has exactly the sort of content you would want for an RSS text feed: a headline or title; a text summary or story; a link (in this case the headline is also the link); and even a date. You will use this list as the source for an RSS feed of press releases.

Naturally, you will begin by creating a new feed. Press the New Feed button in the toolbar of the RSS DreamFeeder floating panel. (If RSS DreamFeeder isn't open you can access it through the Window menu.)

54

The first step in the basic interface is to select the type of feed (RSS Text Feed) and to provide the Title and Description of the feed. After entering that content you click the next button to proceed to the next panel.

The second step is to provide additional descriptive content about the feed. You can provide as much or as little of this information as you like, but the more you fill in the easier it will be for aggregators and search engines to find and organize the content.

55

The third step is to provide the domain name of the website. This is so the links can be built properly as full urls so they will work on no mater where your content is republished. If you provided this information when setting up the website in Dreamweaver's site management tool it will be copied here.

56

The fourth step is to decide how you want the content for this feed to be built. The goal is to extract the content of the feed from the releases.html file. So you'll set the source to be files. Your computer will do the work so you will select Local Processing.

The fifth step is to specify where the content is that you want to process. The content is a list within a single web page, and so you will select Page and then specify the file (releases.html). Because the source is a page and not a directory searching subdirectories doesn't matter.

57

The last setting on this panel is one of the more important settings. This controls when new content is added to the RSS feed. You want the RSS feed to be updated to include any new releases you might later add to the page, so when the file is modified you need RSS DreamFeeder to look for new content. Its the default behavior for RSS DreamFeeder when working with a single page source and its exactly what you want -add new stuff to the page and it should be added to the RSS feed too.

58

Now that you have completed the basic configuration you need to specify what content elements to extract from the page. To do this you will use the Content Sampler so press the Launch Content Sampler button.

59

The RSS DreamFeeder floating panel has now been changed into the Content Sampler, your tool for sampling the content you wish to extract from the page. The idea is that you can easily highlight the text you want to use and then sample that text by pressing the button.

The Content Sampler lists the Content elements your feed is defined to use and identifies if a match (or Sample) has been defined for that Content. Samples identify the tag, id, class or template region for that item. Samples with a dash "-" have not been defined yet (in the current instance, all of them). Sample the content for the Headline by selecting Headline from the Content list in the floating panel, then highlight the text that is the headline (the big text at the top of the page) and then press the sample button (looks like an eye-dropper). Notice the sample tells you that you choose an A with class=releaseHeadline (that's the A [link] html tag it is sampling, but only those links that have been styled as releaseHeadline).

60

Do the same for the Story (the paragraph after the headline). Notice that it is sampling the P tags with releaseStory class that come after the headline (it should say after the headline in the Sampler list -- you might have to make the window wider to see).

61

Now try the Link. You want the Link to link to what the headline links to, so select Link from the list, then select the headline in the layout and finally press the sample button. Notice that the sample says Headline's HREF attribute. The HREF attribute is the part of an html link tag that specifies the destination of the link. The link in the RSS feed will point to the same page that is specified in the HREF attribute here.

62

With Date the default is to simply use the modification date of the file. That means the date listed will be when you change the page and save it. What you really want to do is grab the date from the text on the page. You can sample the Date just like any other piece of content. Try it now and you will see that it is sampling the TD tag with releaseDate class that comes after the headline. However, 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.

63

If the Content Sampler has samples defined for the content entries when you click on an entry the corresponding text within the document will be highlighted. Try it by clicking on Headline, Story, Link or Date in the list. Notice the selection change within the page. For Author there isn't any content on the page for you to sample. That's OK, you can just skip it for now. You are done sampling content from the page so you can click the Done button. The Edit dialog will reopen and your settings will be transferred back to the RSS feed you were creating.

As you can see you have completed configuring your feed. But when you press Save it tells you there is an error: Match settings are require for Author. When you dismiss the error you will be taken to the Advanced interface's Author panel so you can specify the missing settings.

64

If you don't want an author you have to tell RSS DreamFeeder to not include the Author element. This is done in the Elements panel (click Elements from the Category list) and then uncheck Author. You will notice that Author is no longer in the Categories list on the left.

65

That is all the Advanced stuff you're going to do in this tutorial -- just a little taste. You can see that its pretty extensive, but you don't really need it when you can use the Content Sampler. Press the Basic tab and you will return to the final panel in the basic set, ready to save the feed. Now press the Save button and save the feed as releases.rss within the 04_ProductManagement directory.

66

The panel you were just looking at had an important reminder in it -- remember to process your feed. What does that mean? When you were sampling content you identified what stuff to extract from the page, but the extraction hasn't happened yet -- you have only been doing the setup work. Processing the feed means extracting the content from the source page and including it in the RSS feed. This is also reflected in the RSS DreamFeeder floating panel. It shows your new feed (Product Releases) in the list and says that it has never been processed, and that it has 1 file to check (that would be releases.html).

The file must be examined for content and the content must be extracted and placed into our feed. That is called Processing the feed, and you do it by selecting your feed from the RSS DreamFeeder floating panel files list (should already be selected) and 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.

67

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.

68

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 releases.rss feed isn't just another list of press release in the site, it is an ongoing list of new press releases as you add them to the website, or more specifically to the press real ease listing page that you specified as the source for this feed. And the great beauty of the configuration work you've done on this feed is that once the press releases 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. Sweet. So there is another press release in the hold folder in 04_ProductManagement called SCLRelease.html. Move it to the releases folder. You can do this in the Files panel in Dreamweaver by simply dragging the file. If you get prompted to update any links you should do it. There is also a file called SCLBlurb.html that contains the blurb to use on the press releases page (as if your boss had emailed it to you). Open that page in Dreamweaver and you'll use it to copy and paste. Now go back to releases.html (the press release page) so you can edit it. The press releases are in a table with the most recent entries at the top of the table (reverse chronological order). The easiest thing to do is to copy and paste the first press release entry and then modify it. So select the whole table row and copy it, then click at the start of the headline and paste (a new row will be inserted automatically). Now you can copy and paste the headline text and descriptive paragraph from SCLBlurb.html -do it one at a time or you might loose some of the styling. Change the date to May 30. Change the link for the headline to link to SCLRelease.html in the releases folder. Depending on how you copy/paste you might loose the styling that identifies the content as release material. If you did it one at a time like I suggested above you didn't. Check it by selecting the headline and see that it is styled as releaseHeadline. Select the description and be sure that it is styled as releaseStory. Select the date and be sure it is styled as releaseDate. Remember that the style information is what you sampled with the content sampler, if that information is lost or doesn't match then the content will not be included in the RSS feed. I'm including this warning here not because this is hard to maintain -- actually its very easy -- I'm saying it so that you have a clear understand of how your toolkit works.

69

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 press releases 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.

70

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. Of course, you have to wonder how people will find your RSS feed. You can link to it from any page you like, but in this case you might try it with the release.html page. Read our note on linking to learn how. One other thing you might be interested in. If you want to edit the content of the feed directly 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.

71

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

How To: Automated Feeds: Basic Podcast from a Single Page How To: Automated Feeds: Advanced Text Feed from a Single Page How To: Automated Feeds: Advanced Text Feed from a Directory How To: Automated Feeds: Very Advanced Text Feed from Multiple Directories with File Name Filters and a Regular Expression Search

72

How To: Automated Feeds: Basic Podcast from a Single Page The feed you're going to build is a promotional podcast. This will be a Automated RSS text feed that you will use the Basic interface to build. In this scenario the Public Relations team regularly records a podcast they call the FruitCast to promote AMCE's product line. They list all the episodes on the cast.html page in their directory (06_PublicRelations). Open that file and you will see that there are two entries in the list. This list has exactly the sort of content you would want for creating a podcast: a headline or title; a text summary or story; a link to the audio file; and a date. You will use this list as the source for the podcast.

Naturally, you will begin by creating a new feed. Press the New Feed button in the toolbar of the RSS DreamFeeder floating panel. (If RSS DreamFeeder isn't open you can access it through the Window menu.)

73

The first step in the basic interface is to select the type of feed (iTunes Podcast) and to provide the Title and Description of the feed. After entering that content you click the next button to proceed to the next panel.

The second step is to provide additional descriptive content about the feed. You can provide as much or as little of this information as you like, but the more you fill in the easier it will be for aggregators and search engines to find and organize the content.

74

Image sizes vary by service, but for iTunes you would want to use a 300x300 image. There is an image in the 00_artshared folder that is ready for your use.

75

The third step is to provide the domain name of the website. This is so the links can be built properly as full urls so they will work on no mater where your content is republished. If you provided this information when setting up the website in Dreamweaver's site management tool it will be copied here.

The fourth step is to decide how you want the content for this feed to be built. The goal is to extract the content of the feed from the releases.html file. So you'll set the source to be files. Your computer will do the work so you will select Local Processing.

76

The fifth step is to specify where the content is that you want to process. The content is a list within a single web page, and so you will select Page and then specify the file (cast.html). Because the source is a page and not a directory searching subdirectories doesn't matter.

77

The last setting on this panel is one of the more important settings. This controls when new content is added to the podcast. You want the podcast to be updated to include any new releases you might later add to the page, so when the file is modified you need RSS DreamFeeder to look for new content. Its the default behavior for RSS DreamFeeder when working with a single page source and its exactly what you want -add new stuff to the page and it should be added to the RSS feed too. Now that you have completed the basic configuration you need to specify what content elements to extract from the page. To do this you will use the Content Sampler so press the Launch Content Sampler button.

78

The RSS DreamFeeder floating panel has now been changed into the Content Sampler, your tool for sampling the content you wish to extract from the page. The idea is that you can easily highlight the text you want to use and then sample that text by pressing the button.

The Content Sampler lists the Content elements your feed is defined to use and identifies if a match (or Sample) has been defined for that Content. Samples identify the tag, id, class or template region for that item. Samples with a dash "-" have not been defined yet (in the current instance, all of them). Sample the content for the Headline by selecting Headline from the Content list in the floating panel, then highlight the text that is the headline (the big text at the top of the page) and then press the sample button

79

(looks like an eye-dropper). Notice the sample tells you that you choose a B with class=episodeTitle (that's the bold tag it is sampling, but only bolds that have been styled as episodeTitle).

Do the same for the Story (the line after the headline). Notice that it is sampling the SPAN tags with episodeDescription class that come after the headline (it should say after the headline in the Sampler list -you might have to make the window wider to see).

80

With Date the default is to simply use the modification date of the file. That means the date listed will be when you change the page and save it. What you really want to do is grab the date from the text on the page. You can sample the Date just like any other piece of content. Try it now and you will see that it is sampling the TD tag with episodeDate class that comes after the headline. However, 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.

81

Now try the Enclosure. You want the Enclosure to use the "Download Episode" link, so select Episode from the list, then select the link in the layout and finally press the sample button. Notice that the sample says HREF from A CLASS=episodeLink. The HREF attribute is the part of an html link tag that specifies the destination of the link. The Enclosure in the RSS feed will point to the same content (the audio file) that is specified in the HREF attribute here.

82

If the Content Sampler has samples defined for the content entries when you click on an entry the corresponding text within the document will be highlighted. Try it by clicking on Headline, Story, Enclosure or Date in the list. Notice the selection change within the page. For Author there isn't any content on the page for you to sample. That's OK, you can just skip it for now. You are done sampling content from the page so you can click the Done button. The Edit dialog will reopen and your settings will be transferred back to the RSS feed you were creating.

83

As you can see you have completed configuring your feed. But when you press Save it tells you there is an error: Match settings are require for Author.

When you dismiss the error you will be taken to the Advanced interface's Author panel so you can specify the missing settings. 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.

84

That is all the Advanced stuff you're going to do in this tutorial -- just a little taste. You can see that its pretty extensive, but you don't really need it when you can use the Content Sampler. Press the Basic tab and you will return to the final panel in the basic set, ready to save the feed. Now press the Save button and save the feed as cast.rss within the 06_PublicRelations directory.

85

The panel you were just looking at had an important reminder in it -- remember to process your feed. What does that mean? When you were sampling content you identified what stuff to extract from the page, but the extraction hasn't happened yet -- you have only been doing the setup work. Processing the feed means extracting the content from the source page and including it in the RSS feed. This is also reflected in the RSS DreamFeeder floating panel. It shows your new feed (FruitCast) in the list and says that it has never been processed, and that it has 1 file to check (that would be cast.html).

The file must be examined for content and the content must be extracted and placed into our feed. That is called Processing the feed, and you do it by selecting your feed from the RSS DreamFeeder floating panel files list (should already be selected) and pressing the Process button.

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

86

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.

87

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. If you did this part right and the links work then you can proceed to iTunes and try it out there. Launch iTunes. Select the Advanced menu and Subscribe to Podcast. Now provide the url of the podcast. The podcast you created now appears in the Podcast list in iTunes.

88

Congratulations -- You have created a Podcast. Of course the best podcasts are ones that are regularly updated with new and interesting content. It is this ongoing activity that draws and keeps an audience. The configuration work you've done on this feed means that once the FruitCast 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. Cool. So there is another MP3 file in the audio folder in 06_PublicRelations called episode12.mp3. That's your next FruitCast episode. Now go back to cast.html (the FruitCast page) in Dreamweaver so you can edit it. The episode descriptions are in a table with the most recent entries at the top of the table (reverse chronological order). The easiest thing to do is to copy and paste the row for Episode 11 and then modify it. So select the whole table row and copy it, then click at the start of the headline and paste (a new row will be inserted automatically). Now you change the copied content. For the headline use: "Episode 12: Oranges are Orange" For the description use: "You'd be supprised how many people get this onewrong Change the date to: May 27 Change the link to link to the episode12.mp3 file in the audiofolder and to say "Download Episode 12"

89

Now that you are done editing the FruitCast 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 podcast.

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.

90

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

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

91

If you need to, upload the feed to the website and then test it in iTunes again. To refresh in iTunes select the podcast from the list and press the Refresh button at the bottom-right of the window (or right-click and select Refresh).

Congratulations -- You have updated your podcast.

92

One other thing you might be interested in. If you want to edit the content of the feed directly 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:: • • • •

How To: Automated Feeds: Basic Text Feed from a Single Page How To: Automated Feeds: Advanced Text Feed from a Single Page How To: Automated Feeds: Advanced Text Feed from a Directory How To: Automated Feeds: Very Advanced Text Feed from Multiple Directories with File Name Filters and a Regular Expression Search

93

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

94

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.

95

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.

96

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.

97

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.

98

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

99

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

100

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.

101

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

102

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.

103

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.

104

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

105

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

106

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.

107

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.

108

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.

109

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

110

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.

111

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

112

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.

113

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).

114

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.

115

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.

116

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.

117

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

How To: Automated Feeds: Basic Text Feed from a Single Page How To: Automated Feeds: Basic Podcast from a Single Page How To: Automated Feeds: Advanced Text Feed from a Directory How To: Automated Feeds: Very Advanced Text Feed from Multiple Directories with File Name Filters and a Regular Expression Search

118

How To: Automated Feeds: Advanced Text Feed from a Directory The feed you're going to build is a feed of job listings from the JobBank of the ACME website. This will be an Automated RSS text feed that you will use the Advanced interface to build. Please open the jobbank.html file in the 03_HumanResources folder of the website in Dreamweaver.

Also, please open 090527_ChiefExec.html from the JobBank folder in the 03_HumanResources folder.

119

In this scenario the JobBank page lists job openings with links to pages that have detailed descriptions of the job. For job seekers these detailed descriptions, which include job requirements, are valuable in their entirety, and not just as blurbs, so this feed will extract content not from the listing page, but from the contents of the directory itself. 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 the Chief Exec job announcement page and you'll see a template region called PageContent that defines the variable part of the page (not the navigational stuff) while the style sheet makes the headline (styled by changing the presentation of the H3 tag) look like a headline. Select the 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 - h3 is the current selection within 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: PageContent.

120

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.

121

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.

122

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.

123

Under Summarize you will define where the files reside within the website that you want RSS DreamFeeder to extract content from. In this tutorial the source is the content of a directory so we select Directory and then press the plus button to the right of the list. Select the JobBank directory in the 03_HumanResources directory. You don't want to include subdirectories (there aren't any), you want to exclude temp files, you're just looking for HTML files (the default) and you're not restricting the template or the file names, so most of what you have to do is already done. The last change here is to capture files on Creation, not Modification. This assures that new job files are included, but old job files don't get processed again. Now move on to Elements.

124

Under Elements you can decide which elements of the feed you are going 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. So for this feed you're going to exclude Author (uncheck that) and include Keywords (check that) to help make the jobs more easily searchable.

125

Now you could proceed screen by screen to manually enter the settings for each of the included elements, but you can also use the Content Sampler to build the settings quicker (for the parts that are text on the page anyway). 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. Samples with a dash "-" have not been defined yet. You are going to Sample the elements you want to include by selecting the entry in the Content Sampler, highlighting text from the page (in this case the 090527_ChiefExec.html page), and then pressing the Sample button in the top left of the floating window.

126

Select Headline from the content sampler. Highlight the headline text within the file and press the sample button to select that text.

The content sampler now shows the sample as an H3 tag (or whatever you sampled).

127

Repeat the process for your story. Select Story in the Content Sampler. In this case you have a template and you want to select the entire template region so highlight the whole thing (or just click on the teal PageContent tab at the top) and press the Sample button.

128

The other elements don't exist on the page itself so we'll do the job manually back in the Edit dialog. The content sampler may not have done the whole job, but it did give you a good start. Press the Done button to return to the Edit dialog. When you return to the edit dialog you'll come back to the same Elements panel.

Now go to the panel for defining content extraction for Headline. You'll see that it already has the H3 tag defined, but I like to be more precise if I can be so that if the page changes and there is an H3 before this one or added to the template or something I can still use these settings. The headline was within the story, so restrict the location to "Within the Story". Now move on to Story.

129

The story settings from the Content Sampler are perfect so we will leave them alone. On to Link.

Link's default setting is to use the location of the current page that we are extracting from. That is exactly what you want to do here -- have the link point back to the original file that RSS DreamFeeder is pulling content from. So don't change that either. On to Date.

130

Now Date defaults to the Current Page's Modification Date, which is useful, but not really what we're after. What we really want is the page's Datestamp, so we'll change the Match Type to be Dreamweaver Datestamp. Page Creation might also be useful but if you're the sort of people who don't create, but duplicate pages then you'll run into problems. OK, on to Keywords.

131

Keywords is the one place where you'll have to do some work. You want to extract content from a META tag -- . The specific meta tag uses name as its identifying attribute and content to contain the stuff that to include in the feed. So to configure this you'll set Match Type to Tag, enter "meta" as the Tag we'll match, use With Attribute to find a NAME equal to "keywords" and Extract the Attribute Value of the "content" attribute.

Now you absolutely should test any manually-entered configuration like this one to be sure your extraction settings return the right content. Press the test button in the top-right corner of the Edit dialog. You will be presented with the Test dialog where you can try out the settings.

132

Now select the 090527_CheifExect.html file to use as the Sample file. Then press the Test button. You should see the results as a list of values to use for the keywords in this entry.

133

The configuration seems to be working so save the feed within the 03_HumanResources directory as "jobs.rss".

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.

134

The files 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).

135

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.

136

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 jobs.rss feed isn't just another list of open jobs in the site, it is an ongoing list of new content from the JobBank directory. And the great beauty of the configuration work you've done on this feed is that once the new job files are added to the JobBank 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. It just doesn't get better than that. Now go back to Dreamweaver. Use the Files panel to move the 090528_CFO.html file from newjobs into JobBank in the 03_HumanResources folder. If you are prompted to update links to the page you should do so.

137

Now look at the RSS DreamFeeder floating panel files list and you'll see that your feed says it has 0 files to check. Huh? 0? Nuts.

Why does it say 0? Well if you look at the Last Updated date for your feed you'll see that it was last updated today (remember, you were the one who did it). Today is later than the creation date of the 090528_CFO.html file so RSS DreamFeeder assumes that this file has nothing new to offer. In most cases this is right, creating a saving new content within a directory will put creation dates that work with this approach. However, there are times when you want to be smarter than the software -- and in this case you can be. Select your feed from the RSS DreamFeeder list (if its not already selected) and hold down the option/alt key and the shift key and press the process button with the mouse. This is called a power click and its for power users like yourself. You will be prompted to confirm that you want to change the date of the feed without processing it. Click OK.

138

What you have just done is changed the Last Updated date of the feed to match the date of the final entry in the feed. That also means that it will now use that date as a comparison when looking for new files to check. And now if you check the list in RSS DreamFeeder it will indicate that there is 1 file to check for new content. (If not press the refresh button). You might also want to know that holding down just option/alt while clicking the Process button will change the Last Updated date to today's date. This way RSS DreamFeeder will only capture files changed from now on and ignores any previous changes. This is useful if you've made lots of changes or new files that you just want to ignore and not include in your feed -- most commonly something like a template change that impacts all pages within your site. 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.

139

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).

140

Congratulations -- You have updated an RSS feed. If for any reason you had trouble getting the steps above to capture a particular file you could force the feed to include the file by editing the feed directly. You could select your feed, press the Edit button and then click the Content tab. This allows you to change your feed's content directly. Click the Import button and select the file you want to force the feed to include and it will be processed (using the settings you have already established) and included in your feed. You can always edit the content of the any feed you create with RSS DreamFeeder, including adding or deleting entries, by using the Content tab of the Edit dialog.

141

Now consider what should happen if you were to remove one of the files from the JobBank directory. 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. The alternate perspective is that the RSS feed should only contain content that exists within the directory. If it got removed from the directory 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. 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 its the source page is removed from the site -- 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. This is particularly dangerous if you don't have access to the entire set of files (working remotely or in a unique development environment) because it checks to see if the file exists and if for any reason you can't access the file the entry is removed from the RSS feed. So be careful is all I'm saying.

142

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

How To: Automated Feeds: Basic Text Feed from a Single Page How To: Automated Feeds: Basic Podcast from a Single Page How To: Automated Feeds: Advanced Text Feed from a Single Page How To: Automated Feeds: Very Advanced Text Feed from Multiple Directories with File Name Filters and a Regular Expression Search

143

How To: Automated Feeds: Very Advanced Text Feed from Multiple Directories with File Name Filters and a Regular Expression Search I'm going to assume that you already know how to use RSS DreamFeeder fairly well. If you are not already familiar with it then I would recommend that you first go through one of the other tutorials. If you're ready to proceed then we should talk about the scenario you are going to be working with. • • • •

How To: Automated Feeds: Basic Text Feed from a Single Page How To: Automated Feeds: Basic Podcast from a Single Page How To: Automated Feeds: Advanced Text Feed from a Single Page How To: Automated Feeds: Advanced Text Feed from a Directory

The feed you're going to build is a promotional feed of press releases for both products and public relations. This will be an Automated RSS text feed that you will use the Advanced interface to build. In this scenario ACME has two groups that release content for the press. The first is Product Management, who issue press releases related to new and updated products. The second is Public Relations, who issue press content for promotional purposes, including both press releases and press notes. They both have their own directories which contain this content, in 04_ProductManagement/releases and 06_PublicRelations/ content respectively. A further examination of the PR/content directory reveals that PR has mixed both releases and notes in the same directory. If you are to build a feed with just press releases then you will need to filter out the notes.

144

If you open an example release from both pm/releases and pr/content you'll find that they look very similar and that key areas are the same. The template region has the same name (PageContent) the headline uses the same tag (H3) with no style (the style is overriding the normal display properties of the H3 tag).

As I have said before, consistency in design is a key element of effectively conveying information -- and templates and style sheets let you do that well. 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). Moreover, classing for styles (or dropping in a template region) is also tagging with meta data. If a headline is classed HomePageHeadline because the style sheet says so, then we can reverse that relationship and

145

say that any text/data with the class HomePageHeadline is a headline. What something looks like is what it is and is also what it looks like. You should also notice the names of the files. All releases are called WHATEVERRelease.html. The PM folks and the PR folks have slightly different naming conventions, but they both agree on calling a release Release.html. Enforcing naming conventions, especially on a very large website, can be difficult but it is absolutely worth while because you can then gather much information about content before the file is even opened. No serious attempt at a large-scale website should forgo naming conventions -- you'll suffer for it. So start 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, so click on the Advanced tab.

146

The first panel of the Advanced interface provides fields for descriptive content for the feed. The only required fields are Title and Description. Now go to Feed Settings from the Category list.

147

In Feed Settings you will decide what type of a feed you are building (Text Feed) and what file format to use (RSS 2.0). Then tell it to collect content from Files and that you want to have your computer do the work of updating the feed (Local Processing). Next, provide the Site Settings.

Under Site Settings you'll give RSS DreamFeeder the Base URL that it will use to translate the local links to full URLs for the feed. Once entered move on to Summarize.

148

Under Summarize you will define where the files reside within the website that you want RSS DreamFeeder to extract content from. You'll be extracting content from two directories so select Directories and then use the plus button on the right to add pm/releases and pr/content to the list of directories. Then tell it that the files names end with Release.html so that RSS DreamFeeder will only grab the files that match the naming convention.

149

150

Under Elements you can decide which elements of the feed you are going to include. But in this case we're going to stick to the basic set.

Now launch the content sampler and sample the Headline and the Story (the whole PageContent template region). Then Press the Done button to return to the Edit dialog.

151

When you return to the edit dialog you'll come back to the same Elements panel. Now go to the panel for defining content extraction for Headline. You'll see that it already has the H3 tag defined, but I like to be more precise if I can be so that if the page changes and there is an H3 before this one or added to the template or something I can still use these settings. The headline was within the story, so restrict the location to "Within the Story". Now move on to Story.

The Story settings from the Content Sampler are perfect so we will leave them alone. On to Link.

152

Link's default setting is to use the location of the current page that we are extracting from. That is exactly what you want to do here -- have the link point back to the original file that RSS DreamFeeder is pulling content from. So don't change that either. On to Date.

153

Now Date defaults to the Current Page's Modification Date, which is useful, but not really what we're after. If a page is modified, even for something as simple as fixing a typo then the modification date will be off. So the right answer is to extract the date from the dateline text in the document. This is where a Dreamweaver datestamp would have proven useful (and is an option in Match Type popup menu) but the authors of the page didn't provide one. So there is only one final option - an advanced text search called a Regular Expression. Now there may be multiple dates on a page so to be sure to find the right one look for the first one after the Headline. You want to match the dateline string that looks like May 27, 2009 WORD-SPACE-NUMBER-COMMA-SPACE-TWOTHOUSANDSOMETHING In regular expression there are special strings that mean a particular character: a word character (\w); a space character (\s); a digit character (\d). These strings are usually then modified to indicate how many characters to include: zero or more (*); one or more(+); zero or one [maybe there maybe not] (?). Any characters that are not these characters (plus some others) are what they are: a means an a; R means an R; 2 means a 2. Of course this is just the tip of the regular expression iceberg and you can learn lots more about it in the documentation or by searching online. Regular expressions are one of the most powerful text manipulation tools you can use and its part of RSS DreamFeeder. So back to the match. To match something that looks like this May 27, 2009 WORD-SPACE-NUMBER-COMMA(maybe)-SPACE-TWOTHOUSANDSOMETHING \w+ \s+ \d+ ,? \s+ 20\d+ \w+\s+\d+,?\s+20\d+

The last line above is the final regular expression you want to use. If for any reason it didn't match the modification date of the file (the original default) will be used instead. With something like this, where even a small typo can happen easily and get you into a world of trouble you have got to test it out. Point the Test tool at one of your press releases (I used 090528TastyRelease.html from pr/content) and give it a shot.

154

Now on to the Author element. In this scenario the Author should always be the same thing (a Fixed Value): the text "ACME F&N".

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

155

You can see that there are 5 files to check -- more than in either directoryalone. That means that it is finding content to collect in both directories.

Process the feed and try it in your news reader.

156

Congratulations -- You have created a very advanced RSS feed. If you're interested you may choose to proceed to another tutorial:: • • • •

How To: Automated Feeds: Basic Text Feed from a Single Page How To: Automated Feeds: Basic Podcast from a Single Page How To: Automated Feeds: Advanced Text Feed from a Single Page How To: Automated Feeds: Advanced Text Feed from a Directory

157

How To: Notes: For Dynamic Content Websites (Database-Driven Websites) If you have already built your website with a database and you want to use thatdatabase-driven content as the source for your RSS feed I applaud your thinking,sadly I have to say that RSS DreamFeeder v 2 doesn't support that. We're workingon an update to provide support in this scenario and we plan to deliver it verysoon. RSS DreamFeeder v 2 does work with dynamic pages (ASP/JSP/PHP/CFM) butit uses the source code of the page to draw from. This is very useful for websitesthat are product oriented -- where each product has its own page and the shoppingcart services are provided by the dynamic code.

158

How To: Notes: Downloading and Installing RSS DreamFeeder You will, of course, need a copy of RSS DreamFeeder, available from RNSoft at http://www.rnsoft.com/products/rssdreamfeeder You install RSS DreamFeeder using the Extension Manager application that came with your copy of Dreamweaver. All you should have to do is double-click the MXP file that you downloaded and Extension Manager should launch and ask you if its OK to install. You may need to restart Dreamweaver after installing the extension but you don't need to restart your computer. To launch RSS DreamFeeder select RSS DreamFeeder from the Window menu in Dreamweaver. This will open the DreamFeeder panel and display a list of rss files within the current website.

It is very important to register your version of RSS DreamFeeder, not just because you should pay for the software if you want to use it, but because it directly effects the content of your feeds. All feeds generated from an unregistered version of RSS DreamFeeder will have "RSS Replay is Unregistered" as the headline of each story. To remove this content you must enter your registration number in the text field in the register panel and click the Check Code button. Access the register panel by clicking on the Register button at the top right of the RSS DreamFeeder panel or by opening RSS DreamFeeder's preferences and selecting Register from the Category list on the left. Enter the code and press the Check Code button. The text under the code field will display either Valid or Invalid to let you know that your registration code is working. Get your registration code from the RNSoft website at http://www.rnsoft.com. Unregistered versions will have a red Register button in the RSS DreamFeeder panel. This button turns white with a green key when a valid registration code is entered.

159

160

How To: Notes: Basic vs Advanced Feed Settings The audience of Dreamweaver users is wide and diverse, with some users having a great deal of technical knowledge and others having very little. It is because of this diversity that Dreamweaver's authors have provided basic and advanced interfaces for setting up a website or code and graphical interfaces for manipulating web pages. It is in that same spirit that we embrace both a basic and advanced interface for configuring feeds. The basic interface guides you through the process in a step-by-step manner, while the advanced interface reveals extra controls and options valuable for special scenarios (like iTunes ID). These two interfaces are really just two different presentations of the same toolkit. Starting with the basic interface and moving to the advanced after a first pass at configuration is often a very useful approach.

161

How To: Notes: A Small Note About Uploading Remember to upload your files. RSS DreamFeeder builds links to your content within the RSS feed's XML, and just like with HTML, graphics are separate files and must be uploaded to the server independently. Its not generally a big deal with automated feeds because the content is usually there already, but for manual feeds or feeds where the primary content is audio (podcast) or graphical (photocasts) you'll want to be sure the files are uploaded to the server.

162

How To: Notes: Linking to Your Feed Linking places an HTML link to the feed within the current layout. Linking can place text or graphics on the page. You may choose from included graphics or add your own graphics. Linking can be used with special protocols or queries for adding this feed to other programs or other websites. These methods make it easier for your readers to use the feeds you are building. RSS DreamFeeder comes preconfigured with some methods but you can also add your own linking methods too using the Link preferences. Most of the time there are two kinds of links that you want to establish. You want to place an RSS button on the page, and you want the web browser's built in RSS button (or other features) to be activated. The first is just a regular link that gets built pointing to the RSS file, the second is a link tag placed in the head of the document specifying the RSS file as an alternate source of content. RSS DreamFeeder does both.

For the first you will click within the layout wherever you want to add a little RSS button. Then select your feed from the files list in the RSS DreamFeeder floating panel. Then click the Link button and select the type of link you want to add: Method: Normal Link; Text: RSS Feed; Image: Feed Icon 16. Then press OK and you will see that the link has been added to your page.

163

For the second you don't need to click anywhere within the document because the layout will not be impacted by a link added to the head of the document. Then select Alternative Content for the method. Text and Image don't apply this time so leave them blank. The press OK and you won't see anything. But if you try it in an RSS capable browser you will see the feature (a button or whatever) active.

164

How To: Notes: Emptying Your Feed When you are building and testing an RSS feed (especially an automated feed) you may end up with all kinds of random entries within your feed. You may also simply want a fresh start on your feed. To empty the contents of the feed without changing the settings established for the feed hold down the Option (mac) or Alt (win) key while clicking the Delete button (trash can icon) in the RSS DreamFeeder floating panel. You will be prompted to confirm your command. alt/option +

165

How To: Notes: Dates and File Capture Whenever any feed is processed or saved the last updated date is changed to be the current date. Your feed's last updated date is an important element of automated feeds because only files newer than that date are examined for content to add to the feed.

Controlling the dates on a feed allows you to control what files will be examined. There are two simple things that you might want to do to modify the date beyond what happens automatically: change the date to today and change the date to the last time it was processed (the date on the last entry in the feed). Hold down the Option (mac) or Alt (win) keys while clicking: The Process button will change the last processed date on the feed to the current date without adding new content. Doing this allows you to skip any file changes between the last processed time and the current time. Any files changed during that period will not be examined for content and will not have an impact on the feed. This is particularly useful if you have made major changes to your website (like changing templates) that update lots of files without actually changing the substance of the pages. The Process button with the Shift key will change the last processed date on the feed to the date of the oldest entry in the feed without adding new content. This is useful if you have modified the content of the feed manually (because that will change the last updated date) and want to slide the date back to capture file changes.

166

How To: Notes: Importing Stuff into a Feed At the top right of the Content tab you will see the Import button. This button launches the Import dialog box which will extract content from whatever file you specify. If your feed is a file-based feed with matches already identified then your matches are applied to the file you have selected and the resulting content is imported into your feed. If your feed is a manual entry feed then your file will be opened and the Content Sampler will be launched so that you can identify what content to extract from the file. If you have done that step before then you may optionally use your previous element identifications. If you are importing into a normally automated feed the normal settings will be used (you don't get the option to choose new settings).

167

How To: Notes: Lifetime of an Entry When generating content for the feed older entries remain in the feed until enough new content is collected to push the old content beyond the maximum length of the feed. This old content is retained even if the source of the content is deleted. If you choose to turn off Retain Entries (under Advanced/Summarize) all entries within the feed are checked against their original sources and if the source is missing/deleted the entry associated with that source is also deleted.

For summaries of single pages the entries are compared with the content on the page itself. When the content is removed from the source page it will be removed from the feed when it is processed next. For summaries of directories or sites, the link is what is looked at. If the link points to a file within the website and that file is missing/deleted the entry will be removed from the feed. Caution: This setting must be used with care because it is the only setting that will automatically remove content from your feed. Retained content is useful for pages that are like blogs, where the content that was on the page yesterday is still important today, but is simply not on the page because there is no room for it. Also, for sets of files that may not be available at the time of processing (especially when processing at a later date) retaining the content means avoiding accidental deletion of feed entries. You'll be better off using a reasonable Max Length for the feed and let time and content do the maintenance work. You can always get an entry back by going to the Content tab and importing the source page. Also, if you ever want to delete an entry from your feed you can simply go to the Content tab, select the entry to delete and press the delete/minus button at the top of the Entries list.

168

How To: Notes: Working with the Content Sampler On any panel where you see this Content Sampler button you can launch the Content Sampler and use it to define the extraction settings for your feed. The idea is that it is easier to point to something and say "Give Me That" rather than figure out what HTML codes are used behind the scenes. This isn't to say that you can't configure the extraction yourself, but rather that this can provide you with a nice starting point and is more than sufficient for basic feeds. When you press the Content Sampler button your feed will be temporarily saved and the Edit dialog will be dismissed. The RSS DreamFeeder floating window will now change its display to show the Content Sampler. Once in this mode you can open any files you want, highlight the content you would like to include in your RSS feed and sample it. After completing your sampling you can return to the Edit dialog by pressing the Done button in the bottom right corner of the RSS DreamFeeder floating window.

The Content Sampler lists the Content elements your feed is defined to use and identifies if a match (or Sample) has been defined for that Content. Samples identify the tag, id, class or template region for that item. Samples with a dash "-" have not been defined yet. 1. Choose the Content from the list If there is a Sample definition your text selection within Dreamweaver will change to highlight that element 2. Select the text you want to identify within your Dreamweaver document This is the text you want to identify to include in your RSS feed 3. Press the Sample button to change the definition for your Content (if its not a unique sample but you want to use it anyway hold down the option or alt key when you press the button)

Sometimes when sampling content the selected source doesn't have enough identifying information to make it a unique sample. When this happens you will see a caution message that says the Sample is Not Unique and the sample's settings will not be captured. You can force the sample to be selected by holding down the Option or Alt key on the keyboard and pressing the sample button. You may also want to change the preferences for the content sampler to make it more aggressive.

169

170

How To: Notes: Working with Templates 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). More importantly, we can then use this relationship in reverse to identify content and extract it from the page and into our feeds. RSS DreamFeeder is designed from the ground up to work with Dreamweaver templates. There are template-oriented features throughout, including restricting the source pages to particular templates and capturing content from specified template regions. If you templates defined in Dreamweaver they will automatically be listed within RSS DreamFeeder and you can simply select from the lists to specify which template or region you need.

171

How To: Notes: Working with Contribute Contribute is a great tool for editing page content. It provides an excellent interface for content authors to modify the textual content of a page (but lacks the advanced tools designers and developers need) so it is perfect for sharing the workload of creating content (get department A to create their own pages for the site) while keeping them integrated with the templates and style sheets you have worked so hard to establish. Plus its much less expensive than another copy of Dreamweaver. As they add their content to the site the new pages will show up in your files list within Dreamweaver. Simply process that new content with RSS Dreamfeeder and an automated feed and you should be good to go. RSS DreamFeeder doesn't care what editing the HTML, only that the pages are there and they have content to extract. However, RSS DreamFeeder is a Dreamweaver extension so it does require that you have at least 1 copy of Dreamweaver in the workgroup. On a technical note, Contribute has the ability to control the editorial workflow of file creation, but it does this by creating temporary files. Those temporary files should be ignored until they become approved content. That is RSS DreamFeeder default configuration but if you need to change it you can under Advanced/ Summarize.

172

How To: Notes: Working with InContext Editing InContext is a browser-based interface for editing web pages. If you mark a piece of content as editable with InContext and then post that page to InContext you can pass a link to that page to anyone anywhere in the world and they can edit the block you identified. Once edited you can integrated that back into your website. RSS DreamFeeder doesn't care what created the HTML it only cares that there is a page and that it has content. One the file is integrated back into the file set RSS DreamFeeder will work with it. On a technical note: InContext editable regions are identified with a DIV with a new attribute called ice:editable. As long as that DIV has a NAME, ID, or CLASS attribute it can be extracted by RSS DreamFeeder. These two tools can work together to make adding new content to your site much easier.

173

How To: Notes: Loading Errors, MIME Types, and File Extensions The default file extension for an RSS feed is ".rss". For ATOM feeds its ".atom" or ".atm". These file extensions tell the server what kind of file it is and the server passes that information on to web browsers and news aggregators as a piece of information called the MIME type. If your server doesn't pass the right MIME information to a web browser this can cause problems, but because these are relatively new formats your server may have troubles. If you are experiencing problems with these file extension change the extension to ".xml". RSS DreamFeeder can work with that file extension just as well and most web servers know how to handle it.

174

How To: Notes: When Your Bottom Directory Isn't Your Root Directory This is a rare exception, but some people have websites where one of the directories within the site is actually the root of the site externally -- for example a directory called "http" contains all the websites files and maps to "http://www.site.com". RSS DreamFeeder must convert all links from local/relative links to absolute links. To do this it must convert the local position within the website to an absolute URL. The absolute URL in normal circumstances maps to the root of the website, but if you have a website, like the example above, where a directory within the site maps to the Base URL then you must select that directory as the Alternate Root.

175

How To: Notes: Working in a Workgroup Environment When working in a multi-developer environment and passing around the RSS files you (or someone you work with) may encounter a dialog claiming that the Feed doesn't belong to the current site and asks if you would like to add it to the site.

This happens because either the name of the site or the path to the root directory of the site has changed. RSS DreamFeeder has to maintain the relationship between file locations and absolute URLs so it must know the current path to root. To avoid this problem in a multi-developer environment we suggest using a shared server volume so that the path to the volume is the same for everyone editing the files. That's all you need to do in a Mac environment because the network path will be used. The best way to do this in a Windows environment is to map a drive (I like W: for website) and just have everyone work off the mapped drive. Once the driver letter is established and the path consistent then you need to go to each developer's machine and be sure that the name of the website is the same and the path to the site is set consistently.

176