daniel
Daniel Rotter
Core Developer – Sulu GmbH
Core developer and support guru. Passionate traveler and soccer player.
@danrot90
2020-01-09

Sulu Release 1.6.30 & 2.0.3 with PHP 7.4 support

The most important change in Sulu 1.6.30 and 2.0.3 is the addition of PHP 7.4 support. Unfortunately we had to fork the base code of two of our dependencies, as they are causing conflicts when they are installed.

The first was ZendSearch, which has been unmaintained for quite some time, but there is still no better PHP-only solution available. Therefore, we decided to fork it and make it PHP 7.4 compatible on our own. Feel free to use our fork handcraftedinthealps/ZendSearch if you run into similar troubles.

The other one was a so-called slugifier, reponsible for creating URL-usable strings based on e.g. the title of a page.

The other changes mentioned below are only about Sulu 2.0.3, and do not affect the Sulu 1.6.30 release.

The first Sulu 2.0.3-only important change is that we have finally setup Crowdin, in order to enable you to translate our administration interface in different languages. Sulu also comes with a new command called sulu:admin:download-language, which makes downloading these translations very easy. We've added a note about how to download these translations in our documentation.

This blog post will run you through the most important changes we have made. If you want to get a complete overview you can check out our Release notes and UPGRADE file.

Re-adding lost features

We have added two features that have been available in Sulu 1.6 but have disappeared in Sulu 2.0.

The lists in the category and media section of our administration interface were missing information about whether or not these entities exist in the selected language. We needed to make these two APIs more consistent in order to be able to display this information in all the different adapters of our list, but we did that in a backwards-compatible way.

Another feature that had been forgotten was the possibility to add a separate preview image to media elements that are not images, e.g. video, PDF or audio files. While the system is capable of generating images for these types based on the video or PDF, the result is not always what the content manager desires. Therefore an optional preview image can be uploaded again.

Minor bugfixes concerning the user

We have fixed some bugs that directly affected the UI:

  • The SmartContent does not fail when its data source has been deleted
  • The toolbar select component, e.g. holding the templates and languages, is scrolling now if its content exceeds the height of the window
  • If an image cannot be generated for any reason, different components will show an icon depending on the MIME-Type of the media
  • The text editor does not show the previous external link in the external link overlay anymore
  • The cache clear button in the Webspace overview is now also working if the Symfony HTTP Cache is used
  • More user interface elements are correctly hidden when permissions are missing

Minor improvements for developer

We have also fixed a few issues for developers:

  • The system now automatically recognizes which media formats can be converted to images by recognizing ffmpeg and ghostscript
  • Data from the current resource can now be appended to the request for list metadata
  • The symfony/templating requirement has been removed to support Symfony 5, and you have to add it manually if you still want to use it in your project
  • The "sulu:admin:download-build" command now also works on Windows
  • Dumping the sitemap now also works correctly if an index file is required
  • The single selection field type now also allows you to filter available values by type
  • Performance of generating image formats was drastically improved