Maintenance

$ composer update drupal/quick_node_clone
  - Upgrading drupal/quick_node_clone (1.13.0 => 1.14.0): Extracting archive
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr

Align https://github.com/giancarlobi/strawberry_runners to https://github.com/esmero/strawberry_runners then

$ composer update strawberryfield/strawberry_runners
  - Upgrading strawberryfield/strawberry_runners (0.1.0.x-dev 4275b87 => 0.1.0.x-dev c2b0972)
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr

Align https://github.com/giancarlobi/strawberryfield to https://github.com/esmero/strawberryfield

$ composer require 'professional-wiki/edtf:0.1.x-dev'
  - Installing professional-wiki/edtf (dev-master b22b34f)
$ composer update strawberryfield/strawberryfield
  - Upgrading strawberryfield/strawberryfield (dev-1.0.0-RC2 caf0380 => dev-1.0.0-RC2 fa44900)
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr

Align https://github.com/giancarlobi/webform_strawberryfield to https://github.com/esmero/webform_strawberryfield

$ composer update strawberryfield/webform_strawberryfield
  - Upgrading strawberryfield/webform_strawberryfield (dev-1.0.0-RC2 1c1c601 => dev-1.0.0-RC2 48aebc7)
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr
$ composer update drupal/config_inspector
  - Upgrading drupal/config_inspector (1.1.0 => 1.3.0)
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr

Downgraded solr ocr plugin due to a probably issue.

$ cd ~
$ wget https://github.com/dbmdz/solr-ocrhighlighting/releases/download/0.5.0/solr-ocrhighlighting-0.5.0.jar
$ sudo systemctl stop solr
$ sudo mv /opt/solr/contrib/archipelago/lib/solr-ocrhighlighting-0.6.0-SNAPSHOT.jar ./
$ sudo mv solr-ocrhighlighting-0.5.0.jar /opt/solr/contrib/archipelago/lib/
$ sudo systemctl start solr

Align https://github.com/giancarlobi/strawberry_runners to https://github.com/esmero/strawberry_runners then

$ composer update strawberryfield/strawberry_runners
  - Upgrading strawberryfield/strawberry_runners (0.1.0.x-dev ef4c08b => 0.1.0.x-dev 653b4b9)
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr

Twig tools required for json_decode function.

$ composer require drupal/twig_tools
$ vendor/bin/drush en twig_tools
$ vendor/bin/drush cr

More modules update

$ composer update strawberryfield/strawberryfield
  - Upgrading strawberryfield/strawberryfield (dev-1.0.0-RC2 fa44900 => dev-1.0.0-RC2 e799247)
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr
 
$ composer update drupal/ds drupal/jquery_ui_datepicker drupal/metatag drupal/views_bulk_operations
  - Upgrading drupal/views_bulk_operations (3.10.0 => 3.12.0): Extracting archive
  - Upgrading drupal/ds (3.10.0 => 3.12.0): Extracting archive
  - Upgrading drupal/jquery_ui_datepicker (1.0.0 => 1.1.0): Extracting archive
  - Upgrading drupal/metatag (1.15.0 => 1.16.0): Extracting archive
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr

Change Solr extra types to be better for Italian language. (see Solr)
Update Cantaloupe to version 5.0 released (see Cantaloupe)

Update strawberryfield RC2 and runners 0.1.0 to enable plaintext and solve search_api issue

$ composer update 'strawberryfield/strawberryfield' 'strawberryfield/strawberry_runners'
  - Upgrading strawberryfield/strawberry_runners (0.1.0.x-dev 653b4b9 => 0.1.0.x-dev 7d88aa6)
  - Upgrading strawberryfield/strawberryfield (dev-1.0.0-RC2 e799247 => dev-1.0.0-RC2 4ad59bf)
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr

Set/clear strawberryfield flavor datasource fields (admin/config/search/search-api/index/drupal_content_to_solr_8/fields) General update

$ composer update
  - Upgrading professional-wiki/edtf (dev-master b22b34f => dev-master 52e48be): Checking out 52e48be75e from cache
  - Upgrading frictionlessdata/datapackage (dev-master d9e007d => dev-master 48e73fc): Checking out 48e73fc9b9 from cache
  - Upgrading symfony/finder (v5.2.3 => v5.2.4): Extracting archive
  - Upgrading phpseclib/phpseclib (3.0.5 => 3.0.6): Extracting archive
  - Upgrading google/apiclient-services (v0.163.0 => v0.166.0): Extracting archive
  - Upgrading symfony/filesystem (v4.4.19 => v4.4.21): Extracting archive
  - Upgrading drupal/facets (dev-1.x a941c92 => dev-1.x b1c616b): Checking out b1c616bacf from cache
  - Upgrading drupal/inline_entity_form (dev-1.x 52d28cc => dev-1.x 0c9fc28): Checking out 0c9fc2848b from cache
  - Upgrading drupal/restui (1.19.0 => 1.20.0): Extracting archive
  - Upgrading aws/aws-sdk-php (3.173.22 => 3.176.3): Extracting archive
  - Upgrading drupal/s3fs (dev-3.x 012cdc2 => dev-3.x d9c1ba9): Checking out d9c1ba9c0d from cache
  - Upgrading webmozart/assert (1.9.1 => 1.10.0): Extracting archive
  - Upgrading psy/psysh (v0.10.6 => v0.10.7): Extracting archive
$ vendor/bin/drush updatedb
 -------- ------------------- ------------- -----------------------------------
  Module   Update ID           Type          Description
 -------- ------------------- ------------- -----------------------------------
  s3fs     add_credentials_c   post-update   Add default config settings for
           ache_default                      credentials caching.
  s3fs     add_disable_versi   post-update   Set new config property
           on_sync_default                   "disable_version_sync" to default
                                             value.
  s3fs     add_read_only_def   post-update   Set new config property default
           ault                              value for "read_only".
  s3fs     delete_no_rewrite   post-update   Remove obsolete no_rewrite_cssjs
           _cssjs_setting                    config entry (removed in
                                             alpha17).
  s3fs     migrate_instance_   post-update   Migrate Instance Profile
           profile_settings                  settings.
 -------- ------------------- ------------- -----------------------------------
 
$ vendor/bin/drush cr

Add Monolog to log hydroponics on filesystem
Prepare folder

$ mkdir /var/www/html/private/logs
$ sudo chgrp -R www-data private/logs
$ ls -l private/
drwxrwxr-x 2 gestore  www-data 4096 Mar 30 10:22 logs
drwxrwxr-x 7 www-data www-data 4096 Mar 14 22:06 webform

Install, configure and enable

$ composer require 'drupal/monolog:^2.0@beta'
  - Installing drupal/monolog (2.0.0-beta2): Extracting archive
 
$ nano -w web/sites/default/settings.php
/**
 * Enable Monolog service
 *
 */
$settings['container_yamls'][] = 'sites/default/monolog.services.yml';
$ nano -w web/sites/default/monolog.services.yml
parameters:
  monolog.channel_handlers:
    hydroponics: ['rotating_file_hydroponics']
    hydroqueue: ['rotating_file_hydroponics']
    default: ['drupal.dblog']
 
services:
  monolog.handler.rotating_file_hydroponics:
    class: Monolog\Handler\RotatingFileHandler
    arguments: ['private://logs/hydroponics.log', 10, '%monolog.level.debug%']
$ vendor/bin/drush en monolog
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr

Add Bootstrap For Drupal theme

$ composer require 'drupal/bfd:^2.61'
  - Installing drupal/bfd (2.61.0): Extracting archive

Set correct timezone

$ sudo timedatectl set-timezone Europe/Rome
$ timedatectl
               Local time: Wed 2021-03-31 09:13:10 CEST
           Universal time: Wed 2021-03-31 07:13:10 UTC
                 RTC time: Wed 2021-03-31 07:12:56
                Time zone: Europe/Rome (CEST, +0200)

We need enable datetime and datetime_range

$ vendor/bin/drush en datetime datetime_range

General update

$ composer update
  - Upgrading drupal/core-composer-scaffold (9.1.5 => 9.1.6): Extracting archive
  - Upgrading drupal/core-project-message (9.1.5 => 9.1.6): Extracting archive
  - Upgrading professional-wiki/edtf (dev-master 52e48be => dev-master a0a730e): Checking out a0a730eba6 from cache
  - Upgrading drupal/core (9.1.5 => 9.1.6): Extracting archive
  - Upgrading phpseclib/phpseclib (3.0.6 => 3.0.7): Extracting archive
  - Upgrading google/apiclient-services (v0.166.0 => v0.167.0): Extracting archive
  - Upgrading drupal/bfd (2.61.0 => 2.65.0): Extracting archive
  - Upgrading drupal/core-recommended (9.1.5 => 9.1.6)
  - Upgrading fileeye/mimemap (1.1.4 => 1.1.5): Extracting archive
  - Upgrading drupal/inline_entity_form (dev-1.x 0c9fc28 => dev-1.x 057a761): Checking out 057a7612f6 from cache
  - Upgrading aws/aws-sdk-php (3.176.3 => 3.177.0): Extracting archive
  - Upgrading drupal/s3fs (dev-3.x d9c1ba9 => dev-3.x eeaaf1d): Checking out eeaaf1d324 from cache
  - Upgrading drush/drush (10.4.0 => 10.4.2): Extracting archive
 
$ vendor/bin/drush updatedb
 -------- ------------------------- ------------- ---------------------------
  Module   Update ID                 Type          Description
 -------- ------------------------- ------------- ---------------------------
  node     glossary_view_published   post-update   Add a published filter to
                                                   the glossary View.
 -------- ------------------------- ------------- ---------------------------
$ vendor/bin/drush cr

Edit Solr schema for Suggester fieldtype text_ws to split on word without punctuation. (see Solr Suggester)

$ composer update
  - Upgrading drupal/core-composer-scaffold (9.1.6 => 9.1.7): Extracting archive
  - Upgrading drupal/core-project-message (9.1.6 => 9.1.7): Extracting archive
  - Upgrading professional-wiki/edtf (dev-master a0a730e => dev-master 1267dbb): Checking out 1267dbb3a2 from cache
  - Upgrading drupal/core (9.1.6 => 9.1.7): Extracting archive
  - Upgrading phpseclib/phpseclib (3.0.7 => 3.0.8): Extracting archive
  - Upgrading google/auth (v1.15.0 => v1.15.1): Extracting archive
  - Upgrading google/apiclient-services (v0.167.0 => v0.170.0): Extracting archive
  - Upgrading drupal/core-recommended (9.1.6 => 9.1.7)
  - Upgrading drupal/imce (2.3.0 => 2.4.0): Extracting archive
  - Upgrading drupal/inline_entity_form (dev-1.x 057a761 => dev-1.x 6e491f6): Checking out 6e491f65cf from cache
  - Upgrading drupal/ctools (3.4.0 => 3.5.0): Extracting archive
  - Upgrading aws/aws-sdk-php (3.177.0 => 3.178.8): Extracting archive
  - Upgrading drupal/s3fs (dev-3.x eeaaf1d => dev-3.x e973543): Checking out e973543c88 from cache
  - Upgrading psy/psysh (v0.10.7 => v0.10.8): Extracting archive
  - Upgrading enlightn/security-checker (v1.7.0 => v1.8.0): Extracting archive
  - Upgrading drush/drush (10.4.2 => 10.4.3): Extracting archive
 
$ vendor/bin/drush updatedb
 -------- ----------- --------------- ------------------------------------------
  Module   Update ID   Type            Description
 -------- ----------- --------------- ------------------------------------------
  s3fs     8303        hook_update_n   Alter db version field to varchar(255).
 -------- ----------- --------------- ------------------------------------------
$ vendor/bin/drush cr
$ composer update professional-wiki/edtf strawberryfield/strawberryfield strawberryfield/strawberry_runners
  - Locking professional-wiki/edtf (2.0.0)
  - Upgrading strawberryfield/strawberry_runners (0.1.0.x-dev 905c405 => 0.1.0.x-dev 0b5336e)
  - Upgrading strawberryfield/strawberryfield (dev-1.0.0-RC2 e8aa1d3 => dev-1.0.0-RC2 18ed295)
$ composer update
  - Upgrading composer/installers (v1.10.0 => v1.11.0): Extracting archive
  - Upgrading drupal/core-composer-scaffold (9.1.7 => 9.1.8): Extracting archive
  - Upgrading drupal/core-project-message (9.1.7 => 9.1.8): Extracting archive
  - Upgrading swaggest/json-schema (v0.12.31 => v0.12.32): Extracting archive
  - Upgrading symfony/translation (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading nesbot/carbon (2.46.0 => 2.48.0): Extracting archive
  - Upgrading frictionlessdata/datapackage (dev-master 48e73fc => dev-master b60bd4e): Checking out b60bd4e784 from cache
  - Upgrading symfony/yaml (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/validator (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/serializer (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/routing (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/mime (v5.1.8 => v5.1.11): Extracting archive
  - Upgrading symfony/http-foundation (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/process (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/event-dispatcher (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/var-dumper (v5.1.8 => v5.1.11): Extracting archive
  - Upgrading symfony/debug (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/error-handler (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/http-kernel (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/dependency-injection (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading symfony/console (v4.4.16 => v4.4.19): Extracting archive
  - Upgrading drupal/core (9.1.7 => 9.1.8): Extracting archive
  - Upgrading symfony/finder (v5.2.4 => v5.2.9): Extracting archive
  - Upgrading drupal/webform (6.0.2 => 6.0.3): Extracting archive
    strawberryfield/format_strawberryfield has modified files:
    M format_strawberryfield.libraries.yml
    M js/iiif-iabookreader_strawberry.js
    Discard changes [y,n,v,d,s,?]? y
  - Upgrading strawberryfield/format_strawberryfield (dev-1.0.0-RC2 f7fc658 => dev-1.0.0-RC2 aada573): Checking out aada573628 from cache
  - Upgrading markbaker/complex (2.0.0 => 2.0.2): Extracting archive
  - Upgrading drupal/views_bulk_operations (3.12.0 => 3.13.0): Extracting archive
  - Upgrading google/apiclient-services (v0.170.0 => v0.176.0): Extracting archive
  - Upgrading drupal/google_api_client (3.0.0-rc5 => 3.0.0): Extracting archive
  - Upgrading archipelago/ami (0.1.0.x-dev 199979d => 0.1.0.x-dev 61786e8): Checking out 61786e8fd2 from cache
  - Upgrading symfony/filesystem (v4.4.21 => v4.4.22): Extracting archive
  - Upgrading twbs/bootstrap (v4.6.0 => v5.0.1): Extracting archive
  - Upgrading drupal/bootstrap_barrio (5.1.4 => 5.5.1): Extracting archive
  - Upgrading drupal/context (4.0.0-beta5 => 4.0.0-beta6): Extracting archive
  - Upgrading drupal/core-recommended (9.1.7 => 9.1.8)
  - Upgrading drupal/facets (dev-1.x b1c616b => dev-1.x 3c3fe24): Checking out 3c3fe248e6 from cache
  - Upgrading drupal/ctools (3.5.0 => 3.6.0): Extracting archive
  - Upgrading aws/aws-sdk-php (3.178.8 => 3.183.3): Extracting archive
  - Upgrading drupal/s3fs (dev-3.x e973543 => dev-3.x 21e7fe8): Checking out 21e7fe8c6c from cache
  - Upgrading drupal/schema_metatag (2.1.0 => 2.2.0): Extracting archive
  - Upgrading drupal/twig_tweak (3.0.0 => 3.1.1): Extracting archive
  - Upgrading drupal/webform_submission_log (6.0.2 => 6.0.3)
  - Upgrading drupal/webformnavigation (1.0.0-alpha11 => 1.0.0-beta1): Extracting archive
  - Upgrading nikic/php-parser (v4.10.4 => v4.10.5): Extracting archive
  - Upgrading enlightn/security-checker (v1.8.0 => v1.9.0): Extracting archive
  - Upgrading drush/drush (10.4.3 => 10.5.0): Extracting archive
 
$ vendor/bin/drush updatedb
 -------- ------------------------ ------------- --------------------------
  Module   Update ID                Type          Description
 -------- ------------------------ ------------- --------------------------
  s3fs     migrate_hostname_setti   post-update   Migrate custom S3 bucket
           ng_format                              hostname format.
 -------- ------------------------ ------------- --------------------------
$ vendor/bin/drush cr

Update composer due to git oauth issue.

$ cp ~/.config/composer/auth.json ~/.config/composer/auth.json.LAST
$ nano -w ~/.config/composer/auth.json
   {"github-oauth": {}}
$ sudo composer self-update
$ cp ~/.config/composer/auth.json.LAST ~/.config/composer/auth.json
$ composer --version
Composer version 2.1.1 2021-06-04 08:46:46

Update Drupal and modules

$ composer update
  - Upgrading drupal/core-composer-scaffold (9.1.8 => 9.1.10): Extracting archive
  - Upgrading drupal/core-project-message (9.1.8 => 9.1.10): Extracting archive
  - Upgrading swaggest/json-schema (v0.12.32 => v0.12.33): Extracting archive
  - Upgrading nesbot/carbon (2.48.0 => 2.48.1): Extracting archive
  - Upgrading symfony/polyfill-php72 (v1.22.1 => v1.23.0): Extracting archive
  - Upgrading symfony/polyfill-php73 (v1.22.1 => v1.23.0): Extracting archive
  - Upgrading drupal/core (9.1.8 => 9.1.10): Extracting archive
  - Upgrading symfony/finder (v5.2.9 => v5.3.0): Extracting archive
  - Upgrading drupal/search_api_solr (4.1.11 => 4.1.12): Extracting archive
  - Upgrading markbaker/matrix (2.1.2 => 2.1.3): Extracting archive
  - Upgrading markbaker/complex (2.0.2 => 2.0.3): Extracting archive
  - Upgrading phpoffice/phpspreadsheet (1.17.1 => 1.18.0): Extracting archive
  - Upgrading firebase/php-jwt (v5.2.1 => v5.3.0): Extracting archive
  - Upgrading google/apiclient-services (v0.176.0 => v0.180.0): Extracting archive
  - Upgrading symfony/filesystem (v4.4.22 => v4.4.25): Extracting archive
  - Upgrading drupal/core-recommended (9.1.8 => 9.1.10)
  - Upgrading drupal/imagemagick (3.1.0 => 3.2.0): Extracting archive
  - Upgrading aws/aws-sdk-php (3.183.3 => 3.183.13): Extracting archive
  - Upgrading drupal/webformnavigation (1.0.0-beta1 => 1.0.0-rc1): Extracting archive
 
$ vendor/bin/drush updatedb
 ----------------- ----------- --------------- --------------------------------
  Module            Update ID   Type            Description
 ----------------- ----------- --------------- --------------------------------
  search_api_solr   8408        hook_update_n   8408 - Improved Japanese field
                                                type.
  search_api_solr   8409        hook_update_n   8409 - Add Hungarian field
                                                type.
 ----------------- ----------- --------------- --------------------------------
 
 
 Do you wish to run the specified pending updates? (yes/no) [yes]:
 > yes
 
>  [notice] Update started: search_api_solr_update_8408
>  [notice] Update completed: search_api_solr_update_8408
>  [notice] Update started: search_api_solr_update_8409
>  [notice] Update completed: search_api_solr_update_8409
>  [warning] Message: There have been some configuration changes. It is advisable to download and
> deploy an updated config.zip to your Solr server.
>
>  [warning] Message: A new Solr field type has been installed due to configuration changes. It is
> advisable to download and deploy an updated config.zip to your Solr server.
>
 [success] Finished performing updates.
 
$ vendor/bin/drush cr

Update Archipelago modules to opendb branch with ALTO support.

$ composer require 'strawberryfield/webform_strawberryfield:dev-1.0.0-dbopen' 'archipelago/ami:dev-0.1.0-dbopen' 'strawberryfield/strawberryfield:dev-1.0.0-dbopen' 'strawberryfield/strawberry_runners:dev-0.1.0-dbopen' 'strawberryfield/format_strawberryfield:dev-1.0.0-dbopen'
./composer.json has been updated
Running composer update strawberryfield/webform_strawberryfield archipelago/ami strawberryfield/strawberryfield strawberryfield/strawberry_runners strawberryfield/format_strawberryfield
Gathering patches for root package.
Loading composer repositories with package information                                                   Updating dependencies
Lock file operations: 0 installs, 5 updates, 0 removals
  - Upgrading archipelago/ami (0.1.0.x-dev 61786e8 => dev-0.1.0-dbopen 448944c)
  - Upgrading strawberryfield/format_strawberryfield (dev-1.0.0-RC2 aada573 => dev-1.0.0-dbopen da1a7f5)
  - Upgrading strawberryfield/strawberry_runners (0.1.0.x-dev 0b5336e => dev-0.1.0-dbopen ed440be)
  - Upgrading strawberryfield/strawberryfield (dev-1.0.0-RC2 18ed295 => dev-1.0.0-dbopen 0b9d763)
  - Upgrading strawberryfield/webform_strawberryfield (dev-1.0.0-RC2 8384f47 => dev-1.0.0-dbopen 782202c)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 5 updates, 0 removals
  - Syncing strawberryfield/strawberryfield (dev-1.0.0-dbopen 0b9d763) into cache
  - Syncing strawberryfield/format_strawberryfield (dev-1.0.0-dbopen da1a7f5) into cache
  - Syncing strawberryfield/webform_strawberryfield (dev-1.0.0-dbopen 782202c) into cache
  - Syncing archipelago/ami (dev-0.1.0-dbopen 448944c) into cache
  - Syncing strawberryfield/strawberry_runners (dev-0.1.0-dbopen ed440be) into cache
Gathering patches for root package.
Gathering patches for dependencies. This might take a minute.
  - Upgrading strawberryfield/strawberryfield (dev-1.0.0-RC2 18ed295 => dev-1.0.0-dbopen 0b9d763): Checking out 0b9d7632c9 from cache
  - Upgrading strawberryfield/format_strawberryfield (dev-1.0.0-RC2 aada573 => dev-1.0.0-dbopen da1a7f5): Checking out da1a7f59d6 from cache
  - Upgrading strawberryfield/webform_strawberryfield (dev-1.0.0-RC2 8384f47 => dev-1.0.0-dbopen 782202c): Checking out 782202c314 from cache
  - Upgrading archipelago/ami (0.1.0.x-dev 61786e8 => dev-0.1.0-dbopen 448944c): Checking out 448944c866 from cache
  - Upgrading strawberryfield/strawberry_runners (0.1.0.x-dev 0b5336e => dev-0.1.0-dbopen ed440be): Checking out ed440be7b1 from cache
 
$ vendor/bin/drush updatedb
$ vendor/bin/drush cr