flownative/beach-flow-companion

Useful configuration and tools for Flownative Beach projects

Installs: 19 740

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 2

Forks: 2

Open Issues: 0

Type:neos-package

1.0.9 2019-12-06 10:55 UTC

This package is auto-updated.

Last update: 2020-08-06 12:21:02 UTC


README

MIT license Packagist Maintenance level: Acquaintance

Flownative Beach Flow Companion

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 flow:cache:warmup

DEPRECATION NOTICE

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 flow:cache:warmup.

Installation

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.*'

Configuration

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

Warning

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, flow:cache:flush.