Developing a Symphony Application: Part 2

Symphony Administration

In the introduction to Developing a Symphony Application, we went step-by-step through the installation process. Before we start building Sections, we should probably get acquainted with the default menu system and take a look at the default preferences.

Default Menus

The first thing you will notice when you login to Symphony is the clean, uncluttered design of the interface. With Symphony 2, everything but the core has been removed to allow developers to customize the back end as they see fit. Items such as the Status, Search and Calendar widgets which were available in 1.7 have been removed so as to be added as optional features if or when these are rewritten as Symphony 2 Extensions.

Default view of the Symphony Admin with a clean install

In the Blueprints menu, there are three items: Pages, Components and Sections. We’ll come to these later as we start to build the back-end structure, as well as the front-end navigation structure and page templates. You’ll notice that the Blueprints menu is highlighted and the title element of the page displays “Symphony - Sections”. So by default, when no Sections have been created, logging into Symphony will take you to the Blueprints : Sections page.

Symphony Admin : Blueprints Menu

In the System menu, there are another three items: Authors, Preference and Extensions.

Symphony Admin : System Menu

The name of the Owner appears in the footer at the bottom of the page, along with a Logout link. Beside the Symphony logo, in the header at the top of the page is the site name, which links to the front page of your website. By default, the name of the site is “Spectrum: Symphony Theme”. This will be one of the first things that you should change.

Symphony System Menu


For the moment, let’s skip the Authors and first change the site preferences. Select the “Preferences” item from the “System” menu. I’ll refer to these menu items with the following syntax from this point on: System : Preferences.

Symphony : System : Preferences

If you’ve worked with Symphony 1.7, you should notice something new about the back-end URL structure: clean URLs. There are no more URLs like this:


or like this:


These have been replaced with URLs like this:


and this:


Much nicer, don’t you think? Well, here on the Preferences page, you can change the name of the site that appears in the Symphony admin header. Type whatever makes sense for your application here and click the “Save Changes” button. You’ll see the change in the header. The maintenance mode is fairly self-explanatory, but we can go into the details about this later. The Date and Time Formats are the formats rendered in the Symphony admin. The “Create Ensemble” button is a one-click backup of your entire site: workspace, extensions, application and database saved as a ZIP file ready to be installed in exactly the same process used to install the default Symphony theme, which is itself an ensemble. The “Uninstall Symphony” button does the opposite, emptying the database and removing all files and extensions, leaving a clean install.


You should see something similar to the following screen with the user information you entered during the installation process. A user can be assigned one of two types: Author or Developer. An Author is restricted to the Publish menu and their own Author preferences. Developers have full access to the back end of the site. (At least that is what I expected. There appears to be a bug here, as both types have access to everything, even the ability to change other user passwords.)

Symphony : System : Author


Extensions are the name of the system add-ons that can be integrated into the application through PHP scripts that follow the Symphony Extensions API, yet to be released. These extensions were called Campfire Services in previous versions of Symphony, and have since been renamed and rebuilt, requiring 1.7 Campfire Services to be rewritten to be compatible with Symphony 2. The Markdown Text Formatter is included in the default installation. If you would prefer to use Markdown formatting rather than having to input raw HTML, you should enable this Extension now.

Symphony : System : Extensions - Enabled

Blueprints Menu


Pages control the front end of your site. Within the list view, you are able to reorder your pages and view the URL Parameters and page Types.

Symphony : Blueprints : Pages

When creating or editing each page, you can configure the parent page, the page handle, URL Parameters, Types, Events, and Datasources, Title and XSL stylesheet and templates.

Symphony : Blueprints : Pages : Create New


Three types of Components are available to your page templates: Events, Data Sources and Utilities.

Events are actions that are scripted in PHP to manage interactions with the Symphony application or to extend front-end functionality. Some examples are included with the default theme, such as managing comments and email messages.

Symphony : Blueprints : Events

Data Sources are customizable XML data sources that can be filtered and structured according to a number of available options including dynamic filtering based on URL Parameters.

Symphony : Blueprints : Data Sources

Utilities are XSL templates and/or stylesheets that can be imported by a page. For those who have had some experience with Symphony 1.7, utilities serve as both masters and utilities, except for the ability to associate data sources. In Symphony 2, all data sources are attached to Pages.

Symphony : Blueprints : Utilities

So that’s it. The entire Symphony application interface in a nutshell. Now, let’s find out what we can do with it.

10 February 2008 by Stephen Bau