doc
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
RSS FEED INTERFACE ------------------ RSS is very cool! To see it in action look no further than Firebird 1.0. Then go to an RSS-enabled site, e.g slashdot.org . Note the little orange icon down in the right corner of the browser window. Click on the icon and add the RSS-feed to you personal toolbar. Then click on your toolbar, on the RSS-bookmark and watch the nice menu of slashdot article-summarys popping up. The module yaws_rss.erl provides an RSS store/interface so that you can RSS enable your application. More documentation can be found in the yaws_rss.erl file (edoc). TO CREATE AN RSS FEED -------------------- Make sure your top page has the corresponding link information in the 'head' part as shown in the example below: index.html ========== <html> <head> <link rel="alternate" title="Example RSS" href="https://localhost:3080/rss.yaws" type="application/rss+xml> <title>Example</title> </head> <body> Hello world </body> </html> ========= The link info above refers to a file rss.yaws which could look something like this: rss.yaws ======== <erl> out(A) -> case yaws_rss:retrieve(test, xml) of {ok, Xml} -> {content, "text/xml", head()++Xml++tail()}; _ -> {content, "text/xml", ""} end. head() -> "<rss version=\"2.0\" xmlns:dc=\"https://purl.org/dc/elements/1.1/\"> <channel> <title>Exampel RSS feed</title> <link>https://www.blaha.org/</link> <description> Bla bla.... </description> <language>en</language>". tail() -> " </channel> </rss>". </erl> ======== To insert RSS items into the feed from your application, you can write code like: .... yaws_rss:insert(test, xml, "Yaws now support RSS feeds.", "https://www.blaha.org/latest_news.html", "Yaws has now been extended to support....", "Bill Smith"). .... First comes the application (RSSid) then a tag (these were used in rss.yaws when we retrieved the RSS content). Then follows the Title, Link, Description and Creator. The idea is that several independent application should be able to use the yaws_rss.erl API without affecting each other. Also, one application may have several RSS feeds (hence the Tag). HOW TO CONFIGURE RSS -------------------- Inside a <server> block you specify the application you want to produce RSS content as: <rss> rss_id = <application> rss_dir = <database directory> </rss> The rss_id corresponds to the 'App' argument above and must be defined by the application in question. So, for example, the wiki application is using 'wiki' as rss_id. The rss_dir setting specifies the directory where the RSS database resides. Both are mandatory. Other, non-mandatory, configuration parameters are (with explanation and default values): <rss> rss_expire = false | days # expire items, or not (false) rss_days = <integer> # days until expired rss_rm_exp = <bool> # remove expired items (false) rss_max = <integer> # max no.of items stored (infinite) </rss> Good luck ! Tobbe