Skip to content

Extensions

Extensions are add-ons that can provide additional functions. The most common uses for extensions include providing additional field types, improving the admin interface, and providing completely new functions.

General

With Sym8, the interface of the extension page has been improved. In addition to the title, the description of the extension is now displayed below it, as well as the date of the last release next to the current version number. This gives developers a clear overview of the current status of the extensions.

Another important improvement is the link to the respective readme file. This allows developers to quickly and easily read the file without having to navigate through the file system.

Status of extensions

All extensions can have one of the following three statuses:

  • Enabled: The extension is installed and active.
  • Disabled: The extension is installed but not activated.
  • Not installed: The extension is not installed.

Note: Do not delete extensions from the Symphony extension directory that are enabled or disabled.

To install/disable or uninstall an extension, select the extension and choose the desired option from the “With Selected…” drop-down menu.

Included extensions

Sym8 ships with a number of extensions. Some of them are not installed automatically, either because they serve a very specific purpose (e.g., “Maintenance Mode”) or perform specialized tasks (e.g., “Upload Fix JPEG Orientation”, wich removes EXIF metadata if an image is rotated).

Installed extensions

Anti Brute Force

Secure your Symphony backend against brute force and dictionary attacks. It prevents people and softwares to brute force your authors/developers accounts.

Cross-Site Scripting (XSS) Filter

The XSS Filter protect yourself against XSS and XSRF attacks in form submissions.

The XSS Filter is very strict. It defaults to a high level of protection, and users who want to be more permissive with their input should be savvy enough to filter that input accordingly before rendering the content on the front end.

Dashboard

The dashboard is now mandatory in Sym8. Dashboard “panels“ can contain any information. This extension provides the framework for building a Dashboard, and provides four basic panel types: “Data source to table“, “HTML block“, “Markdown text“ and an “RSS feed“.

After installation, the following two sections are displayed:

  • System Overview:
    Shows the current Sym8 version, PHP version, and number of sections, events, and data sources.
  • RSS feed with the latest versions of Sym8.

The PHP version used on the server is compared with the supported versions of PHP and marked according to a traffic light system:

  • 🔴 PHP 8.0 – ❌ End of life (no updates)
  • 🟡 PHP 8.1 / 8.2 – ⚠️ Security fixes only
  • 🟢 PHP 8.3 / 8.4 – ✅ Active support

(As of September 2025)

Debug Devkit DEV tool

The Debug Devkit allows a developer to preview the XML of a Frontend page. It also includes the page parameters, included XSL templates and provides a navigation for other Devkit extensions (such as the Profile Devkit).

Append ?debug to any of your front-end pages when logged in to initialise this Devkit.

Email Template Manager

Using this extension it is possible to let Symphony send pretty emails using XSLT (eg. Contact form, Support form).

Email mass mailings

Email templates are not intended for sending mass mailings. Since Google and Yahoo have required a DMARC entry since February 2024 and Microsoft since 2025, a professional mailing service such as rapidmail or mailjet should be used for this purpose.

HTML5 Doctype

With this extension the XHTML doctype will replaced with the HTML5 doctype. The trailing slash for self-closing elements is removed according to the recommendation of the W3C validator.

In addition, the HTML source code can now be minified. Elements can be excluded from minification (eg. <pre>, <code>).

Image Preview

With this extension, preview images are displayed in the backend instead of the linked file.

It is possible to customize how images are previewed. By default, images are 40px wide in the table view and 100px wide in the publish view (aspect ratio is untouched).

You can change those settings by adding one or more fields ”Image Preview Settings” to you section.

Just In Time (JIT) Image Manipulation

A simple way to manipulate images “just in time” via the URL. Supports caching, image quality settings and loading of offsite images.

The image manipulation in your page template is controlled via the URL, eg.:

<img src="{$root}/image/2/80/80/5/fff{image/@path}/{image/filename}" />

Recipes are named rules for the JIT settings which help improve security and are more convenient. They can be edited on the preferences page in the JIT section and are saved in /workspace/jit-image-manipulation/recipes.php.
A recipe URL might look like:

<img src="{$root}/image/thumbnail{image/@path}/{image/filename}" />
Limit Section Entries

Offers a way to limit the maximum number of entries in a section. You can limit the number of entries in the field “Maximum entries” (1 or n) or leave the field blank for unlimited entries.

Order Entries

This extension provides the field “Entry Order”, which can be inserted into any section. This allows you to sort the entries in a section.

There are two ways to sort entries:

  1. By entering a number in the field when creating/editing an entry.
  2. By Drag & Drop on the overview page.

This field can also be used in a data source to transfer the entries to the XML in sorted order.

See the settings for this field.

Pages Field

This extension provides the field “Page Select Box”, which can be inserted into any section. Pages that have already been created in Symphony can be selected using a select box.

The page output can be refined using a filter by type.

See the settings for this field.

Profile Devkit DEV tool

The Profile Devkit provides developers with detailed performance insights directly in the front end. By appending ?profile to any page URL, you can view:

  • Page execution time
  • Number of database queries (including highlighting of slow queries > 0.09s)
  • Data source execution details (time and number of queries)

This makes it an essential tool for analyzing and optimizing the performance of your Symphony project during development.

Unique Upload Field

This extension provides an upload field which allows multiple copies of a file to be uploaded to the same location. It will retain the filename and append a unique ID to it.

The extension uses PHP’s preg_replace function and will crop the filename (i.e. w/o file extension) to a fixed length.

See the settings for this field.

Not installed extensions

Duplicate Sections

Easily duplicate/clone your section parameters and fields. A “Clone” button is added at the bottom left of the edit page for a section.

Import/Export CSV

This extension lets you:

  • Export entries of a section as a .csv file
  • Import entries from a .csv file

The import process performs full field validation (as defined by your section schema)

  • All fields are now fully validated (required, min, max, pattern, validator, etc.). Invalid rows are not saved
  • Errors are logged in the Symphony Log (/manifest/logs/main)
  • Large CSV files are processed in batches
Maintenance Mode

Maintenance mode will block all front-end pages from being viewed unless logged in via the administration area. This is particularly useful if you need to edit your site without visitors seeing missing or incomplete pages.

Media Library

This extension aims to be a one stop shop for asset management with Symphony CMS projects. You can view, delete, search, upload and manipulate files into the site uploads folder.

This also comes packaged with a field to replace the default upload field, where files can be uploaded or selected and attached directly to entries.

Register PHP Functions

Register PHP functions like urlencode or rawurlencode and use them in your XSLT template.

Remote Datasource

The Remote Datasource allows you to consume XML, JSON, CSV and TXT sources in Symphony. This extension aims to build upon the Dynamic XML datasource functionality provided in Symphony to allow better cache control, the automatic discovery of namespaces and more flexibility.

Upload Fix JPEG Orientation

This extension fixes the orientation of pictures with EXIF headers. It works in frontend and backend with the regular upload field and the extension field Upload: Unique File.

Please note that the EXIF headers are deleted when images are rotated.