Requires php7+

Universal Content Puller

UCP Workflow Diagram

Pull content from many places. Transform it in many ways. Display it in many ways.

Universal Content Puller can pull content from a range of Content Sources, transform that pulled content using a range of Content Transforms, then display the transformed content using a range of Content Displays.

Once installed, you will have:

  • A Universal Content Puller block in the Basic block group.
  • Dasboard pages at Dashboard > Stacks & Blocks > Universal Content Puller

Some of the things you can do with Universal Content Puller:

  1. Use Parent Area to implement a set of common sidebars for each region of your site, in the same way as UCP has been used to provide a common sidebar for these documentation pages.
  2. Use Child Area to prepend a blog list with some actual content from the most recent blog post.
  3. Use Page Area to show a selected area or snippet of content from another page.
  4. Show third party CSV files as formatted tables.
  5. Show CSV files in the concrete5 file manager as formatted tables.
  6. Pull in snippets of content and tables from other sites.
  7. Display tabular data as a Chart - requires Universal Content Puller Charts
  8. Generate page lists and user lists with full control of what information is displayed.
  9. For quick display development, use a simple Element file to format all data or each item in a list - requires Universal Content Puller Elements (Free).
  10. Pull files of data from anywhere on the web or from the concrete5 file Manager.
  11. Show JSON data as formatted lists or tables.
  12. Embed JSON data in a page for use with your own JavaScript.
  13. Extract data from XML or RSS feeds and show it in lists or tables.
  14. Pull using SQL from any database - requires Universal Content Puller XX Sources (Free).
  15. Filter any tabular data with an SQL query - requires Universal Content Puller XX Sources (Free).
  16. Do any of the above with AJAX.
  17. Pull anything into a dropdown, lightbox or slideout using Button Nav templates for UCP.
  18. Use as a basis for integrating any API sourced data.

Have a look through the available Content Sources, Content Transforms and Content Displays. These can be mix and matched for boundless possibilities.

Easy Setup

  1. On this site find an example similar to what you require, click the View settings button, copy the settings JSON.
  2. On your page, add a block. On the Support tab click the button to Import settings, paste the settings JSON and import,
  3. On the advanced tab, clear the radio button that enables the export button. You probably don't want to show that on the front end of your site!
  4. Edit the settings to what you require. Most importantly, in the Content Source tab, adjust any concrete5 Page, File or User Selection as IDs will change between sites.

Detailed Setup Workflow

1. Select a Content Source to pull

  • Stacks and Global Areas
  • Areas of pages in the site (by page, parent or child)
  • Files from the file manager
  • From a page list, user list, express list, calendar event list
  • Files from anywhere by path or URL
  • From a Google Sheet
  • Query any database with SQL - requires Universal Content Puller XX Sources (Free)

2. Transform it with a Content Transform

  • Markdown to HTML
  • Add line breaks
  • Table from CSV, HTML, XML, JSON or Text lines
  • Sort a table by row or column
  • Extract from CSS or XML by selectors into text or multi-dimensional array
  • Build complex transforms with a pipeline. Sort, slice and shuffle tabular data.

3. Display it with a Content DIsplay

4. When displaying array data

  • Add Headings
  • Filter
  • Shuffle
  • Paginate

5. Advanced 

  • Direct or AJAX and AJAX marker
  • Direct or Cache
  • Autolink and Auto-Image
  • Block wrapper element and class
  • Edit mode and recursion markers


Universal Content Puller is designed for extension. Content sources, transforms and displays follow a pluggable and extensible architecture for easy integration of further sources, transforms and displays from within UCP or provided by third party packages or your own application specific plugins. Customized display is now even easier with Universal Content Puller Elements.

Universal Content Puller

jl_universal_content_puller - v9.2.0 - resources v9.1.8

Pull content from many sources and display it in many ways.

Block Types Single Pages
  • Universal Content Puller /dashboard/​blocks/​universal_content_puller Pull content from many sources and display it in many ways.
  • Plugins /dashboard/​blocks/​universal_content_puller/​plugins Plugins for the Universal Content Puller block
  • Global Settings /dashboard/​blocks/​universal_content_puller/​global_settings Edit global settings and defaults for the Universal Content Puller block.

Universal Content Puller Charts

jl_universal_content_puller_charts - v9.0.0

Charting extension for Universal Content Puller. If you can pull data to a table, you can show it in a chart!

Universal Content Puller XX Sources

jl_universal_content_puller_xx_sources - v9.0

Sources extension for Universal Content Puller. The sources in this extension are XX because they are the kind of source you may not want to let just anyone loose with, hence a separate package so they don't have to be installed with less sensitive sources.

Universal Content Puller Elements

jl_universal_content_puller_elements - v1.0

Use Concrete CMS Elements for Content Display in Universal Content Puller to provide customised display of pulled content.

ConcreteCMS Marketplace v1.0

Universal Content Puller Attribute

jl_universal_content_puller_attribute - v0.9.1

An attribute to select from previously stored Universal Content Puller settings and render the pulled content.

Attribute Types
UCP Stored Setting Collection

Additional Pages

About this Sidebar

Creating a sidebar for a group of pages without messing about with stacks is an easy use-case for Universal Content Puller.

This sidebar is edited once, within the main addon page for Universal Content Puller.

It is then pulled into all UCP sub-pages using a UCP block.

The Content Source is Parent Page, set to pull the Sidebar area from 2 pages from the top. The Content Transform is Selector, set to remove container and row classes that, when unnecessarily nested, could mess up the Bootstrap grid. The Content Display is Plain, which just outputs the transformed text.

In the advanced settings, sanitization is disabled as we trust the source page and don't want to strip out any formatting or functionality from the pulled sidebar.