Since our last article on Dataflow (externalised logs and automated history cleanup), Ibexa Dataflow has gone from version 6.1.2 to 7.0.0. Richer job tracking, product attribute comparison for Ibexa Commerce, security fixes and, with 7.0, dates stored in UTC: here are the details.
The NotModifiedProductFilter filter now compares product attributes, type by type (6.7). It no longer skips the update of a product whose attribute has changed or been cleared, for example a checkbox set to null .
Version 6.5.1 fixes four issues:
This is a backward-incompatible change. Dates of scheduled dataflows and jobs are now read and stored in UTC, whatever PHP's timezone, and displayed in the user's timezone. The forms that depended on both PHP's timezone and the user's are fixed.
Back up your tables before you start: the conversion commands are not idempotent, run each of them only once. Run them first with --dry-run , then without that option when the result looks right, and deploy the new version.
Dates written by PHP (start_time and end_time ) were stored in PHP's timezone. Dates entered in forms (next and requested_date ) depend on the version of the bundle that created the row.
1. Dates written by PHP. They are always converted by the Dataflow bundle's command:
php bin/console code-rhapsodie:dataflow:convert-dates-to-utc [--timezone=Europe/Paris] --dry-run
2. Dates entered in forms. What to do depends on where the rows came from:
php bin/console code-rhapsodie:ibexa-dataflow:convert-dates --user-timezone=Europe/Paris [--php-timezone=UTC] --dry-run
The --php-timezone option defaults to the configured PHP timezone.
Beware of tables that mix both origins, for example rows migrated from Ibexa 3 and others created later with Ibexa 4 or later. Rows are not tagged by origin and the commands convert every row: some of them would end up shifted. Check the result with --dry-run and fix the rows of the other origin separately, for example with an SQL query on a range of IDs. The details are in the repository's UPGRADE.md file.
You have to upgrade from version 5 to version 6, Dataflow adds columns to the jobs table (the exceptions and their count). Update your database schema:
php bin/console code-rhapsodie:dataflow:database-schema --update
Want to go further and try Dataflow: https://github.com/code-rhapsodie/dataflow-bundle/#installation
Since our last article, Ibexa Dataflow has gone from version 6.1.2 to 7.0.0: a richer ...
New dashboard, new design, new analyses and an ambitious roadmap: Security Audit moves to version ...
While AI assistants have revolutionised code production by significantly speeding up development, their widespread use ...
Fed up with having your job logs in the database? Even more fed up with ...
If you have been developing on Ibexa for a few years, you have probably got ...
Code Rhapsodie is taking over maintenance of Patrick Bussmann's oauth2-apple package. This fork ensures the ...
Taxonomy keyword suggestion is available in Ibexa DXP with the LTS update pack and the ...
Importing a very large SQL file can be problematic, sometimes causing your virtual machine (VM) ...
Sylius and Shopware are two tools (frameworks) for building an e-commerce site. How do you ...