Skip to content

RSS Definition

XML EXAMPLE

<?xml version="1.0"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <item>
            <guid>661e4533afef0661e4533afef4</guid>
            <title>20% discount</title>
            <description>Grocery from local distributors</description>
            <category/>
            <pubDate>2024-04-16 00:00:00</pubDate>
            <endDate>2024-05-21 00:00:00</endDate>
            <changeDate>2024-04-15 16:00:01</changeDate>
            <link>https://.../661e4533afef0661e4533afef4/</link>
            <media:content url="https://.../6533afef4.jpg" type="image/jpeg"/>
            <media:group>
                <media:content url="https://.../JHR0906799.pdf" name="Document name" type="application/pdf"/>
                <media:content description="Long information text ..." type="text/plain"/>
                <media:content type="text/html">
                    <![CDATA[
                    <h1>Title</h1>
                    <p>HTML formatted text</p>
                    ]]>
                </media:content>
            </media:group>
        </item>
    </channel>
</rss>

Properties

  • channel.item.guid
    • unique ID of the channel item
    • never change
    • usually the database record ID
  • channel.item.title
    • Title of the channel item
      • can NOT be empty
    • optional HTML formatting
  • channel.item.description
    • Description of the channel item
    • optional HTML formatting
  • channel.item.category
    • If channel has multiple categories, this is the name of the item category
      • if everywhere is only one category, the category picker will not be visible in the preview
  • channel.item.author
    • name of the post creator
  • channel.item.link
    • address pointing to the webpage
    • preview is a QR code to scan with a mobile device
  • channel.item.pubDate
    • date-time when the item was created
  • channel.item.endDate
    • date-time of the last day of visibility
    • if the current device time is after endDate, the post becomes invisible
  • channel.item.changeDate
    • date-time of the last change of the channel item
    • the item will remain cached (by guid); if it changes, it will be fetched again
  • channel.item.content, channel.item.image
    • the same as channel.item.media:content
  • channel.item.media:content
    • image representing the channel item
    • required attributes: URL, type
      • enabled type IMAGE
  • channel.item.media:group
    • media container for multiple content types
      • can contain one or more media
  • channel.item.media:group.media:content
    • media item
    • enabled types IMAGE, VIDEO, DOCUMENT, HTML, TEXT

Item parameters

Parameter Attribute Required Type Example
guid - YES Text / Number 548A59C5B5E
title - YES Text / HTML Great news
description - NO Text / HTML This is BIG news
link - NO Url https://...
category - NO Text News
author - NO Text Bill Johanson
pubDate - YES Date-Time Wed, 02 Oct 2002 08:00:00 +0000
endDate - NO Date-Time Wed, 20 Oct 2002 08:00:00 +0000
changeDate - NO Date-Time Wed, 03 Oct 2002 08:00:00 +0000
media:content - NO Entry
media:content url YES Url https://...
media:content type YES Content-Type image/jpeg
media:group - NO Group

Entry inside Media group

Image, Document, Video

Parameter Attribute Required Type Example
media:content - YES Entry
media:content url YES Url https://...
media:content type YES Content-Type image/jpeg
media:content name NO Text Media name

Html

Parameter Attribute Required Type Example
media:content - YES Text / HTML Large text, HTML can be used
media:content type YES Content-Type text/html

Text

Parameter Attribute Required Type Example
media:content - YES Entry
media:content type YES Content-Type text/plain
media:content description YES Text Short text description

Supported content-types

  • IMAGE
    • image/webp
    • image/jpeg
    • image/png
  • VIDEO
    • video/mp4
    • video/x-msvideo
    • video/webm
    • video/quicktime
    • video/x-m4v
    • video/mpeg
  • DOCUMENT
    • application/pdf
    • application/rtf
    • application/msword
    • application/vnd.openxmlformats-officedocument.wordprocessingml.document
    • application/vnd.ms-excel
    • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    • application/vnd.ms-powerpoint
    • application/vnd.openxmlformats-officedocument.presentationml.presentation
    • application/vnd.oasis.opendocument.text
    • application/vnd.oasis.opendocument.presentation
    • application/vnd.oasis.opendocument.spreadsheet
  • TEXT
    • text/plain
      • text/html

Logic

The server connects to the configured RSS channels and retrieves their definitions. These definitions are stored locally.

New media files are downloaded, converted, and prepared. Unused media and items are removed.

If there are any differences between the previous and current definitions, the updated definition is sent to all devices linked to the channel.

Devices then download the prepared media from the server.

Determining whether an item is new, removed, or updated

  • if the guid from the new definition is not in the old definition`
    • it is a new item
    • all media from the new definition are downloaded, converted, and prepared
  • if the guid from the old definition is not in the new definition
    • it is an old item
    • all media from the old definition are removed
  • if the guid exists in both the old and new definitions but the changeDate is not equal
    • it is a changed item
    • all media from the old definition are removed
    • all media from the new definition are downloaded, converted, and prepared