Symphony proudly releases version 2.3 of their open source XML/XSLT content management system. It has been over a year since the last major release and the team at Symphony is ready to show you new features and improvements they have been fine tuning.
Just as it takes many instruments playing perfectly together to produce a “symphony” of sound, many tweaks and upgrades have come together to produce this release. Here are some of the features of this update:
- Complete UI Overhaul including dedicated pages for Datasources, Events and Utilities, Breadcrumbs to aid usability, the removal of the Footer.
- #1321 – Add PagePostDelete delegate
- #1302 – A new delegate, DataSourcePostExecute to match DataSourcePreExcecute is now available
- #1193 – Update jQuery to 1.7.2
- #1054 – The Providers concept is now alive in Symphony. We are initially supporting new Datasource types, starting with the Remote Datasource. More information to come soon
- #991 – The Author field can now output parameters (the Author ID)
- #989 – A new delegate, EntryPostDelete is now available
- #896 – When Select Box fields are required, force users to select an option instead of defaulting to the first option
- #879 – Allow Field::processRawFieldData function to return a $message (breaks backwards compatibility)
- #868 – Templates' naming conventions
- #866 – All templates can now be overridden by placing the template in the /workspace/templates folder
- #840, #759 – Two new plugin's, TimeAgo and Notify are available for Javascript developers. These abstract relative time functionality (eg. an hour ago) and allow a easy way to create Symphony Alerts with Javascript
- #799 – UI: Headline Markup
- #795 – Add extra HTTP verb support to the Gateway class, POST, GET, PUT and DELETE are all supported
- #794 – Added DataSourcePreExecute delegate
- #776, #616 – Add text-overflow to all <th> elements on the entries table
- #774 – A PageManager class now exists to provide an interface to Pages (and their Page Types). All ‘file' based Managers now implement a FileResource interface
- #761 – The Checkbox field now is available as an Output Parameter
- #759 – A page can now have multiple alerts
- #739 – Introduction of two new delegates, PostQueryExecution and QueryExcecutionError which fire when SQL queries have been executed (and when they fail)
- #731 – Core fields now have a Publish Label setting. This is a cosmetic label that is only shown in the Publish area to allow a Field's name to change without having to update all datasources and application logic.
- #728 – Datasources now output multiple params in a new syntax, $ds-handle.field-name. The old syntax is still supported for the immediate future for backwards compatibility.
- #727 – AuthorManager::fetchByID $limit and $start do not work
- #722 – The SectionManager and FieldManager fetch method now supports an array of $ids for the first parameter
- #711 – Abstract REGEX filtering to a dedicated Field->buildRegexSQL function
- #695 – The Dynamic XML Datasource can now consume JSON sources.
- #622 – The Installer and Updater have been streamlined and updated. Extensions are now installed during installation, localisation is improved and the updater logic is cleaner.
- XMLElement now two new methods, getChild(pos) and getChildByName(name, pos)
- A new page, /ajax/handle/?string=Your String is available to create handles using Symphony from Javascript
- Complete user interface update across the entire backend (errors, forms, alerts and more!)
- CSS3 prefixes standardized throughout the stylesheets, fallback background colors introduced for better compatibility with IE and Opera
- Add not: filtering for the System: ID on Section Datasources.
- All Javascript errors that occur on the backend are now logged to the Symphony log using window.onerror
- The FrontendPage class now has setEnv which allows the environment to be updated by extensions
- Two new Symphony accessors, Symphony::Log() and Symphony::Profiler() are now available. Direct access to these variables is now private
- Navigation DS is no more efficient by only querying for columns it uses and checks to see if a page has children
- Translations are now organised in a more performant way by only using regular expression where required (breaks backwards compatibility)
Believe it or not this is not an exhaustive list of changes. Download the new version and give it a look over. Read the complete changelog, and discover Symphony at symphony-cms.com