eZ Studio 16.02 Release notes

The 16.02 (v1.2.0) release of eZ Studio is available as of March 3rd, and includes all features and improvements of 15.12.1 from February 5th.

For the release notes of the corresponding (and included) eZ Platform release, see eZ Platform 16.02 Release notes.

Changes since 15.12.1

Summary of changes

  • Added user profile with notifications containing the number of pending requests for review.

When you are selected as a reviewer for a Content item, you receive a notification about it by email. The message contains a direct link to the draft.

As a reviewer you also receive notifications in your user profile. When you are logged in, a number appears next to your profile picture (in the top right corner of the screen) which shows how many requests for review you have received.

Click your profile and choose View notifications. You can see a Notifications window with a list of all requests:

Flex workflow notification window

  • Timeline toolbar shows all changes in all Schedule Blocks on a given Landing Page, both in View and in Edit modes.
  • UI improvement: updated the look of the Items airing and Full list.

Full list of items airing

  • UI improvement: sliders added to the time selection modal when selecting airtime for Schedule block.

Schedule block Airtime settings window

  • Various bug fixes.

Full list of improvements

Key Summary T
EZP-25446 Add the user profile in the navigation hub Improvement
EZEE-557 As a user, I want to have at least two user profiles to come in the default demo bundle Story
EZEE-543 Create a slider field view Sub-task
EZEE-542 Reorganize field views files structure Sub-task
EZEE-531 Change the Favicon for Studio Improvement
EZEE-507 Update the look of the indicator list and full list Sub-task
EZEE-495 Timepicker add hour and minute sliders Improvement
EZEE-488 Droppable interaction with final animation added Improvement
EZEE-481 Improve the way that users hover over, select and move blocks within Page Mode Improvement
EZEE-476 As a user, I want to be notified about new content that's sent to me for review Story
EZEE-470 As a user, I want to be able to use the Timeline Toolbar in View Mode Story

11 issues

Full list of bugfixes

Key Summary T
EZEE-559 All siteaccesses are underlined in studio Bug
EZEE-553 Content Airtime Settings reset automatically after a while Bug
EZEE-549 Timestamp appearing the date field instead of a date in the airtime config popup Bug
EZEE-547 Can't return to Home page Bug
EZEE-545 Push-out confirmation after freeing slots in Schedule block Bug
EZEE-540 Issue with adding duplicated content item in Schedule block Bug
EZEE-537 No validation on Approval Timeline page input field Bug
EZEE-536 Typo in Approval Timeline message title Bug
EZEE-523 The page preview is trying to update when user is not on a landing page Bug
EZEE-513 Getting error message when previewing the content of Content List Block Bug

10 issues

Known Issues

However here are two issues that were uncovered very late in the release process since they were hidden by other bugs that we would like to make you especially aware of:

  • EZP-25789 - Editors access to own user and read all user meta info for author field type Backlog
  • EZP-25505 - UserHash is always generated for anonymous user Backlog

Both are currently being worked on and will be fixed in patch version in the next couple of weeks.

* *

Disabling Studio Demo Bundle

eZStudioDemoBundle is a showcase of eZ Studio. It should not serve as a base for projects. A clean installer of Studio is on its way.

In the meantime, you can overwrite the bundle in two ways:

  1. Due to Symfony2 loading mechanism, bundles are loaded last and have the highest priority, so you can place your app in a bundle and load it last in AppKernel.php. Then every Studio Demo configuration will be overwritten.

  2. Disable the eZStudioDemoBundle from AppKernel.php, then only your configuration will remain. This solution generates extra work, you have to take care of content existing in Studio Demo and every template used in it (location views, block templates, page design, etc.). You can always remove all the content in Home root, then disable the Demo Bundle and you should encounter no exceptions.

In version 16.04 we will provide a clean installer without demo content and with generic landing page block templates, where you can create your design and place configuration wherever you want.

Upgrading a 15.12.1 Studio project

You can easily upgrade your existing Studio project in version 15.12.1 (1.1.0) using Composer.

Start from the project root. First, create a new branch from:

a) your master project branch, or 

b) the branch you are upgrading on:

From your master branch

git checkout -b upgrade-1.2.0

In case of different localization of the sources, add ezsystems/ezstudio as an upstream remote:

From the upgrade-1.2.0 branch

git remote add ezstudio http://github.com/ezsystems/ezstudio.git

Then pull the tag into your branch:

From the upgrade-1.2.0 branch

git pull ezstudio v1.2.0


If you had custom siteaccesses or languages set up in your installation, a conflict may appear here. This is because new siteaccesses are introduced in Studio demo in this release: "fr" for French, "de" for German and "no" for Norwegian.

To avoid overriding your siteaccesses with the new ones, you need to accept your own changes in the app/config/ezplatform.yml file.

If you have no custom siteaccesses or languages and no conflict occurs, you can do one of the following things:

A) Add languages and permissions to use the newly introduced siteaccesses from the demo.

To do this, log in to the application and go to the Admin Panel.

Choose Languages and click Create a new language. Create a language for each of the new siteaccesses.

Then, click Roles and select the Anonymous Role. Click Edit limitations next to the following function:

Select all available siteaccesses and click Save.

B) Remove the new siteaccesses.

You will get conflicts, and it is perfectly normal. The most common ones will be on composer.json and composer.lock.

The latter can be ignored, as it will be regenerated when we execute composer update later. The easiest is to checkout the version from the tag, and add it to the changes:

If you get a lot of conflicts (on the doc folder for instance), and eZ Studio was installed from the share.ez.no tarball, it might be because of incomplete history. You will have to run git fetch ezstudio --unshallow to load the full history, and run the merge again.

From the upgrade-1.2.0 branch

git checkout --theirs composer.lock && git add composer.lock

Merging composer.json

Manual merging

Conflicts in composer.json need to be fixed manually. If you're not familiar with the diff output, you may checkout the tag's version, and inspect the changes. It should be readable for most:

From the upgrade-1.2.0 branch

git checkout --theirs composer.json && git diff HEAD composer.json

You should see what was changed, as compared to your own version, in the diff output. This update changes the requirements for all of the ezsystems/ packages. Those changes should be left untouched. All of the other changes will be removals of what you added for your own project. Use git checkout -p to selectively cancel those changes:

git checkout -p composer.json

Answer no (do not discard) to the requirement changes of ezsystems dependencies. Answer yes (discard) to removals of your changes.

Once you are done, inspect the file, either using an editor or by running git diff composer.json. You may also test the file's sanity with composer validate, and test the dependencies by running composer update --dry-run. (will output what it would do to dependencies, without applying the changes.

Once finished, run git add composer.json.

Fixing other conflicts (if any)

Depending on the local changes you have done, you may get other conflicts: configuration files, kernel... 

There shouldn't be many, and you should be able to figure out which value is the right one for all of them:

  • Edit the file, and identify the conflicting changes. If a setting you have modified has also been changed by us, you should be able to figure out which value is the right one.
  • Run git add conflicting-file to add the changes


At this point, you should have a composer.json file with the correct requirements. Run composer update to update the dependencies. 

composer update --with-dependencies ezsystems/ezpublish-kernel ezsystems/platform-ui-bundle ezsystems/repository-forms ezsystems/studio-ui-bundle ezsystems/ezstudio-demo-bundle ezsystems/landing-page-fieldtype-bundle ezsystems/flex-workflow

In order to restrict the possibility of unforeseen updates of 3rd party packages, we recommend by default that composer update is restricted to the list of packages we have tested the update for. You may remove this restriction, but be aware that you might get a package combination we have not tested.

On PHP conflict

Because from this release onwards eZ Studio is compatible only with PHP 5.5 and higher, the update command above will fail if you use an older PHP version. Please update PHP to proceed.

Database update

The 16.02 release requires an update to the database. Import vendor/ezsystems/ezpublish-kernel/data/update/mysql/dbupdate-6.1.0-to-6.2.0.sql into your database:

mysql -p -u <database_user> <database_name> < vendor/ezsystems/ezpublish-kernel/data/update/mysql/dbupdate-6.1.0-to-6.2.0.sql

To enable the new Flex workflow notification feature, import the following file:

mysql -p -u <database_user> <database_name> < vendor/ezsystems/ezstudio-notifications/bundle/Resources/install/ezstudio-notifications.sql

Dump assets

The web assets must be dumped again for the prod environment:

php app/console assetic:dump --env=prod web

Commit, test and merge

Once all the conflicts have been resolved, and composer.lock updated, the merge can be committed. Note that you may or may not keep composer.lock, depending on your version management workflow. If you do not wish to keep it, run git reset HEAD <file> to remove it from the changes. Run git commit, and adapt the message if necessary. You can now test the project, run integration tests... once the upgrade has been approved, go back to master, and merge the upgrade-1.2.0 branch:

git checkout master
git merge upgrade-1.2.0

Double check the following before you test:

You should now have a new route inapp/config/routing.yml:

_ezplatformRepositoryFormsRoutes: resource: "@EzSystemsRepositoryFormsBundle/Resources/config/routing.yml"

Read the Docs