Example - RSS Feed
RSS for third party content
Concrete5 already has an RSS block, but its a bit tired and inflexible. If you want to do more with an RSS feed you either need to get coding for a block template and possibly a controller override, or you can explore the possibilities with Universal Content Puller.
As an RSS feed will be external to the site, the Content Source to use will again be URL.
Basic feed
To investigate the possibilities, we need an RSS feed. NASA is a good source. From those available, the example here uses Breaking News at https://www.nasa.gov/rss/dyn/breaking_news.rss.
The Multi Selector Content Transform can pick out items from XML data.
- Source content type - XML / XHTML
- Container css selector - channel
- Level 1 - item
- Level 2 - [blank] (for all children) + Return text with attributes, url src type title alt
For display, The Multi Level List Content Display has the flexibility to display the pulled RSS in many ways.
- Level 1 - Paragraphs + First child value
- Level 2 - Definition List, horizontal + Capitalised keys + Filter 1 Title Source Enclosure Type Guid Dc:identifier, Source Url.
The filters are to remove elements pulled from the XML that would clutter our display. Definition List, horizontal is a good list type as it shows all the headings (keys), so can help identify what to add to the filter.
As the RSS feed can be long, its an ideal place to explore the pagination capabilities of UCP. Here the pagination is set very low so we don't fill too much of this page.
- Outer list items to display - 2
- Paginate - Below
- Include block identity in pagination - No
By leaving out the block identity in the pagination, all variations of the RSS feed shown on this page will paginate together!
In the Advanced tab, the main settings we need are the Advanced Autolinker and to Render Image URLs as Images. An important point here is that the settings don't change the file size of images, just the maximum size they are displayed.
NASA to Host Virtual Briefing on February Perseverance Mars Rover Landing
- Link
- www.nasa.gov/press-release/nasa-to-host-virtual-briefing-on-february-perseverance-mars-rover-landing
- Description
- NASA is hosting a media briefing on Wednesday, Jan. 27, at 4:30 p.m. EST to discuss the upcoming landing of the Mars 2020 Perseverance rover.
- Enclosure Url
- Pubdate
- Fri, 15 Jan 2021 13:03 EST
- Source Url
- www.nasa.gov/rss/dyn/breaking_news.rss
NASA Science to Host Community Town Hall
- Link
- www.nasa.gov/press-release/nasa-science-to-host-community-town-hall-0
- Description
- NASA’s Science Mission Directorate will hold a community town hall meeting with Thomas Zurbuchen, the agency’s associate administrator for science, at 2 p.m. EST Monday, Jan. 25.
- Enclosure Url
- Pubdate
- Thu, 14 Jan 2021 17:20 EST
- Source Url
- www.nasa.gov/rss/dyn/breaking_news.rss
Getting the items in order
By default, the various elements are shown in the sequence they are declared in the XML of the RSS feed. That can be changed by entering a Shuffle sequence for the second list level.
The version below has a Shuffle set to Pubdate, Description, Enclosure Url, Link.
NASA to Host Virtual Briefing on February Perseverance Mars Rover Landing
- Pubdate
- Fri, 15 Jan 2021 13:03 EST
- Description
- NASA is hosting a media briefing on Wednesday, Jan. 27, at 4:30 p.m. EST to discuss the upcoming landing of the Mars 2020 Perseverance rover.
- Enclosure Url
- Link
- www.nasa.gov/press-release/nasa-to-host-virtual-briefing-on-february-perseverance-mars-rover-landing
NASA Science to Host Community Town Hall
- Pubdate
- Thu, 14 Jan 2021 17:20 EST
- Description
- NASA’s Science Mission Directorate will hold a community town hall meeting with Thomas Zurbuchen, the agency’s associate administrator for science, at 2 p.m. EST Monday, Jan. 25.
- Enclosure Url
- Link
- www.nasa.gov/press-release/nasa-science-to-host-community-town-hall-0
Removing the titles
For a variation, the Level 2 list type can be set to Paragraphs + none.
As a side effect, the Level 2 items no longer have headings, so they can only be filtered and shuffled by number. Hence an intermediary step is to set Paragraphs + Number 1,2,3 to see the numbers of the items. Then make a note of the numbers to filter, below these are 1 2 5 8 9 10, then change to Paragraphs + none for the finished list.
Having filtered, the numbers for shuffling are reset to a contguous 1,2,3... Here we need to actually count from the start of our filtered numbers. The publication date is the 4th item and the rest are already in the sequence we want, so simply setting Shuffle to 4 will achieve the desired effect.
NASA to Host Virtual Briefing on February Perseverance Mars Rover Landing
Fri, 15 Jan 2021 13:03 EST
NASA is hosting a media briefing on Wednesday, Jan. 27, at 4:30 p.m. EST to discuss the upcoming landing of the Mars 2020 Perseverance rover.
www.nasa.gov/press-release/nasa-to-host-virtual-briefing-on-february-perseverance-mars-rover-landing
NASA Science to Host Community Town Hall
Thu, 14 Jan 2021 17:20 EST
NASA’s Science Mission Directorate will hold a community town hall meeting with Thomas Zurbuchen, the agency’s associate administrator for science, at 2 p.m. EST Monday, Jan. 25.
www.nasa.gov/press-release/nasa-science-to-host-community-town-hall-0
Adding Style
We now have a few options for a readable RSS feed where we have complete control over what data is presented and the sequence it is shown.
All that is left is to add a bit of style. Each item in the UCP list is assigned classes based on heading and position in the list, so styles could be added to the theme, or (slightly naughty) declared in an HTML block, or placed in a Header Extra Content attribute as we have done here.
The styles can be localised to a specific UCP block by adding a unique wrapper class in the Advanced tab of the edit dialog. In this case example-styled.
The Shuffle order has also been revised to 2, 4, 1 to place the image first and then float it to the right.
[code]<style> .ucp-body.example-styled .ucp-item-2-2{ font-size:80%; font-style:italic; } .ucp-body.example-styled .ucp-item-2-1{ float:right; margin-left:15px; } .ucp-body.example-styled .ucp-item-2-1 img{ max-width:200px; } .ucp-body.example-styled h3{ clear:both; } </style>[/code]
NASA to Host Virtual Briefing on February Perseverance Mars Rover Landing
Fri, 15 Jan 2021 13:03 EST
NASA is hosting a media briefing on Wednesday, Jan. 27, at 4:30 p.m. EST to discuss the upcoming landing of the Mars 2020 Perseverance rover.
www.nasa.gov/press-release/nasa-to-host-virtual-briefing-on-february-perseverance-mars-rover-landing
NASA Science to Host Community Town Hall
Thu, 14 Jan 2021 17:20 EST
NASA’s Science Mission Directorate will hold a community town hall meeting with Thomas Zurbuchen, the agency’s associate administrator for science, at 2 p.m. EST Monday, Jan. 25.
www.nasa.gov/press-release/nasa-science-to-host-community-town-hall-0