RSS file format: short introduction - eng

Unofficial Content

versión en español aquí


It's been a long time since "RSS" (Really Simple Syndication) file format became a standard for the publication of news/innovations at different sites.  Lately, it has reached a wider scope, covering not only the news published by some sites but also the information published by a great number of sites, even with other purposes/scope.

In particular, "business" applications have also started to use it as a way to provide "feeds" to other applications or end users that use standard "RSS readers" (or RSS Aggregator).  Somehow, it allows a user or application to be "subscribed" to a site or to part of a site or even to a specific application, in a simple way. 

Its great advantages are: being quite simple (as its name goes) and being a universal standard. 

Some basic definitions that are not "technically accurate" but provide a contextual knowledge to understand the rest of the article (For further information please refer to and

What is an RSS file?

It is an XML with specific pre-established "elements", some of them mandatory and some other optional. The available "elements" depend on the RSS specification version being used.  

See RSS schema.

What is an RSS Feed ?

Basically, it is a program that provides "RSS", it is an URL that returns these XML.

What is an RSS Reader / RSS Aggregator?

It is a program where you can register these "feeds" (RSS providers) and present the information in a way the end user can understand. The features may vary from one Reader to the other; nevertheless, all of them do essentially the same.  

Applying RSS to business applications 

If a user is interested in "technological news", he must certainly have some sites as a reference source of the topic. This allows the user to query the site frequently or even to be subscribed to a newsletter from the site.  

As regards RSS, the user does not subscribe to a newsletter; instead, he catalogues in his own reader the feeds he is interested in of the sites he is interested in. This will provide him with all the desired contents (regardless of their source) in only one interface, with no need to go to the site or receive e-mails with the frequency determined by the supplier.  

As far as business applications are concerned, they currently operate basically on the understanding that the users are known (or at least a clear user profile is known) and the use they will do of the application is also known (the features to be covered and how they will be covered). Furthermore, the other applications which "consumes informartion"  are known as well.

This is not the case with RSS, or at least this is not necessarily the case. In addition to meet its purpose and get integrated with the rest of the applications (through "trays", webservices and the like, or even RSS), an application will provide information in a standard way so that other users or applications, which were not originally anticipated, will be able to use it.  RSS is also one of the basis over which "mashups applications" are created. 

Having RSSs "external" to the company (news sites, measures, information in general, etc.) is quite useful for the user, since they provide him with a "world vision". He can obtain this in a standard format, with the frequency that suits him, etc. 

Paradoxically, the user obtains the "internal" information (generated in the company) through other means (typically via e-mails or accessing specific applications) and no advantage is taken from the existence of the RSS. The question is: why not providing the internal information in the same way in which the information of the world around us is provided/used?

What information would be published as RSS?

Answering this a priori is difficult, taking into account that  all the information can be useful for another application or simply for a user to know it, then all of it must be published and, eventually, the user will define what "feed" to use and what not to use.  Anyway, this will be determined by the application developer and possibly the only information to be published will be the one concerning the modifications to entities (a new customer, a new contact, a modified product, etc.) or to business operations (a new invoice, a purchase order, etc.), or even to specific moments (a balance sheet closing, a monthly settlement, a ship departure with a specific cargo, etc.). 

Summing up: the use of RSS outside the company will allow a stronger integration with the environment and will enhance the use of this information, and the use of RSS within the company will allow a wider and better access to this information.  

How to publish RSS feeds using GeneXus?

This is not conceptually complex, it consists simply in provide an XML file with a specific format and make it available in an URL (this would be the feed) to be accessed by an "RSS reader".

The XML file has some mandatory requirements (title, link, description, etc) and some optional ones (author, copyright, language, etc). For further information please refer to RSS specification .

Technically, in GeneXus this will be implemented with a procedure called via HTTP (a "main" procedure with "Call Protocol=HTTP"), which access/read the information to be published and generates the XML to be sent back to the reader via an XMLWriter.

In any case, there is nothing simpler that applying a pattern, and fortunately there is a pattern that does exactly this and can be obtained here].
Given the existence of this pattern, we can say that instead of "thinking and implementing how to publish RSS feeds with GeneXus" I have documented how to apply the pattern and what the pattern generates. You can read this documentation here.