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).
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:
- By entering a number in the field when creating/editing an entry.
- 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.
Select Box Link Field
This functions much like a standard select box field. Yet, it lacks static options; its entries connect internally through their unique System ID
. This means if you modify an entry, any linked Select Box Link fields will maintain their connection to it. On the user interface, information appears exactly as it would for a Section Link.
See the settings for this field.
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.