Useful configuration and tools for Flownative Beach projects
This package provides convenient configuration for Flow applications which are hosted on Flownative Beach.
It provides the following functionality:
- configure the encryption key to be stored in the database (using the PDO cache backend)
- automatically create the caching table in the database on
This package is easily be replaced by according configuration in Flow 5.2 and up.
You should configure your caches for use of the PDO cache backend (like shown below) to have the encryption key stored in the database. Or any other cache that is not flushed upon deployment.
To have the caches set up as needed, call the
flow:cache:setupall command in your
deployment scripts, e.g. after
If you want to use this companion, simply require:
$ composer require 'flownative/beach-flow-companion:1.*'
In case you are using Flow 3.*, you need to include a version with legacy support:
$ composer require 'flownative/beach-flow-companion:0.*'
The configuration shipped with the package contains is set up so it will work on Flownative Beach right away. If you want to use the package elsewhere, adjust the caches configuration as needed, this is the default:
Flow_Security_Cryptography_HashService: backend: Neos\Cache\Backend\PdoBackend backendOptions: dataSourceName: 'mysql:host=%env:BEACH_DATABASE_HOST%;dbname=%env:BEACH_DATABASE_NAME%;charset=utf8mb4' username: '%env:BEACH_DATABASE_USERNAME%' password: '%env:BEACH_DATABASE_PASSWORD%' defaultLifetime: 0
It is possible to use the PdoBackend from this package without configuring the DB connection directly. It does then fall back to the Doctrine connection configuration used for the persistence layer.
If doing so, the
Flownative\BeachFlowCompanion\Cache\PdoBackend must only be used
for caches marked as
persistent. If used for non-persistent caches, the lack of
injection for compile-time commands will break any such command, like, ironically,