Home

RSS Feeds

RSS feeds adhere to the hCalendar standard. Since RSS is inherently unstructured in terms of event dates, descriptions, etc., Localist needs specific tags to be able to successfully import. RSS includes feeds from, but not limited to, ActiveData.

Platform Admin (Importing), Public (Exporting)

The Anatomy of a Localist RSS Feed

<rss>The opening tag must note the version attribute.

<channel>The channel tag is required in all RSS Feeds.

<title>This tag serves as a title for the Feed.</title>

<description>This tag will just be a brief description of events in the Feed.</description>

<item>This tag is required at the beginning of each event.

<title>This tag is simply the title of your event.</title>

<guid>The purpose of these tags is to note the External ID.</guid>

  • An External ID tells our system that content in the <guid> tag is event #1, so each time the Feed imports it will match the previously imported event #1. If your events do not have an External ID, Localist will see each event as “new” during every import.
  • The External ID can be anything, like a numerical string or a URL. If you are trying to link to an external website, you’ll have to use the <link> tag. Localist will recognize this as the External ID if <guid> is not present in the Feed.

<pubDate>This is where you’ll note the date and start time of your event.</pubDate>

  • Date/time MUST be in this format: Tue, 05 Nov 2019 03:30:00 GMT
  • Time MUST be in 24hr format
  • You MUST convert your time zone to GMT or UTC (these are interchangeable)
    • U.S. Standard Time & (GMT offset):
      • Eastern Standard Time (GMT -5)
      • Central Standard Time (GMT -6)
      • Mountain Standard Time (GMT -7)
      • Pacific Standard Time (GMT -8)
      • Alaska Standard Time (GMT -9)
      • Hawaii-Aleutian Standard Time (GMT -10)
    • U.S. Daylight Time & (GMT offset):
      • Eastern Daylight Time (GMT -4)
      • Central Daylight Time (GMT -5)
      • Mountain Daylight Time (GMT -6)
      • Pacific Daylight Time (GMT -7)
      • Alaska Daylight Time (GMT -8)
    • Exceptions: Arizona and Hawaii do NOT honor Daylight Savings Time, so they will always be in Standard time.
  • If the event’s date/time has advanced to the next day in GMT/UTC, this must be reflected in the Feed for it to display properly in Localist.
    • For example, say an event in your Feed is on Nov 4th at 7:30 pm PST. When you advance the time forward 8 hours, that exact moment in GMT would be Nov 5th at 3:30 am. So, you would have to write that as <pubDate>Tue, 05 Nov 2019 03:30:00 GMT</pubDate> in the Feed for Localist to convert it to Nov 4th at 7:30 pm PST.

<description>This where you’ll include the description for your event.</description>

</item>This tag is required at the end of each event.

</channel>This tag is required at the end of the Feed.

</rss>This tag is required at the end of the Feed.

 

– HEADS UP –

At this time, our parser does not accept images. If you add a Feed with the <image> tag, our parser will import events as if that tag is not present.

 

Building a Custom RSS Feed

If you’d like to build your own RSS Feed you can do so with Localist’s Custom Widget Templates. Here’s how:

  • Navigate to Content > Widgets
  • Click + Add Template

    name the Template something like “Custom RSS” > uncheck Active > Save Changes

    HEADS UP: It does not matter what template you are copying

  • Then replace the code in the Template with the following RSS code > Save Changes

    (the code includes a handful of Localist attributes, so from here you can remove, rearrange, and relabel as needed)

    <?xml version="1.0" encoding="UTF-8" ?>
    <events>
    {% for event in events %}
    <item>
    <id>{{event.id}}</id>
    <name>{% unless event.status == 'live' %}{{ site.snippets.event_status[event.status] }}: {% endunless %}{{ event.name }}</name>
    <url>{{event.url | escape }}</url>
    <start-date-time>{{event.starts_at | date: "%Y-%m-%dT%H:%M:%SZ"}}</start-date-time>
    <end-date-time>{{event.ends_at | date: "%Y-%m-%dT%H:%M:%SZ"}}</end-date-time>
    <description>{{ event.description_text | unescape | escape }}</description>
    <location>{{ event.place.visible_name }}{% if event.room_number %} {{ event.room_number }}{% endif %}</location>
    <image>{{ event.photo.big_square | escape }}</image>
    </item>
    {% endfor %}
    </events>

  • In the template editor, select Edit

    then check off Active (so it will be made available in your Widget Builder)

  • In the Widget Builder, select Custom RSS as the Template option

    then specify any additional Classifications or settings

  • Select Preview Widget at the bottom of the builder

    Adjust the preview URL with any additional parameters, like “start”

  • Use the final preview URL as the feed URL

Was this article helpful?