Sharepoint calendars offer an RSS feed that can be consumed by GeoEvent. This post will show how to parse this specific input.
The input connector 'Receive RSS' will handle subscribing to an RSS feed and parsing out the data into individual events. In the RSS specification, each <item> segment will be converted to a GeoEvent event. The exact structure of your RSS feed (in XML) may differ a bit (all sub-segments of item are optional), but in general it will contain the following XML segments:
Element | Description |
---|---|
title | The title of the item. |
link | The URL of the item. |
description | The item synopsis. |
author | Email address of the author of the item. |
category | Includes the item in one or more categories. |
comments | URL of a page for comments relating to the item. |
enclosure | Describes a media object that is attached to the item. It has 3 sub-segments: url - where the enclosure is located length - how big the enclosure is in bytes type - a MIME type for the enclosure |
guid | A string that uniquely identifies the item. |
pubDate | Indicates when the item was published. |
source | The RSS channel that the item came from. |
For the Sharepoint Calendar RSS feed, an example of the raw data is provided below. Notice that the <descripion> segment contains more than just a description. We'll have to parse that data out.
<?xml version="1.0" encoding="UTF-8"?>
<!--RSS generated by Microsoft SharePoint Foundation RSS Generator on 2/19/2019 9:08:00 AM -->
<?xml-stylesheet type="text/xsl" href="https://community.esri.com/services/ServiceCenter/_layouts/15/RssXslt.aspx?List=12345678-abcd-ef56-123a-b3c5d6e7f8ab" version="1.0"?>
<rss version="2.0">
<channel>
<title>Service Center: Calendar</title>
<link>http://serverfqdn/services/ServiceCenter/Lists/Calendar/calendar.aspx</link>
<description>RSS feed for the Calendar list.</description>
<lastBuildDate>Tue, 19 Feb 2019 17:08:00 GMT</lastBuildDate>
<generator>Microsoft SharePoint Foundation RSS Generator</generator>
<ttl>60</ttl>
<language>en-US</language>
<image>
<title>Service Center: Calendar</title>
<url>http://serverfqdn/services/ServiceCenter/_layouts/15/images/siteIcon.png</url>
<link>http://serverfqdn/services/ServiceCenter/Lists/Calendar/calendar.aspx</link>
</image>
<item>
<title>Test Title</title>
<link>http://serverfqdn/services/ServiceCenter/Lists/Calendar/DispForm.aspx?ID=60</link>
<description><![CDATA[<div><b>Location:</b> San Francisco</div>
<div><b>Start Time:</b> 2/19/2019 11:00 AM</div>
<div><b>End Time:</b> 2/19/2019 12:00 PM</div>
<div><b>Description:</b> This is a test description.There are a few line breaks here.
<b>Hello World</b></div>
<div><b>Category:</b> Meeting</div>
]]>
</description>
<author>Person Author</author>
<enclosure url="/services/ServiceCenter/_vti_bin/owssvr.dll?CS=96001&Cmd=Display&CacheControl=1&List={12345678-abcd-ef56-123a-b3c5d6e7f8ab}&ID=60&Using=%2Fservices%2FServiceCenter%2FLists%2FCalendar/event.ics" type="text/calendar" />
<category>Meeting</category>
<pubDate>Tue, 19 Feb 2019 17:03:46 GMT</pubDate>
<guid isPermaLink="true">http://serverfqdn/services/ServiceCenter/Lists/Calendar/DispForm.aspx?ID=60</guid>
</item>
</channel>
</rss>
Here's what I did to read/parse this feed:
The final GeoEvent Service looks like this:
At this point,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.