About Symphony

Why doesn't Symphony include such-and-such feature?

A key principle in Symphony’s development philosophy is simplicity. We leave all non-essential functions out of the core system, allowing them to be re-integrated as extensions. This keeps Symphony development agile, makes the system as flexible as possible, and benefits the broadest number of users.

If the feature you’re looking for can’t be found in our extensions library, you can find out in the forum if anyone is working on it. If not, maybe you can build it!

Is Symphony viable for very large, high-demand projects?

Symphony is frequently used for enterprise-class systems, from Government properties to broadcast-critical infrastructure delivering millions of large-object requests/hour.


How do I install Symphony?

We’ve got an excellent tutorial that will walk your through the process step-by-step.

Where can I find the development version of Symphony?

On Github, of course! Make a note of the special installation instructions for installing from the git repository.

Can I upgrade from version 1.7 to 2.x?

Unfortunately not. The database structure, and Symphony’s XML structure and XSLT implementation, have all undergone significant changes which make these two versions incompatible.

If Symphony 2 offers substantial reasons for you to upgrade, it might be worthwhile creating a new website with S2 and then manually importing your old data with an SQL export. This could take a lot of work, but in future we might be able to offer an importer script to help streamline this process.

Learning the System

How much XSLT do I need to know in order to use Symphony?

XSLT is the language of choice for Symphony development, so you should be prepared to learn at least a little. We’re working hard on the XSLT resources in our documentation.

Symphony Techniques

How can I combine output from multiple data sources?

Different XML nodesets can be combined using XSLT’s for-each element. A detailed write-up on this subject, including options for sorting and ordering the combined elements, is forthcoming. In the meantime, this forum comment should get you started.

How can I manipulate particular elements in my source HTML?

You want to read up on Allen’s famous Ninja Technique for manipulating HTML output.

Other Questions

Where can I talk to other Symphony users?

By far the most active gathering of Symphony users is the forum on this very site. There is also a Gitter chat for new developement and bugs an another to ask for help when building a project with Symphony.

Quite a few of us are on Twitter nowadays too. The #symphonycms hashtag is also widely used.

How can I get in touch with the Symphony team?

For anything super-urgent, you can contact us using our contact form.


How can I contribute to Symphony?

Even if you're not a hard-core developer, you can still contribute to Symphony. Find and post bug reports on github, participate on the forum and offer help when you can, or contact us to make suggestions on how we can improve the documentation.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details