class %iKnow.Source.RSS.Lister extends %iKnow.Source.Lister

This is a very simple Lister implementation to retrieve RSS data. The Lister will read feeds through a HTTP request and store the set of items retrieved as separate Sources.

Lister Parameters to be supplied to AddListToBatch() and ProcessList() calls:

  1. server As %String - The server address to access. fe: "feeds.bbci.co.uk"
  2. URL As %String - The URL path (appended to the server name) leading to the RSS XML, fe: "/news/world/rss.xml"
  3. standard As %String - The RSS standard used to interpret the RSS XML, fe: "Atom2.0"
  4. checkExists As %Boolean - Whether or not to check whether an RSS item already exists before attempting to store it (skipping if it exists), default 1
  5. textElements As %String - A comma-separated list of RSS item elements to include as the text contents to index for this source. Defaults to "description". (For compatibility with the old "includeTitle" parameter, values 0 and 1 are translated to "description" and "title,description" respectively.

External ID structure: [GroupName]:::[LocalRef]

Extracted metadata: these metadata fields will be populated with corresponding values for each RSS item, where present.

Lister alias: "RSS"

Default Processor: %iKnow.Source.Temp.Processor

Method Inventory (Including Private)


private classmethod BuildFullRef(domainId As %Integer, groupName As %String, localRef As %String) as %String [ Language = objectscript ]

Builds the full ref by appending the group name and local reference, adding a triple colon in between.

See also BuildFullRef() in %iKnow.Source.Lister.

classmethod DefaultProcessor() as %String [ Language = objectscript ]

This Lister uses %iKnow.Source.Temp.Processor, as all RSS content is saved locally through StoreTemp() calls.

method ExpandList(listparams As %List) as %Status [ Language = objectscript ]

Fires an HTTP request to retrieve the RSS xml and then finds the RSS items therein, storing them locally through StoreTemp() calls. If they exist in the domain, this Lister will also retrieve and populate the "PubDate", "Link" and "Title" metadata fields.

See also ExpandList() in %iKnow.Source.Lister.

classmethod GetAlias() as %String [ Language = objectscript ]

Lister alias: "RSS"

private classmethod SplitFullRef(domainId As %Integer, fullRef As %String, Output groupName As %String, Output localRef As %String) as %Status [ Language = objectscript ]

Identifies the ":::" separator and takes whatever comes before as the group name and the second part as local reference.

See also SplitFullRef() in %iKnow.Source.Lister.

Inherited Members

Inherited Properties (Including Private)

Inherited Methods (Including Private)