esmero / archipelago-deployment

Archipelago Commons Docker Deployment Repository
33 stars 15 forks source link

8.x-1.0-beta2: Moving to Drupal 8.8.1 #19

Open DiegoPino opened 4 years ago

DiegoPino commented 4 years ago

This is an internal note. WIP as we move the whole stack to 8.x-1.0-beta2.

Today, Dec 4th 2019 Drupal 8.8.0 was released (yay! or nay?)

Full list of changes: https://www.drupal.org/project/drupal/releases/8.8.0 (read it, i did not.. and here i am)

Since 8.x-1.0-beta2 is coming i wanted to deliver by default that version. But again, so much has changed. Of course i tried the "do it, then solve it" way and i broken one of my local Archipelagos because of a Contributed Module (mentioned in the release notes, but who reads that right? jajaja). The Module is Drupal/pathalias. Drupal 8.8.0 breaks on anything less than 1.6 and it needs to have 1.6 installed first before moving forward because of a Database/entity that needs to be deployed.

Site note: will have to use my Time machine tonight, i had some stuff i liked in that repo!

So until now: i managed to find this set of composer commands to move forward.

New Archipelago Deployment (note, people won't do this, i will provide a composer.lock)

docker exec -ti esmero-php bash -c "php -dmemory_limit=-1 /usr/bin/composer require 'drupal/pathauto:^1.6'"
docker exec -ti esmero-php bash -c "php -dmemory_limit=-1 /usr/bin/composer remove webflo/drupal-core-require-dev"
docker exec -ti esmero-php bash -c "php -dmemory_limit=-1 /usr/bin/composer require drupal/core-dev:^8.8"
docker exec -ti esmero-php bash -c "php -dmemory_limit=-1 /usr/bin/composer require typo3/phar-stream-wrapper:3.1.3 pear/archive_tar:^1.4.8 drupal/core:8.8.0"
docker exec -ti esmero-php bash -c "php -dmemory_limit=-1 /usr/bin/composer update"

Updating existing Archipelago Deployment (from beta01)

docker exec -ti esmero-php bash -c "php -dmemory_limit=-1 /usr/bin/composer require 'drupal/pathauto:^1.6'"
docker exec -ti esmero-php bash -c "drush updatedb"
docker exec -ti esmero-php bash -c "drush cr"
docker exec -ti esmero-php bash -c "php -dmemory_limit=-1 /usr/bin/composer remove webflo/drupal-core-require-dev"
docker exec -ti esmero-php bash -c "php -dmemory_limit=-1 /usr/bin/composer require drupal/core-dev:^8.8"
docker exec -ti esmero-php bash -c "php -dmemory_limit=-1 /usr/bin/composer require typo3/phar-stream-wrapper:3.1.3 pear/archive_tar:^1.4.8 drupal/core:8.8.0"
docker exec -ti esmero-php bash -c "drush cr"
docker exec -ti esmero-php bash -c "drush en path_alias"
docker exec -ti esmero-php bash -c "drush updatedb"
docker exec -ti esmero-php bash -c "drush cr"

Updates: new core module that is needed (given by 8.8.0) drupal/path_alias. Will document this, but gist is: needs to be either enabled on existing machines via drush, or on new ones our config/sync/core.extension.yml needs to have that one added. If not, BUM!

How lovely dependencies are....

As you also noticed i'm using php -dmemory_limit=-1 /usr/bin/composer instead of composer directly. Newer version of composer is using more than 512Mbytes we assigned to PHP. We will deal with that too.

So this are the first steps: i'm now testing a from scratch deployment. Once i'm ok with that i will move to an update and will provide also a new update script for the new release.

We also need to update config/sync settings and add new configurations. A lot do folks!

DiegoPino commented 4 years ago

@giancarlobi @marlo-longley @mitchellkeaney some updates on this. Drupal 8.8.0 works perfectly with Archipelago and the update moved a lot of other libraries up in the evolution chain, good. Development on Docker feels snappier and things work pretty well. There are quite some changes on the core, specially on how tabs are displayed on the admin theme! Will require some getting used.

Config/sync folder needs some updates, our configurations, to be 1:1 will need to be reexported from my current running 8.8.0 and time to deal with giving things better Labels. I won't touch machine names so we allow an actual update roadmap for people running beta01 and not a reinstall everything as other projects do.

I will do some View import-exports, label changes and also some ingest tests before making a pull request. Once the pull is up, i will really need some deep testing. Means with a "storyboard" so we are sure we can 1.- Update with simple instructions, consistently running archipelagos on beta01 2.- Deploy new Archipelagos 3.- FULL CRUD on Digital Objects 4.- Any type of Solr Indexing 5.- Webforms are Perfectly working (like using preview, uploading files, going back and forth, etc) etc, etc, etc

That is all for now. Thanks people

giancarlobi commented 4 years ago

@DiegoPino I can apply update on my running Archipelago beta1 without docker. I think to follow these steps (any suggestions are welcome!):

DiegoPino commented 4 years ago

@giancarlobi excellent. Just make sure you follow a similar order as i described up there, the key is drupal/pathauto first and a updatedb and then enable drupal/path_alias is not already there.

DiegoPino commented 4 years ago

Just make sure you follow a similar order == only because if not your DB could end broken like mine! jajaja

giancarlobi commented 4 years ago

@giancarlobi excellent. Just make sure you follow a similar order as i described up there, the key is drupal/pathauto first and a updatedb and then enable drupal/path_alias is not already there.

@DiegoPino So starting from a Drupal 8.7 with Archipelago beta1, the steps are:

A couple of questions: 1) there are more module updates available, when do that, before or after drupal core?

Configuration inspector 8.x-1.0-beta2
Recommended version:
8.x-1.0 (2019-Sep-25) 

Display Suite 8.x-3.4
Recommended version:
8.x-3.5 (2019-Nov-26) 

Inline Entity Form 8.x-1.0-rc1
Recommended version:
8.x-1.0-rc2 (2019-Sep-14) 

S3 File System 8.x-3.0-alpha13
Recommended version:
8.x-3.0-alpha14 (2019-Sep-19) 

Search API 8.x-1.14
Recommended version:
8.x-1.15 (2019-Nov-07) 

The CodeMirror Editor 8.x-1.2
Recommended version:
8.x-1.3 (2019-Oct-09) 

Webform 8.x-5.4
Recommended version:
8.x-5.6 (2019-Dec-02) 

2) Why remove webflo/drupal-core-require-dev ?

3) Not clear to me why core-dev + core here require drupal/core-dev:^8.8 require typo3/phar-stream-wrapper:3.1.3 pear/archive_tar:^1.4.8 drupal/core:8.8.0

DiegoPino commented 4 years ago

Hi, i did an composer update after all these steps to update the other modules.

webflo/drupal-core-require-dev was replaced by drupal/core-dev but both have dependecies on symfony. I had to remove the first to install the second yo avoid old versions of those dependecies to get stuck and conflicting

About this whole line

1.

Not clear to me why core-dev + core here require drupal/core-dev:^8.8 require typo3/phar-stream-wrapper:3.1.3 pear/archive_tar:^1.4.8 drupal/core:8.8.0

Core dev/ replaces yhe webflo one, core-dev in ^8.8 means our lock file will allow 8.8.1 etc and our next updatea in the 8.8 line will be simpler

Archiver version is a requirement of core 8.8.0. Since we already have one installed and our lock is fixed to it auto install won’t work. Core is kinda obvious there, but last since the first packages will add a lot of the dependecies

Best!

El El sáb, 7 de dic. de 2019 a la(s) 05:21, Giancarlo < notifications@github.com> escribió:

@giancarlobi https://github.com/giancarlobi excellent. Just make sure you follow a similar order as i described up there, the key is drupal/pathauto first and a updatedb and then enable drupal/path_alias is not already there.

@DiegoPino https://github.com/DiegoPino So starting from a Drupal 8.7 with Archipelago beta1, the steps are:

  • upgrade drupal/pathauto to 8.x-1.6 (2019-Dec-04)
  • updatedb + cr
  • install drupal/path_alias
  • updatedb + cr (maybe not needed but ...)
  • update drupal core to 8.8

A couple of questions:

  1. there are more module updates available, when do that, before or after drupal core?

Configuration inspector 8.x-1.0-beta2 Recommended version: 8.x-1.0 (2019-Sep-25)

Display Suite 8.x-3.4 Recommended version: 8.x-3.5 (2019-Nov-26)

Inline Entity Form 8.x-1.0-rc1 Recommended version: 8.x-1.0-rc2 (2019-Sep-14)

S3 File System 8.x-3.0-alpha13 Recommended version: 8.x-3.0-alpha14 (2019-Sep-19)

Search API 8.x-1.14 Recommended version: 8.x-1.15 (2019-Nov-07)

The CodeMirror Editor 8.x-1.2 Recommended version: 8.x-1.3 (2019-Oct-09)

Webform 8.x-5.4 Recommended version: 8.x-5.6 (2019-Dec-02)

1.

Why remove webflo/drupal-core-require-dev ? 2.

Not clear to me why core-dev + core here require drupal/core-dev:^8.8 require typo3/phar-stream-wrapper:3.1.3 pear/archive_tar:^1.4.8 drupal/core:8.8.0

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/esmero/archipelago-deployment/issues/19?email_source=notifications&email_token=ABU7ZZZT55HPJVFA45FJ3SDQXN2KRA5CNFSM4JVPJFR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGDQDY#issuecomment-562837519, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABU7ZZ5R7S7ARQ54CCZMWH3QXN2KRANCNFSM4JVPJFRQ .

-- Diego Pino Navarro Digital Repositories Developer Metropolitan New York Library Council (METRO)

giancarlobi commented 4 years ago

@DiegoPino A last (I hope) question: I'm running PHP 7.2 (Ubuntu 18.04) ... any issue about that? I know I can probably switch to 7.3, not so sure. Have a nice saturday

DiegoPino commented 4 years ago

Hi! Should be ok. On docker we have 7.3 but 8.8.0 only Deprecated 5.6, so any 7.x should be good!

Hugs my friend!

El El sáb, 7 de dic. de 2019 a la(s) 10:33, Giancarlo < notifications@github.com> escribió:

@DiegoPino https://github.com/DiegoPino A last (I hope) question: I'm running PHP 7.2 (Ubuntu 18.04) ... any issue about that? I know I can probably switch to 7.3, not so sure. Have a nice saturday

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/esmero/archipelago-deployment/issues/19?email_source=notifications&email_token=ABU7ZZ733OCXX5GFVEAKW5DQXO63TA5CNFSM4JVPJFR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGJHMY#issuecomment-562860979, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABU7ZZ2OGBJE43BX7TCPIJLQXO63TANCNFSM4JVPJFRQ .

-- Diego Pino Navarro Digital Repositories Developer Metropolitan New York Library Council (METRO)

giancarlobi commented 4 years ago

@DiegoPino A couple of notes along first steps on my machine:

$ sudo -u www-data composer require 'drupal/pathauto:^1.6'
Package operations: 0 installs, 1 update, 0 removals
  - Updating drupal/pathauto (1.4.0 => 1.6.0): Downloading (100%)

$ sudo -u www-data vendor/drush/drush/drush updatedb
 [success] No database updates required.

$ sudo -u www-data /var/www/archipelago/vendor/drush/drush/drush cr
 [success] Cache rebuild complete.

$ sudo -u www-data composer require 'drupal/path_alias'
  Could not find package drupal/path_alias.
  Did you mean one of these?
      drupal/path_alias_xt
      drupal/path_file
      drupal/fake_path_alias
      drupal/alien_alias
      drupal/pathauto

1) No database updates required. after pathauto update. It probably depends on what I have ingested in my archipelago.

2) What is the package name path alias to install or that will be available after drupal core update?

DiegoPino commented 4 years ago

Hi, should be available after core update

El El sáb, 7 de dic. de 2019 a la(s) 10:51, Giancarlo < notifications@github.com> escribió:

@DiegoPino https://github.com/DiegoPino A couple of notes along first steps on my machine:

$ sudo -u www-data composer require 'drupal/pathauto:^1.6' Package operations: 0 installs, 1 update, 0 removals

  • Updating drupal/pathauto (1.4.0 => 1.6.0): Downloading (100%)

$ sudo -u www-data vendor/drush/drush/drush updatedb [success] No database updates required.

$ sudo -u www-data /var/www/archipelago/vendor/drush/drush/drush cr [success] Cache rebuild complete.

$ sudo -u www-data composer require 'drupal/path_alias' Could not find package drupal/path_alias. Did you mean one of these? drupal/path_alias_xt drupal/path_file drupal/fake_path_alias drupal/alien_alias drupal/pathauto

1.

No database updates required. after pathauto update. It probably depends on what I have ingested in my archipelago. 2.

What is the package name path alias to install or that will be available after drupal core update?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/esmero/archipelago-deployment/issues/19?email_source=notifications&email_token=ABU7ZZ5HLGO5VBFUD272NQTQXPA6JA5CNFSM4JVPJFR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGJTIA#issuecomment-562862496, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABU7ZZ75NMLRSYWRQABCSTLQXPA6JANCNFSM4JVPJFRQ .

-- Diego Pino Navarro Digital Repositories Developer Metropolitan New York Library Council (METRO)

DiegoPino commented 4 years ago

Hi, also, just in case I explained myself badly. Its a drupal core module, not a composer library. So you won’t see it via composer, only via drush! Hugs

El El sáb, 7 de dic. de 2019 a la(s) 10:56, Diego Pino dpino@metro.org escribió:

Hi, should be available after core update

El El sáb, 7 de dic. de 2019 a la(s) 10:51, Giancarlo < notifications@github.com> escribió:

@DiegoPino https://github.com/DiegoPino A couple of notes along first steps on my machine:

$ sudo -u www-data composer require 'drupal/pathauto:^1.6' Package operations: 0 installs, 1 update, 0 removals

  • Updating drupal/pathauto (1.4.0 => 1.6.0): Downloading (100%)

$ sudo -u www-data vendor/drush/drush/drush updatedb [success] No database updates required.

$ sudo -u www-data /var/www/archipelago/vendor/drush/drush/drush cr [success] Cache rebuild complete.

$ sudo -u www-data composer require 'drupal/path_alias' Could not find package drupal/path_alias. Did you mean one of these? drupal/path_alias_xt drupal/path_file drupal/fake_path_alias drupal/alien_alias drupal/pathauto

1.

No database updates required. after pathauto update. It probably depends on what I have ingested in my archipelago. 2.

What is the package name path alias to install or that will be available after drupal core update?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/esmero/archipelago-deployment/issues/19?email_source=notifications&email_token=ABU7ZZ5HLGO5VBFUD272NQTQXPA6JA5CNFSM4JVPJFR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGJTIA#issuecomment-562862496, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABU7ZZ75NMLRSYWRQABCSTLQXPA6JANCNFSM4JVPJFRQ .

-- Diego Pino Navarro Digital Repositories Developer Metropolitan New York Library Council (METRO)

-- Diego Pino Navarro Digital Repositories Developer Metropolitan New York Library Council (METRO)

giancarlobi commented 4 years ago

Hi, also, just in case I explained myself badly. Its a drupal core module, not a composer library. So you won’t see it via composer, only via drush! Hugs

Yeah! It was automatically installed updating drupal because path requires it:

Machine name: path
Version: 8.8.0
Requires: Path alias 
giancarlobi commented 4 years ago

Updating existing Archipelago Deployment (from beta01)

@DiegoPino all done! No error in log. First stage before beta2 I think is ok. Attached the full log/steps to reach this point.

achi_steps_2Drupal_8.8.0.txt

DiegoPino commented 4 years ago

Wonderful!!!!! Thanks so much, good team work

El El sáb, 7 de dic. de 2019 a la(s) 11:58, Giancarlo < notifications@github.com> escribió:

Updating existing Archipelago Deployment (from beta01)

@DiegoPino https://github.com/DiegoPino all done! No error in log. First stage before beta2 I think is ok. Attached the full log/steps to reach this point.

achi_steps_2Drupal_8.8.0.txt https://github.com/esmero/archipelago-deployment/files/3935314/achi_steps_2Drupal_8.8.0.txt

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/esmero/archipelago-deployment/issues/19?email_source=notifications&email_token=ABU7ZZ6LZZFLT3J7FBMHGA3QXPI3NA5CNFSM4JVPJFR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGGK6HQ#issuecomment-562867998, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABU7ZZ5HH4VCDPU5STOA7DLQXPI3NANCNFSM4JVPJFRQ .

-- Diego Pino Navarro Digital Repositories Developer Metropolitan New York Library Council (METRO)

DiegoPino commented 4 years ago

@giancarlobi another note Since now we are using 8.x-3.0-alpha14 (2019-Sep-19) our composer.json does not require the patch we install via the URL (that patch is now part of the version). Just in case you still have it. I will push beta02 proposal this weekend for this. I want to make some of the Metadata Display entities better too and add the new ADO type of Display Mode Config too. We should be in a better place now. Still so much do to!