Release Notes - November - 2 2017

Edit on GitHub

Improvements

Inspinia Update

With this update, we bring the latest version of Inspinia (2.7.1) into Zed Administration Interdace. You can now take full advantage Inspinia’s latest feature set and improvements.

In order to take the latest changes introduced by this version,

  • remove the existing node_modules folder from vendor/spryker/gui/assets/Zed folder and
  • either
    • re-run ./setup -i from the VM or
    • run npm install from vendor/spryker/gui/assets/Zed to update the dependencies

Affected Modules

MAJOR MINOR PATCH
n/a Gui 3.11.0

Filter Out Certain Orders from Listing in Yves Customer Account

In certain cases, you might not want to list certain orders to the customer in Yves. Like, for example, orders failing the post-check should be filtered out in the list of orders in the Yves customer account. Previously, those orders were not being filtered out in Yves. The problem with displaying those is that in Yves when post-check fails, the “order placed successfully” message is not displayed to a customer, so the customer does not know that those orders are actually persisted. Yet it is important to have those in Zed, for example, to later be able to investigate and analyze what happened, as well as have statistics on the order placement process. However, as this is not relevant to the Yves user, they should not see failed orders mixed with successfully submitted ones.

With this release, we now filter those orders in the Yves customer account. Now, it is possible to add a special flag to order items “exclude from customer”. If all items in the order have this state, the order won’t be listed for the customer.

Affected Modules

MAJOR MINOR PATCH
n/a DummyPayment 2.1.3

Limits for Sequence Numbers

For the multi-server architecture, it’s useful to set a maximal sequence number to differentiate a server which has issued the number (for example, if you would like to split the same order range between multiple systems allocating a subrange for each).

With this release, we are introducing limits for sequence numbers. Sequence limits are now available in the environment configuration.

Affected Modules

MAJOR MINOR PATCH
n/a SequenceNumber 3.1.0 n/a

Double Click Protection for Submit Action in Zed Administration Interface

This release adds double click prevention in Zed Administration Interface. By adding the class name .safe-submit to an html button or link, it will be disabled after the first click, preventing the action connected to be executed more than once.

In order to obtain this feature, you need to get Gui 3.12.0 or higher module version. Otherwise, the .safe-submit class name will be ignored and the behavior simply won’t change.

In this release, a Twig function submit_button has been added. It provides a basic input field with btn btn-primary safe-submit class name. This is meant to replace the submit input fields across Zed Interface, providing consistency. The usage is {{ submit_button('value', { attr: {...} }) }}.

Affected Modules

MAJOR MINOR PATCH
n/a

Success Codes for NewRelic Record Deployment Response

Previously, the NewRelic response code was too strict, only 200 were allowed. With this fix, we allow for recordDeployment() response also 201 and other 2xx codes.

Affected Modules

MAJOR MINOR PATCH
n/a n/a NewRelic 3.1.1

Bugfixes

Case Sensitive Propel and Duplicate Email Addresses

Previously, we had a problem with duplicated email addresses when running on PostgreSQL. We updated Propel schema to implement case-insensitive flag for columns. The flag is enabled for the email field in Customer module by default.

This change does not require database changes but it does require Propel model regeneration.

Affected Modules

MAJOR MINOR PATCH
Customer 7.0.0 PropelOrm 1.5.0

Documentation
For module documentation, see Customer Module Guide.
For detailed migration guides, see Customer Module Migration Guide from Version 6. to 7.

Migration Guides
To upgrade, follow the steps described below:

  • Apply every minor and patch:
composer update "spryker/*"
  • Once that is done, upgrade to the new module major and its dependencies:
composer require spryker/customer:"^7.0.0"

Thread/Process -safe Sequence Generator

Previously, the row with the current counter was not being locked for the sequence generator, which could have resulted in many concurrent processes approaching the sequence->save(); having the same number generated. This is now resolved by locking the row when one process reads the sequence number; in this case other processes need to wait until the current process is finished.

We provide row-level locks functionality using Propel. To acquire a row-level lock on a row, there is now a new method in QueryBuilder forUpdate(true|false) which can be called in SELECT queries. The lock is held until the transaction commits or rolls back, just like table-level locks. For more information, please check PostgreSQL 9.1.24 Documentation for Explicit Locking, MySQL 5.7 Reference Manual for SELECT Syntax.

Please make sure to

  • adjust the namespaces in your config_*.php files
//use Spryker\Zed\Propel\Business\Builder\ObjectBuilder; (remove)
                        //use Spryker\Zed\Propel\Business\Builder\QueryBuilder; (remove)
                        use Spryker\Zed\PropelOrm\Business\Builder\ObjectBuilder;
                        use Spryker\Zed\PropelOrm\Business\Builder\QueryBuilder;
  • and run console propel:model:build to update your Query classes

Affected Modules

MAJOR MINOR PATCH
n/a PropelOrm 1.4.0

Resizable Table Headers

Previously, we had an issue with the table headers in Zed Administration Interface. When resizing the browser window, the content of the table was resized, but the headers were not adjusted accordingly. This fix makes sure that the data table headers grow/shrink with the window width.

Affected Modules

MAJOR MINOR PATCH
n/a n/a Gui 3.10.2

Previously, breadcrumbs were missing for the product attribute translation management interface. This issue has been fixed now.

Affected Modules

MAJOR MINOR PATCH
n/a n/a ProductAttributeGui 1.0.2

Documentation Updates

The following content has been added to the Academy: