Introducing: Symphony.
Sounds pretty, doesn’t it?
Symphony is an XSLT-powered open source CMS that looks as pretty as it sounds.
Symphony’s philosophy will certainly gain the attention of those already ingrained in other coding languages. They only use open standards like XML, XSLT, CSS, and uses the jQuiery library for the admin interface, eliminating the need for devs to learn an additional framework for the back end. Plus, it’s open source!
One of Symphony’s strong suits is the core simplicity.
If it’s not essential, it’s an extension. This keeps the system small, lean, and precise. Swiss Army knives are nice, but a surgeon wouldn’t operate with one.
Not only can you craft it to be the precise tool you need, but the data, logic and template layers are all separate so you can modify, add or remove with hardly any effort.
One big turn-off with a CMS like WordPress is that it’s built to be a blog right out of the box. Symphony keeps its core lean by not setting up a rigid structure and lets the developer define the content to be managed and how. You’re given a set of tools and it’s up to you to build it.
Do you like to hack? If you do, too bad. Since the developer defines the structure from the very start, the system is custom-built to handle the content naturally. No hacking needed!
There are no custom fields. WHAT!?! Calm down. We keep going back to this, “If you build it, the content will come.” Since the developer is building the content types from scratch, every field is custom.
Since Symphony natively uses XML, developers can use us XML technologies that are already out there.
Want to pull your Twitter feed and mash it up with your entries? Need to integrate with other systems that have XML-based APIs? How about creating a dynamic Flash site using XML? Symphony can do all this, and more, without batting an eyelash.
As for the URL structures, it all boils down to the same Symphony philosophy. You compose it.
Create clean and flexible URL structures that are not only search engine friendly but give you a truly dynamic front end. With URL parameters, one page can power an entire browsing interface, with filtering, pagination, and other values set on-the-fly in the URL.
If you like extensions, Symphony’s working on that. As of now, they only have 236 pluggable extensions. If Symphony can get more traction and be used by more developers, it will only be a matter of time before we see the library expand.
As for front-end visuals, all the tools are there, it simply comes down to the designers ability to craft. There are plenty of good looking examples of sites built with Symphony. Templates are built using XSLT, so there are plenty of places to find resources since it’s not tied to a specific platform. Plus, with XSLT, you can generate dynamic CSS and JavaScript, provide RSS and Atom feeds, present PDFs, SVGs or spreadsheets, and even set up a whole XML/JSON API.
Once you’ve built it, what about using it?
Symphony has bulk editing, and a clean admin that helps you focus on your work.
And if something goes wrong? (Which it will) And what if I break it? (and you will)
Symphony puts an entire suite of tools at your fingertips for debugging front-end pages. Check source code (from XML to XSLT to output), dynamically test XPath selectors, review build and load statistics. You’ll wonder how you ever developed a website without it.
Like many CMS’s, it has a community that you can turn to for help. Since the Symphony isn’t nearly as robust as others, you can purchase “Ticket Packs” that cover installation, extension, core system and XSLT template issues.
Symphony has a lot of things going for it and I’m anxious to see the community base grow.
2.2 was recently released, but those still using 1.7 have been left behind since the XML structure and XSLT implementation has had such huge changes, it has left the two version incompatible. I believe Symphony is still too young to see if they take a Drupal or WordPress philosophy for upgrades. Only time will tell.
Symphony touts flexibility and simplicity, and looks to deliver.
Download from Sympony’s website.
Server Requirements
PHP 5.2 or above
PHP’s LibXML module, with the XSLT extension enabled (–with-xsl)
MySQL 4.1 or above
An Apache or Litespeed webserver
Apache’s mod_rewrite module or equivalent
Speak your mind...