A new ensemble, “Piano Sonata” is now available for download. Comments and feedback can be left here but if you discover any issues, please post it on the issue tracker.

Hello Symphonians,

Today I introduce you to “Piano Sonata”, a theme for Symphony. Piano Sonata is currently in beta pending input from you, the wider community. The intention is to eventually replace Spectrum as the default Symphony theme.

I’m going to take this opportunity to give you some background information on this ensemble, the scope of work and also the future of it.

This theme is based upon a competition entry from my friend Rodrigo Galindez which he submitted to Smashing Magazine. It came in third place and has since done the rounds on many CSS gallery sites for it’s clean design and layout. I asked Rodrigo to let me build an ensemble for Symphony and he kindly agreed.

The theme is designed to highlight some of Symphony’s strengths and features. It should be able to work in it’s own right, and also allow developers to hack and play around with it and make it there own.

The ensemble uses some Symphony extensions, but shouldn’t need to rely on a whole raft of them. The XSL should be accessible and allow newbies and experts alike to approach it. The ensemble comes with some extensions installed, however I haven’t used them all (such as static section), and as such will be removed from the final release.

Please download the ensemble, play with it and suggest any improvements, features or fixes you would like to see happen.

My initial thoughts are to add a photos page, to highlight the remote DS aspect and combine this with JIT. The ensemble uses this to some degree with the twitter integration but I think flickr/picasa integration may be something that could prove beneficial.

This is great work Fazal - excellent to see some really solid ensembles emerging.

Just to clarify, after deliberating over the state of the age, style and purpose of the Spectrum theme that came as Symphony’s default ensemble for the past versions (post v2 beta), the Symphony team decided that Fazal’s Piano Sonata is a good fit as a successor, which is now almost a year old.

Piano Sonata will be the new default Symphony ensemble for version 2.1.

That’s a great theme. Unfortunately there is a bug which is no good advertisement for Symphony: Saving entries doesn’t work – I am rather sure that this is triggered by the “Categories” selectbox link field using “allow selection of multiple options”. [EDIT]: Looks like it is this bug.


  • When logged in to Symphony, there’s still a “Drafts” link in the navigation showing up. (But the page does not exist in the theme.)
  • The Twitter thing does not work. Looks like the RSS feed is not public.

Piano Sonata will be the new default Symphony ensemble for version 2.1.

Allen, will there be some replacement for the deprecated Subsection Field extension? Is this functionality maybe intended to become a core feature?

I haven’t had a chance to install and use this until now. Here are my comments:

  • On initial login the default section is Content > Messages. It doesn’t look like the Message section is used in the site at all.
  • It would be nice if there was more default content such as posts and comments, which don’t use obvious “test” (i.e. it’d be great to see this as a snapshot of a real blog)
  • When posting a comment there isn’t any feedback as to which fields are required. When event fails, and succeeds, would be nice to anchor down to the error/success message.
  • “Drafts” in the main navigation returns a 404.
  • The Sub-Section extension is deprecated and should not be used.
  • There is no use of the native Select Box and File Upload fields. Could these be used to demonstrate simple concepts?
  • The layout of the Comments section feels like fields in columns are the wrong way round.
  • The use of the Unique Upload Field suggests that the core File Upload field should really contain an “enforce unique filename” option to reduce the reliance on extensions.
  • Do you think Mediathek is easy enough to use for first-time users of Symphony? In my opinion in introduces some possibly complex topics (such as sub-sets of entries in XML; the joining of the sections in the Field options) which may confuse new users.
  • I wonder whether the default Twitter feed (etc) should pull from the Symphony feeds/sites as a nice piece of self promotion for the new Symphony site.

I think this is a great start and the theme looks gorgeous. However I’m concerned that the default ensemble should really avoid using extensions beyond the “official” ones that are bundled presently. Some previous discussions of default extensions:

My concern is primarily surrounding the responsibility of compatibility and bug fixing of additional extensions. If someone finds a bug with the Mediathek extension, they presume it is then a bug with Symphony. Whose responsibility is it to fix the bug? Similarly the Calendar Overlay extension may well break in the future if HTML/JavaScript/CSS hooks change slightly in future versions. While the core extensions are generally extremely future-proofed, community extensions use (perhaps) unsupported hooks in the system (a class name here and there, for instance) which the core developers may remove or change in the future.

Should all extensions that are bundled in default/official ensembles receive some form of vetting/aggressive testing?

Apologies for sounding overly negative!

Since this ensemble is intrinsically more complex than the existing default workspace, do you think it is equally easy to learn from as a complete newbie to Symphony? Perhaps there is also a need for a much simpler ensemble with cut-down features; such as a simple to-do list.

Nick, I agree with you. Although I did not provide such a precise in-depth analysis as you did, I was really surprised by Allen’s statement to make this the default workspace.

The use of the Unique Upload Field suggests that the core File Upload field should really contain an “enforce unique filename” option to reduce the reliance on extensions.

Agreed. It should be in the core. (Even if my extension score would be reduced.)

What about the Unique Input Field? Shouldn’t this be included in the core input field as well? So many times I found myself replacing standard input fields with Unique Input Fields during development.

The Sub-Section extension is deprecated and should not be used.

Yes, but there is a strong need for this functionality. Section links are an important core concept, so we have to provide a proper workflow for authors to use them! At the moment we have to teach authors to skip from here to there an back again – hey, that’s not elegant at all. Symphony should do it better.

In a current project I am facing big problems related to the absence of sub-sections on publish pages. I would love to know if the functionality is planned for the core or not. If not, I will have to code a solution, maybe in the backend, maybe in the frontend.

Since this ensemble is intrinsically more complex than the existing default workspace, do you think it is equally easy to learn from as a complete newbie to Symphony?

In my eyes it s by far too complex. It’s a great ensemble to demonstrate the power of Symphony, but it’s definitely not a starter pack.

Thanks for the input, Michael and Nick. We’ll be looking over your feedback to improve on the ensemble closer to 2.1’s release.

Allow me to clarify the decision on the subject.

The choice to use Piano Sonata as the default ensemble is based on the elegance of the front-end design. The implementation however, has yet go through its proper paces. It will go through a simplification process when Symphony 2.1 is closer to release.

The concept of a “default workspace” will not be as significant as we move forward. We’re contemplating on the idea of a “clean build” as the choice download package, with supporting ensembles deemed as officially endorsed.

@Fazal, great job on this ensemble. I finally had a chance to give this a whirl and so far it’s working quite well for me. I’ve made some modifications to the ensemble to add some missing features.

  • Create a custom 403 Forbidden layout
  • Create a custom 404 Page Not Found layout
  • Add Drafts page for logged in users to view unpublished articles
  • Modify get-article utility to link to Drafts if the article has not yet been published
  • Display Edit link for articles if logged in
  • Remove filter from Tags data source, since I want all tags to be listed
  • Add filter to the Archive: Listing data source to display only published articles
  • CSS to format code blocks and current navigation items

You can see some of these changes in action in The Lab. If you like, I can fork the repository and send a pull request if this would be helpful for you.

Hey guys,

Sorry I haven’t been active in this thread since my first post.

@michael-e - Noted, the Twitter should be working now (I set it to private - but now its public)

@nickdunn - points noted and I will liaise with Allen over these. I agree it has to be simple and there is cleaning up work to do (deleting unised exensions etc)

@bauhouse - wonderful work! I’m a relative Github noob, so I’ll be sure to send you a pull request and bring push your work into the master.

I’ll be working on this over the next few days and will keep you posted on the progress.

Hi Guys,

I’m the designer of Experimental [or should I say, Piano Sonata? :)]. I’m very surprised and proud that you chose the theme as the new default Symphony ensemble for the upcoming version.

Just wanted to say thanks to Faz, and all the community for the efforts.



@Fazal, I’ve sent a pull request.

@rodrigogalindez, thank you for your work on the Modern Clix / Experimental theme. It’s a nice clean design and very easy to work with. By the way, nice work on the 1080 grid. I’ve been exploring a number of different grid systems. This one’s quite nice as a bare bones, “does-what-it-needs-to” grid.

Referring to what @nickdunn mentioned:

On initial login the default section is Content > Messages.

How does an ensemble set the default section? I’ve set the default section to Content > Articles, but exporting an ensemble does not save Author details, so the setting does not get included in the ensemble. The default section must be set somehow, if it is not defaulting to the first section. I’ve searched through the install.sql and install.php files, but I can’t find where this is being set.

Any planning on when this will replace spectrum? I hoped to have seen this in 2.0.8…?

It’s really nice. But changing the default workspace might introduce new issues — so I’d prefer to see it later. Remember that 2.0.8 is supposed to become a “stable release”.

Sorry about the delay in updating this theme, I have a little time on my hands now and have updated this so that it takes into account Stephen’s changes.

I’ll be making some tweaks to this soon and may also remove mediathek in favour of a more up to date solution (suggestions?)

I don’t see any of your changes in Github. Can you publish?

Fazal, I wanted to try rebuilding an ensemble in Symphony 3.0 beta to test and debug the latest beta release. I wasn’t able to complete all the functionality because of missing attributes and functionality in Symphony 3.0 compared to version 2.0.6.

To try out this ensemble, install Symphony 3.0. Remove the default workspace, then clone and rename this repository to workspace, then sync the sections to populate the database with the tables for the section fields.

I ran into problems with:

  • output parameters have not been implemented
  • group by date (or group by element) functionality does not exist
  • section link entry XML does not include the attribute for number of entries that are linked
  • login info event does not exist (I used a workaround)

It was a good exercise to see what’s possible with version 3.0 at this point. Overall, it’s working quite well. But, it looks like there are still some crucial details to address in the beta version before trying to rebuild anything more complex.

Originally from @allen

Piano Sonata will be the new default Symphony ensemble for version 2.1.

A lot has changed since that comment (nearly 2 years ago), but I think now might be a good time to put it on the radar again with the upcoming 2.3 release, which focuses on a UI realign from the backend.

Create an account or sign in to comment.

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