Sources: Feeds, Calendars, APIs and Spreadsheets in YOOtheme Pro
- Joomla
- WordPress
- YOOtheme Pro 4.5 & 5
In short: Sources brings external data into YOOtheme Pro dynamic content: RSS, iCal with recurring events, JSON APIs, CSV and Google Sheets, YouTube and Google Reviews. Everything is fetched on your server, no visitor data goes to third parties. The license costs €29 for up to three websites, plus VAT, added at checkout by CopeCart.
- Websites
- Up to 3 websites
- Updates & support
- 1 year
Annual license with updates & support - as a one-time purchase or subscription. A subscription renews automatically; a one-time purchase expires after 12 months.
- Secure payment & invoice via CopeCart
- Digital product: the right of withdrawal expires once the download is provided.
- Version
- 1.0.0
- Updated
- 30 Sept 2026
What Sources does
- Seven sources: RSS/Atom, iCal, JSON, CSV and Google Sheets, YouTube, Google Reviews and, on Joomla, Joomla banners
- Automatic field detection: JSON and CSV connections with your own label and type per field, sub-lists included
- iCal with recurring events: exceptions, all-day and multi-day events from Outlook, Google and Nextcloud
- German number formats: 6,50, 1.234,50 or 1.500 € are read correctly
- Failsafe: fetched on your server with a cache, the last good data for up to seven days if a source fails
- Privacy and security: no visitor data to third parties, internal network addresses blocked, every redirect checked
About this product
Sources is not a builder element but a collection of data sources for YOOtheme Pro dynamic content, on Joomla and on WordPress. You take an element whose design you like, such as a grid, a list or a slideshow, and connect it to a feed, a calendar, an API or a spreadsheet. The fields appear in the Dynamic Content dialog in the Tonino Gerns group, just like posts or articles. The look stays your decision in the builder, the source delivers the content.
The sources at a glance
- RSS and Atom feeds: title, text, HTML content, date, link, image and author from any feed URL, for news, blog posts or podcast episodes
- iCal calendars: events from Outlook, Google Calendar, Nextcloud or a waste collection calendar, with recurring events, exceptions, all-day and multi-day events within a time window
- JSON APIs and JSON files as named connections with their own fields
- CSV files and published Google Sheets, set up the same way as JSON connections
- YouTube: the latest videos of a channel or playlist, optionally without Shorts. This needs your own YouTube Data API key
- Google Reviews: average rating, count and up to five reviews of a business profile. This needs your own Google Places API key
- Joomla banners from com_banners, single or as a filtered list, Joomla only
JSON and CSV: connect once, get real fields
You set up an API or spreadsheet once in the customizer instead of typing a URL and column names into every binding. Give the connection a name and enter a URL or pick a file from the media folder of your site. A click on "Detect fields" reads the first entries, suggests the path to the list for JSON and sets a label and a type for every field: text, HTML, number, yes/no, date, URL or image. You decide which fields to use.
Each connection then appears as its own source, for example "JSON - Product Catalogue" or "CSV - Opening Hours", with exactly the fields you enabled. Lists inside an entry, such as the reviews or images of a product, are available as joined text and as a sub-list that a multiple items element can repeat. Renaming a connection keeps your bindings intact. If an API needs an access key, it goes into the token field of the connection and is only sent to the server of that URL.
Instead of a URL you can use a CSV, JSON or TXT file from the media folder of your site, up to 5 MB. If you replace the file, the new version applies from the next page view. Sources reads numbers in German as well as English notation, such as 6,50, 1.234,50 or 1.500 €. Ambiguous values like 1.500 without a currency sign are not suggested as a number by field detection, instead of being silently misread.
One panel for everything: TG - Sources
Everything is set up in the YOOtheme customizer under Settings, TG - Sources. There you switch each source on or off, store the API keys, create connections and set how long data stays in the cache. The defaults: RSS and iCal one hour, JSON and CSV 15 minutes, YouTube six hours, Google Reviews 24 hours. For each source you see when the last fetch succeeded and which error occurred last, and you can clear the cache.
API keys and access tokens are not stored in the theme settings but separately in the plugin settings. After saving, the panel only shows "stored", the value never goes back to the browser and is not part of any theme settings export. Only Super Users on Joomla and administrators on WordPress can change it, network administrators on a multisite network.
Fetched on your server, not in the browser
Your server fetches all data, not the browser of your visitors. Their IP addresses are therefore not sent to third-party services when a feed, a calendar or an API is loaded. Results are cached, so the page does not wait for a third-party API on every request. If a source fails, Sources shows the last good data for up to seven days instead of an empty spot.
One exception you should know: images from feeds, YouTube thumbnails and profile photos from Google reviews remain addresses on third-party servers. If your layout displays them, the browser loads them from there. Like any embedded third-party resource, this belongs in your privacy policy.
Third-party data, cleanly filtered
Whatever comes from a third-party feed ends up on your page. That is why Sources only fetches http and https addresses, blocks private and local network addresses, checks every redirect again and pins the checked IP address, so a DNS trick cannot lead into the internal network after all. Every request is limited to 5 seconds and 5 MB. Text fields arrive as plain text, HTML fields pass an allowlist of tags, links and images are only allowed with http or https. Cleaning happens before the cache, only clean data is stored.
Google Reviews and German competition law
The Google Places API returns at most five reviews per business, sorted by relevance. Sources can filter them by minimum stars. If you only show selected reviews, you should also show the average rating and the total count and link to Google, otherwise you risk misleading visitors under German competition law (UWG). The source always provides the fields for this: average, total count, links to the profile and to all reviews, and the Google attribution. The setting in the builder points this out.
License and activation
One license covers up to three websites, on Joomla or WordPress. With the download key from your customer account, Sources activates itself for the domain of the website. The TG - Sources panel then shows the site ID, and you find the same ID in your customer account under license management. That is also where you release a website again when you move or need the slot for another website.
Local environments such as localhost, private network addresses, .test, .local or .ddev.site run without activation and do not use a slot. A staging copy under dev., staging., test., demo. or sandbox. of an activated domain is included. Activation works online: your website needs a connection to the license server once and then syncs the activation once a week. There is no offline activation code for Sources. As long as a live website is not activated, the sources show no content there.
Quick start
- Install the plugin. On Joomla it activates itself, on WordPress you activate it in the plugin list.
- Enter the download key from your customer account: on Joomla under System, Update Sites, on WordPress under Settings, Sources. This gets you updates and activates Sources for your website.
- Open the YOOtheme customizer and switch on the sources you need under Settings, TG - Sources. Enter the API key for YouTube and Google Reviews, and for JSON and CSV create a connection and let it detect the fields.
- Select an element in the builder, for example a grid, and choose the source in the Dynamic Content dialog in the Tonino Gerns group.
- Map the fields of the source to the title, content, image and link of the element.
If something does not show up
- The sources show no content on the live website: Sources is not activated there yet. The TG - Sources panel shows under License what is missing. If the license is already active on three websites, release one in your customer account or buy another license.
- A bound element has disappeared: the source is switched off in the panel or the connection was deleted. YOOtheme hides elements without a valid source.
- An address in your own network is rejected: private and local addresses are blocked. For an intranet or a local test environment the panel has the switch "Allow local network addresses".
- New entries are missing: the cache still delivers the old data. Wait for the cache duration or clear the cache in the panel.
- A file connection cannot find the file: only .csv, .json and .txt files up to 5 MB in the media folder of the site are allowed.
- YouTube or Google Reviews stay empty: check in the panel that the API key is stored, and look for the last error in the cache status.
Requirements
- Joomla 5 or 6 with YOOtheme Pro 4.5 or 5 and PHP 8.2 or newer
- WordPress 6.5 or newer with YOOtheme Pro 5 and PHP 8.2 or newer
- For YouTube and Google Reviews, your own API key from Google Cloud for each
- A connection from the website to the license server once, for activation
- The license covers up to three websites, on Joomla or WordPress, with updates and support during the term. You choose between a one-time purchase and a subscription at checkout on CopeCart.
Reviews
There are no reviews for this product yet.
Only customers who have purchased this product can review it.
Frequently asked questions
Why can't I find Sources in the element list?
Sources is not a builder element but provides data sources for dynamic content. You find them in the Dynamic Content dialog in the Tonino Gerns group and connect them to an element of your choice.
What are the requirements?
On Joomla 5 or 6 YOOtheme Pro 4.5 or 5, on WordPress 6.5 or newer YOOtheme Pro 5. You need PHP 8.2 or newer on both platforms.
Are all sources available on WordPress?
All except the Joomla banners. They read the Joomla banner component, which does not exist on WordPress.
Is visitor data sent to Google or other services?
Not when data is fetched. Your server fetches feeds, calendars, APIs, YouTube and Google and caches them, the IP addresses of your visitors are not sent anywhere. If you display images hosted on third-party servers, such as YouTube thumbnails or profile photos from Google reviews, the browser loads them from there.
Do I need programming skills to set it up?
No. You create connections in the customizer and Sources detects the fields itself. It suggests the path to the list in a JSON API, you only pick it and set labels.
What happens if a source is unreachable?
Sources shows the last successfully loaded data for up to seven days. You see the last error in the panel under cache status.
Why do only five Google reviews appear?
The Google Places API does not return more. The average rating and the total count of all reviews are still available as fields. If you only show selected reviews, both values and the link to Google belong on the page.
How much does the license cost and how many websites does it cover?
€29 plus VAT for up to three websites, on Joomla or WordPress, with updates and support during the term. You choose between a one-time purchase and a subscription at checkout on CopeCart. For more websites you buy another license.
Does my local test environment use a slot of the license?
No. Local environments such as localhost, private network addresses, .test, .local or .ddev.site run without activation. A staging copy under dev., staging., test., demo. or sandbox. of an activated domain is included.
Can I activate Sources without an internet connection?
No. Activation works online, your website needs a connection to the license server once. There is no offline code for Sources.
I am moving a website. How do I get the slot back?
Release the old website in your customer account under license management. You can tell the websites apart by the site ID, which is also shown in the TG - Sources panel. On the new website you then save the settings with the download key again.
How do I get updates?
On Joomla through the update manager: enter the download key from your customer account under System, Update Sites. On WordPress you enter it under Settings, Sources. The same key also activates the license for your website.
Sources for your website
€29 per year, plus VAT · Up to 3 websites · Joomla & WordPress