From 3f3a455e86ffba2f238866ac51b6bd350ec1b7f4 Mon Sep 17 00:00:00 2001 From: bach Date: Wed, 24 Mar 2021 15:31:11 +0100 Subject: [PATCH] started popsu_migrate module --- composer.json | 2 + composer.lock | 681 ++++++++++++++++-- config/sync/core.extension.yml | 1 + config/sync/migrate_drupal.settings.yml | 8 + ...grate_plus.migration.d7_allpublicfiles.yml | 47 ++ .../migrate_plus.migration_group.d7_popsu.yml | 19 + .../migrate_plus.migration_group.default.yml | 10 + ...grate_plus.migration.d7_allpublicfiles.yml | 52 ++ .../migrate_plus.migration_group.d7_popsu.yml | 13 + .../popsu_migrate/popsu_migrate.info.yml | 36 + web/modules/custom/popsu_migrate/readme.md | 37 + .../Plugin/migrate/source/D7PublicFile.php | 119 +++ 12 files changed, 964 insertions(+), 61 deletions(-) create mode 100644 config/sync/migrate_drupal.settings.yml create mode 100644 config/sync/migrate_plus.migration.d7_allpublicfiles.yml create mode 100644 config/sync/migrate_plus.migration_group.d7_popsu.yml create mode 100644 config/sync/migrate_plus.migration_group.default.yml create mode 100644 web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_allpublicfiles.yml create mode 100644 web/modules/custom/popsu_migrate/config/install/migrate_plus.migration_group.d7_popsu.yml create mode 100644 web/modules/custom/popsu_migrate/popsu_migrate.info.yml create mode 100644 web/modules/custom/popsu_migrate/readme.md create mode 100644 web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7PublicFile.php diff --git a/composer.json b/composer.json index 19cd60cf..bc1196f7 100644 --- a/composer.json +++ b/composer.json @@ -19,6 +19,8 @@ "drupal/core-composer-scaffold": "^9.1", "drupal/core-project-message": "^9.1", "drupal/core-recommended": "^9.1", + "drupal/migrate_plus": "^5.1", + "drupal/migrate_tools": "5.x-dev@dev", "drupal/paragraphs": "1.x-dev@dev", "drupal/smart_date": "^3.1", "wikimedia/composer-merge-plugin": "^2.0" diff --git a/composer.lock b/composer.lock index 99a967ec..d235a53d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "285f4626aea304a238c0a3a90485d857", + "content-hash": "226ef1904a61f57f9f260056a5f3b9f1", "packages": [ { "name": "alchemy/zippy", @@ -68,6 +68,10 @@ "tar", "zip" ], + "support": { + "issues": "https://github.com/alchemy-fr/Zippy/issues", + "source": "https://github.com/alchemy-fr/Zippy/tree/master" + }, "time": "2018-02-22T13:58:36+00:00" }, { @@ -120,6 +124,10 @@ "cors", "stack" ], + "support": { + "issues": "https://github.com/asm89/stack-cors/issues", + "source": "https://github.com/asm89/stack-cors/tree/1.3.0" + }, "time": "2019-12-24T22:41:47+00:00" }, { @@ -168,6 +176,10 @@ "GPL-2.0-or-later" ], "description": "Drupal code generator", + "support": { + "issues": "https://github.com/Chi-teck/drupal-code-generator/issues", + "source": "https://github.com/Chi-teck/drupal-code-generator/tree/1.33.1" + }, "time": "2020-12-05T05:59:11+00:00" }, { @@ -227,6 +239,10 @@ "localization", "postal" ], + "support": { + "issues": "https://github.com/commerceguys/addressing/issues", + "source": "https://github.com/commerceguys/addressing/tree/v1.2.0" + }, "time": "2021-03-14T20:04:10+00:00" }, { @@ -366,6 +382,10 @@ "zend", "zikula" ], + "support": { + "issues": "https://github.com/composer/installers/issues", + "source": "https://github.com/composer/installers/tree/v1.10.0" + }, "funding": [ { "url": "https://packagist.com", @@ -442,6 +462,11 @@ "validation", "versioning" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.2.2" + }, "funding": [ { "url": "https://packagist.com", @@ -507,6 +532,10 @@ } ], "description": "Initialize Symfony Console commands from annotated command class methods.", + "support": { + "issues": "https://github.com/consolidation/annotated-command/issues", + "source": "https://github.com/consolidation/annotated-command/tree/4.2.4" + }, "time": "2020-12-10T16:56:39+00:00" }, { @@ -588,6 +617,10 @@ } ], "description": "Provide configuration services for a commandline tool.", + "support": { + "issues": "https://github.com/consolidation/config/issues", + "source": "https://github.com/consolidation/config/tree/master" + }, "time": "2019-03-03T19:37:04+00:00" }, { @@ -655,6 +688,9 @@ } ], "description": "This project uses dflydev/dot-access-data to provide simple output filtering for applications built with annotated-command / Robo.", + "support": { + "source": "https://github.com/consolidation/filter-via-dot-access-data/tree/1.0.0" + }, "time": "2019-01-18T06:05:07+00:00" }, { @@ -703,6 +739,10 @@ } ], "description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.", + "support": { + "issues": "https://github.com/consolidation/log/issues", + "source": "https://github.com/consolidation/log/tree/2.0.2" + }, "time": "2020-12-10T16:26:23+00:00" }, { @@ -758,6 +798,10 @@ } ], "description": "Format text by applying transformations provided by plug-in formatters.", + "support": { + "issues": "https://github.com/consolidation/output-formatters/issues", + "source": "https://github.com/consolidation/output-formatters/tree/4.1.2" + }, "time": "2020-12-12T19:04:59+00:00" }, { @@ -855,6 +899,10 @@ } ], "description": "Modern task runner", + "support": { + "issues": "https://github.com/consolidation/Robo/issues", + "source": "https://github.com/consolidation/Robo/tree/2.2.2" + }, "time": "2020-12-18T22:09:18+00:00" }, { @@ -905,6 +953,10 @@ } ], "description": "Provides a self:update command for Symfony Console applications.", + "support": { + "issues": "https://github.com/consolidation/self-update/issues", + "source": "https://github.com/consolidation/self-update/tree/1.2.0" + }, "time": "2020-04-13T02:49:20+00:00" }, { @@ -959,6 +1011,10 @@ } ], "description": "Manage alias records for local and remote sites.", + "support": { + "issues": "https://github.com/consolidation/site-alias/issues", + "source": "https://github.com/consolidation/site-alias/tree/3.1.0" + }, "time": "2021-02-20T20:03:10+00:00" }, { @@ -1013,6 +1069,10 @@ } ], "description": "A thin wrapper around the Symfony Process Component that allows applications to use the Site Alias library to specify the target for a remote call.", + "support": { + "issues": "https://github.com/consolidation/site-process/issues", + "source": "https://github.com/consolidation/site-process/tree/4.1.0" + }, "time": "2021-02-21T02:53:33+00:00" }, { @@ -1044,6 +1104,10 @@ ], "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", "homepage": "https://github.com/container-interop/container-interop", + "support": { + "issues": "https://github.com/container-interop/container-interop/issues", + "source": "https://github.com/container-interop/container-interop/tree/master" + }, "abandoned": "psr/container", "time": "2017-02-14T19:40:03+00:00" }, @@ -1089,6 +1153,10 @@ } ], "description": "Provides a way to patch Composer packages.", + "support": { + "issues": "https://github.com/cweagans/composer-patches/issues", + "source": "https://github.com/cweagans/composer-patches/tree/1.7.0" + }, "time": "2020-09-30T17:56:20+00:00" }, { @@ -1158,6 +1226,10 @@ "config", "configuration" ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-configuration/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-configuration/tree/master" + }, "time": "2018-09-08T23:00:17+00:00" }, { @@ -1217,6 +1289,10 @@ "dot", "notation" ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/master" + }, "time": "2017-01-20T21:14:22+00:00" }, { @@ -1269,6 +1345,10 @@ "placeholder", "resolver" ], + "support": { + "issues": "https://github.com/dflydev/dflydev-placeholder-resolver/issues", + "source": "https://github.com/dflydev/dflydev-placeholder-resolver/tree/v1.0.2" + }, "time": "2012-10-28T21:08:28+00:00" }, { @@ -1302,6 +1382,10 @@ "MIT" ], "description": "implementation of xdg base directory specification for php", + "support": { + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + }, "time": "2019-12-04T15:06:13+00:00" }, { @@ -1373,6 +1457,10 @@ "docblock", "parser" ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/1.11.1" + }, "time": "2020-10-26T10:28:16+00:00" }, { @@ -1455,6 +1543,10 @@ "redis", "xcache" ], + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/1.10.x" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1534,6 +1626,10 @@ "iterators", "php" ], + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/1.6.7" + }, "time": "2020-07-27T17:53:49+00:00" }, { @@ -1617,6 +1713,10 @@ "doctrine", "php" ], + "support": { + "issues": "https://github.com/doctrine/common/issues", + "source": "https://github.com/doctrine/common/tree/2.13.x" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1707,6 +1807,10 @@ "event system", "events" ], + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/1.1.x" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1799,6 +1903,10 @@ "uppercase", "words" ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/1.4.x" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1875,6 +1983,10 @@ "parser", "php" ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.1" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1973,6 +2085,10 @@ "orm", "persistence" ], + "support": { + "issues": "https://github.com/doctrine/persistence/issues", + "source": "https://github.com/doctrine/persistence/tree/1.3.x" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -2065,6 +2181,10 @@ "reflection", "static" ], + "support": { + "issues": "https://github.com/doctrine/reflection/issues", + "source": "https://github.com/doctrine/reflection/tree/1.2.2" + }, "abandoned": "roave/better-reflection", "time": "2020-10-27T21:46:55+00:00" }, @@ -2794,8 +2914,7 @@ "homepage": "https://www.drupal.org/project/bulkdelete", "support": { "source": "https://git.drupalcode.org/project/bulkdelete" - }, - "time": "2020-05-24T06:01:38+00:00" + } }, { "name": "drupal/config_devel", @@ -2860,8 +2979,7 @@ "homepage": "https://www.drupal.org/project/config_devel", "support": { "source": "https://git.drupalcode.org/project/config_devel" - }, - "time": "2020-12-11T15:36:08+00:00" + } }, { "name": "drupal/config_filter", @@ -3112,6 +3230,12 @@ "drupal", "symfony" ], + "support": { + "docs": "https://docs.drupalconsole.com/", + "forum": "https://gitter.im/hechoendrupal/DrupalConsole", + "issues": "https://github.com/hechoendrupal/drupal-console/issues", + "source": "https://github.com/hechoendrupal/drupal-console/tree/1.9.7" + }, "funding": [ { "url": "https://opencollective.com/drupalconsole", @@ -3200,6 +3324,12 @@ "drupal", "symfony" ], + "support": { + "docs": "http://docs.drupalconsole.com/", + "forum": "https://gitter.im/hechoendrupal/DrupalConsole", + "issues": "https://github.com/hechoendrupal/DrupalConsole/issues", + "source": "https://github.com/hechoendrupal/drupal-console-core/tree/1.9.7" + }, "time": "2020-11-30T01:45:57+00:00" }, { @@ -3254,6 +3384,12 @@ "drupal", "symfony" ], + "support": { + "docs": "https://docs.drupalconsole.com", + "forum": "https://gitter.im/hechoendrupal/DrupalConsole", + "issues": "https://github.com/hechoendrupal/DrupalConsole/issues", + "source": "https://github.com/hechoendrupal/drupal-console-en/tree/master" + }, "time": "2020-08-15T03:34:54+00:00" }, { @@ -3296,6 +3432,10 @@ } ], "description": "Drupal Console Extend Plugin", + "support": { + "issues": "https://github.com/hechoendrupal/drupal-console-extend-plugin/issues", + "source": "https://github.com/hechoendrupal/drupal-console-extend-plugin/tree/0.9.5" + }, "time": "2020-11-18T00:15:28+00:00" }, { @@ -3715,18 +3855,15 @@ "includes/bootstrap.inc" ] }, - "scripts": { - "pre-autoload-dump": [ - "Drupal\\Core\\Composer\\Composer::preAutoloadDump" - ], - "post-autoload-dump": [ - "Drupal\\Core\\Composer\\Composer::ensureHtaccess" - ] - }, + "notification-url": "https://packagist.org/downloads/", "license": [ "GPL-2.0-or-later" ], - "description": "Drupal is an open source content management platform powering millions of websites and applications." + "description": "Drupal is an open source content management platform powering millions of websites and applications.", + "support": { + "source": "https://github.com/drupal/core/tree/9.1.5" + }, + "time": "2021-03-04T14:36:14+00:00" }, { "name": "drupal/core-composer-scaffold", @@ -3764,6 +3901,7 @@ "Drupal\\Composer\\Plugin\\Scaffold\\": "" } }, + "notification-url": "https://packagist.org/downloads/", "license": [ "GPL-2.0-or-later" ], @@ -3771,7 +3909,11 @@ "homepage": "https://www.drupal.org/project/drupal", "keywords": [ "drupal" - ] + ], + "support": { + "source": "https://github.com/drupal/core-composer-scaffold/tree/9.1.5" + }, + "time": "2020-08-07T22:30:13+00:00" }, { "name": "drupal/core-project-message", @@ -3800,6 +3942,7 @@ "Drupal\\Composer\\Plugin\\ProjectMessage\\": "." } }, + "notification-url": "https://packagist.org/downloads/", "license": [ "GPL-2.0-or-later" ], @@ -3807,7 +3950,11 @@ "homepage": "https://www.drupal.org/project/drupal", "keywords": [ "drupal" - ] + ], + "support": { + "source": "https://github.com/drupal/core-project-message/tree/9.1.5" + }, + "time": "2020-09-14T13:40:36+00:00" }, { "name": "drupal/core-recommended", @@ -3884,10 +4031,15 @@ "webflo/drupal-core-strict": "*" }, "type": "metapackage", + "notification-url": "https://packagist.org/downloads/", "license": [ "GPL-2.0-or-later" ], - "description": "Locked core dependencies; require this project INSTEAD OF drupal/core." + "description": "Locked core dependencies; require this project INSTEAD OF drupal/core.", + "support": { + "source": "https://github.com/drupal/core-recommended/tree/9.1.5" + }, + "time": "2021-03-04T14:36:14+00:00" }, { "name": "drupal/cshs", @@ -3950,8 +4102,7 @@ "support": { "source": "https://git.drupalcode.org/project/cshs", "issues": "https://www.drupal.org/project/issues/cshs" - }, - "time": "2021-02-05T14:23:54+00:00" + } }, { "name": "drupal/ctools", @@ -4086,8 +4237,7 @@ "homepage": "https://www.drupal.org/project/date_range_formatter", "support": { "source": "https://git.drupalcode.org/project/date_range_formatter" - }, - "time": "2020-05-20T06:32:37+00:00" + } }, { "name": "drupal/devel", @@ -4202,8 +4352,7 @@ "homepage": "https://www.drupal.org/project/domain", "support": { "source": "https://git.drupalcode.org/project/domain" - }, - "time": "2021-02-25T15:11:26+00:00" + } }, { "name": "drupal/domain_alias", @@ -4336,8 +4485,7 @@ "support": { "source": "http://cgit.drupalcode.org/domain_site_settings", "issues": "https://www.drupal.org/project/issues/domain_site_settings" - }, - "time": "2020-03-15T18:41:41+00:00" + } }, { "name": "drupal/email_registration", @@ -4680,17 +4828,17 @@ }, { "name": "drupal/entity_clone", - "version": "1.0.0-beta4", + "version": "1.0.0-beta5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_clone.git", - "reference": "8.x-1.0-beta4" + "reference": "8.x-1.0-beta5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta4.zip", - "reference": "8.x-1.0-beta4", - "shasum": "4568ca25634d4ce4f142f56156259ba1f0d9f3c1" + "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta5.zip", + "reference": "8.x-1.0-beta5", + "shasum": "5220d23ac01cd13ff7ef48589e9f6438659a8736" }, "require": { "drupal/core": "^8 || ^9" @@ -4698,8 +4846,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.0-beta4", - "datestamp": "1588605099", + "version": "8.x-1.0-beta5", + "datestamp": "1615822112", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -4711,6 +4859,14 @@ "GPL-2.0-or-later" ], "authors": [ + { + "name": "NickDickinsonWilde", + "homepage": "https://www.drupal.org/user/3094661" + }, + { + "name": "colan", + "homepage": "https://www.drupal.org/user/58704" + }, { "name": "vpeltot", "homepage": "https://www.drupal.org/user/1361586" @@ -5010,8 +5166,7 @@ "source": "https://git.drupalcode.org/project/filefield_sources", "issues": "https://www.drupal.org/project/issues/filefield_sources", "irc": "irc://irc.freenode.org/drupal-contribute" - }, - "time": "2021-01-15T18:15:00+00:00" + } }, { "name": "drupal/filter_perms", @@ -5068,8 +5223,7 @@ "homepage": "https://www.drupal.org/project/filter_perms", "support": { "source": "https://git.drupalcode.org/project/filter_perms" - }, - "time": "2020-11-17T18:20:11+00:00" + } }, { "name": "drupal/honeypot", @@ -5546,17 +5700,17 @@ }, { "name": "drupal/jquery_ui_datepicker", - "version": "1.0.0", + "version": "1.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/jquery_ui_datepicker.git", - "reference": "8.x-1.0" + "reference": "8.x-1.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/jquery_ui_datepicker-8.x-1.0.zip", - "reference": "8.x-1.0", - "shasum": "954f12f93e82b6c93e6797fe2e6e66604ad1d2b2" + "url": "https://ftp.drupal.org/files/projects/jquery_ui_datepicker-8.x-1.1.zip", + "reference": "8.x-1.1", + "shasum": "69f62467f846bb514a10fa93f4c3b34c6275353f" }, "require": { "drupal/core": "^8 || ^9", @@ -5565,8 +5719,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.0", - "datestamp": "1589684301", + "version": "8.x-1.1", + "datestamp": "1615962535", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -5578,10 +5732,22 @@ "GPL-2.0-or-later" ], "authors": [ + { + "name": "bnjmnm", + "homepage": "https://www.drupal.org/user/2369194" + }, + { + "name": "ivnish", + "homepage": "https://www.drupal.org/user/3547706" + }, { "name": "jrockowitz", "homepage": "https://www.drupal.org/user/371407" }, + { + "name": "lauriii", + "homepage": "https://www.drupal.org/user/1078742" + }, { "name": "zrpnr", "homepage": "https://www.drupal.org/user/1448368" @@ -5874,8 +6040,7 @@ "homepage": "https://www.drupal.org/project/login_destination", "support": { "source": "https://git.drupalcode.org/project/login_destination" - }, - "time": "2020-10-23T10:55:36+00:00" + } }, { "name": "drupal/maillog", @@ -5928,8 +6093,7 @@ "homepage": "https://www.drupal.org/project/maillog", "support": { "source": "https://git.drupalcode.org/project/maillog" - }, - "time": "2020-09-22T18:37:31+00:00" + } }, { "name": "drupal/mailsystem", @@ -6271,8 +6435,7 @@ "homepage": "https://www.drupal.org/project/menu_block", "support": { "source": "https://git.drupalcode.org/project/menu_block" - }, - "time": "2021-01-31T01:08:45+00:00" + } }, { "name": "drupal/menu_position", @@ -6330,8 +6493,131 @@ "support": { "source": "https://git.drupalcode.org/project/menu_position", "issues": "https://www.drupal.org/project/issues/menu_position" + } + }, + { + "name": "drupal/migrate_plus", + "version": "5.1.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/migrate_plus.git", + "reference": "8.x-5.1" }, - "time": "2020-04-25T06:50:43+00:00" + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/migrate_plus-8.x-5.1.zip", + "reference": "8.x-5.1", + "shasum": "1257427ab0c64459c3c1e42bb2a98d3114b77163" + }, + "require": { + "drupal/core": "^8.8 || ^9", + "php": ">=7.1" + }, + "require-dev": { + "drupal/migrate_example_advanced_setup": "*", + "drupal/migrate_example_setup": "*" + }, + "suggest": { + "ext-soap": "*", + "sainsburys/guzzle-oauth2-plugin": "3.0 required for the OAuth2 authentication plugin" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-5.1", + "datestamp": "1588261060", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Mike Ryan", + "homepage": "https://www.drupal.org/u/mikeryan", + "role": "Maintainer" + }, + { + "name": "Lucas Hedding", + "homepage": "https://www.drupal.org/u/heddn", + "role": "Maintainer" + } + ], + "description": "Enhancements to core migration support.", + "homepage": "https://www.drupal.org/project/migrate_plus", + "support": { + "source": "https://git.drupalcode.org/project/migrate_plus", + "issues": "https://www.drupal.org/project/issues/migrate_plus", + "slack": "#migrate" + } + }, + { + "name": "drupal/migrate_tools", + "version": "dev-5.x", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/migrate_tools.git", + "reference": "7ae3747d1e30790d11c2eefcc56e0796bea25c76" + }, + "require": { + "drupal/core": "^8.8 | ^9", + "drupal/migrate_plus": "^5", + "php": ">=7.1" + }, + "require-dev": { + "drupal/migrate_source_csv": "^3.0", + "drush/drush": "^10" + }, + "suggest": { + "drush/drush": "^9 || ^10" + }, + "type": "drupal-module", + "extra": { + "branch-alias": { + "dev-5.x": "5.x-dev" + }, + "drupal": { + "version": "8.x-5.0+11-dev", + "datestamp": "1609524878", + "security-coverage": { + "status": "not-covered", + "message": "Dev releases are not covered by Drupal security advisories." + } + }, + "drush": { + "services": { + "drush.services.yml": "^9 || ^10" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Mike Ryan", + "homepage": "https://www.drupal.org/u/mikeryan", + "role": "Maintainer" + }, + { + "name": "Lucas Hedding", + "homepage": "https://www.drupal.org/u/heddn", + "role": "Maintainer" + } + ], + "description": "Tools to assist in developing and running migrations.", + "homepage": "http://drupal.org/project/migrate_tools", + "support": { + "source": "https://git.drupalcode.org/project/migrate_tools", + "issues": "https://www.drupal.org/project/issues/migrate_tools", + "slack": "#migrate" + } }, { "name": "drupal/pagerer", @@ -6505,8 +6791,7 @@ "homepage": "https://www.drupal.org/project/path_alias_xt", "support": { "source": "https://git.drupalcode.org/project/path_alias_xt" - }, - "time": "2020-05-24T05:57:09+00:00" + } }, { "name": "drupal/pathauto", @@ -7264,8 +7549,7 @@ "homepage": "https://www.drupal.org/project/synonyms", "support": { "source": "https://git.drupalcode.org/project/synonyms" - }, - "time": "2021-01-17T02:58:49+00:00" + } }, { "name": "drupal/token", @@ -7614,17 +7898,17 @@ }, { "name": "drupal/views_bulk_operations", - "version": "3.10.0", + "version": "3.12.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/views_bulk_operations.git", - "reference": "8.x-3.10" + "reference": "8.x-3.12" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/views_bulk_operations-8.x-3.10.zip", - "reference": "8.x-3.10", - "shasum": "e346c2a72fc9a1ae8af418e6a02076f52c0fcc7b" + "url": "https://ftp.drupal.org/files/projects/views_bulk_operations-8.x-3.12.zip", + "reference": "8.x-3.12", + "shasum": "88a545c54680362162bfbfdb0639ce923a1a60a9" }, "require": { "drupal/core": "^8.8 || ^9" @@ -7638,8 +7922,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.10", - "datestamp": "1608795018", + "version": "8.x-3.12", + "datestamp": "1616148482", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -7883,6 +8167,13 @@ ], "description": "Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.", "homepage": "http://www.drush.org", + "support": { + "forum": "http://drupal.stackexchange.com/questions/tagged/drush", + "irc": "irc://irc.freenode.org/drush", + "issues": "https://github.com/drush-ops/drush/issues", + "slack": "https://drupal.slack.com/messages/C62H9CWQM", + "source": "https://github.com/drush-ops/drush/tree/10.4.0" + }, "funding": [ { "url": "https://github.com/weitzman", @@ -7947,6 +8238,10 @@ "validation", "validator" ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/2.1.22" + }, "time": "2020-09-26T15:48:38+00:00" }, { @@ -8008,6 +8303,10 @@ "security advisories", "vulnerability scanner" ], + "support": { + "issues": "https://github.com/enlightn/security-checker/issues", + "source": "https://github.com/enlightn/security-checker/tree/v1.7.0" + }, "time": "2021-03-03T11:56:26+00:00" }, { @@ -8063,6 +8362,10 @@ "mime-parser", "mime-type" ], + "support": { + "issues": "https://github.com/FileEye/MimeMap/issues", + "source": "https://github.com/FileEye/MimeMap/tree/master" + }, "time": "2020-05-16T10:19:16+00:00" }, { @@ -8110,6 +8413,10 @@ } ], "description": "Expands internal property references in PHP arrays file.", + "support": { + "issues": "https://github.com/grasmash/expander/issues", + "source": "https://github.com/grasmash/expander/tree/master" + }, "time": "2017-12-21T22:14:55+00:00" }, { @@ -8158,6 +8465,10 @@ } ], "description": "Expands internal property references in a yaml file.", + "support": { + "issues": "https://github.com/grasmash/yaml-expander/issues", + "source": "https://github.com/grasmash/yaml-expander/tree/master" + }, "time": "2017-12-16T16:06:03+00:00" }, { @@ -8225,6 +8536,10 @@ "rest", "web service" ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/6.5" + }, "time": "2020-06-16T21:01:06+00:00" }, { @@ -8276,6 +8591,10 @@ "keywords": [ "promise" ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.4.0" + }, "time": "2020-09-30T07:37:28+00:00" }, { @@ -8347,6 +8666,10 @@ "uri", "url" ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.7.0" + }, "time": "2020-09-30T07:37:11+00:00" }, { @@ -8433,6 +8756,14 @@ "psr-17", "psr-7" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-diactoros/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-diactoros/issues", + "rss": "https://github.com/laminas/laminas-diactoros/releases.atom", + "source": "https://github.com/laminas/laminas-diactoros" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -8488,6 +8819,14 @@ "escaper", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-escaper/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-escaper/issues", + "rss": "https://github.com/laminas/laminas-escaper/releases.atom", + "source": "https://github.com/laminas/laminas-escaper" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -8560,6 +8899,14 @@ "feed", "laminas" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-feed/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-feed/issues", + "rss": "https://github.com/laminas/laminas-feed/releases.atom", + "source": "https://github.com/laminas/laminas-feed" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -8616,6 +8963,14 @@ "laminas", "stdlib" ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-stdlib/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-stdlib/issues", + "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", + "source": "https://github.com/laminas/laminas-stdlib" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -8670,6 +9025,12 @@ "laminas", "zf" ], + "support": { + "forum": "https://discourse.laminas.dev/", + "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", + "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", + "source": "https://github.com/laminas/laminas-zendframework-bridge" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", @@ -8743,6 +9104,10 @@ "provider", "service" ], + "support": { + "issues": "https://github.com/thephpleague/container/issues", + "source": "https://github.com/thephpleague/container/tree/2.5.0" + }, "funding": [ { "url": "https://github.com/philipobenito", @@ -8805,6 +9170,10 @@ "exif", "image" ], + "support": { + "issues": "https://github.com/pel/pel/issues", + "source": "https://github.com/pel/pel/tree/0.9.10" + }, "time": "2021-01-01T22:15:50+00:00" }, { @@ -8870,6 +9239,10 @@ "serializer", "xml" ], + "support": { + "issues": "https://github.com/Masterminds/html5-php/issues", + "source": "https://github.com/Masterminds/html5-php/tree/2.7.4" + }, "time": "2020-10-01T13:52:52+00:00" }, { @@ -8922,6 +9295,10 @@ "parser", "php" ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" + }, "time": "2020-12-20T10:01:03+00:00" }, { @@ -8988,6 +9365,10 @@ "archive", "tar" ], + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Archive_Tar", + "source": "https://github.com/pear/Archive_Tar" + }, "funding": [ { "url": "https://github.com/mrook", @@ -9045,6 +9426,10 @@ } ], "description": "More info available on: http://pear.php.net/package/Console_Getopt", + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Console_Getopt", + "source": "https://github.com/pear/Console_Getopt" + }, "time": "2019-11-20T18:27:48+00:00" }, { @@ -9089,6 +9474,10 @@ } ], "description": "Minimal set of PEAR core files to be used as composer dependency", + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR", + "source": "https://github.com/pear/pear-core-minimal" + }, "time": "2019-11-19T19:00:24+00:00" }, { @@ -9144,6 +9533,10 @@ "keywords": [ "exception" ], + "support": { + "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception", + "source": "https://github.com/pear/PEAR_Exception" + }, "time": "2019-12-10T10:24:42+00:00" }, { @@ -9181,6 +9574,10 @@ ], "description": "A library to read, parse, export and make subsets of different types of font files.", "homepage": "https://github.com/PhenX/php-font-lib", + "support": { + "issues": "https://github.com/PhenX/php-font-lib/issues", + "source": "https://github.com/PhenX/php-font-lib/tree/0.5.2" + }, "time": "2020-03-08T15:31:32+00:00" }, { @@ -9247,6 +9644,10 @@ } ], "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "support": { + "issues": "https://github.com/PHPMailer/PHPMailer/issues", + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.3.0" + }, "funding": [ { "url": "https://github.com/Synchro", @@ -9302,6 +9703,10 @@ "container-interop", "psr" ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/master" + }, "time": "2017-02-14T16:28:37+00:00" }, { @@ -9354,6 +9759,9 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, "time": "2019-04-30T12:38:16+00:00" }, { @@ -9404,6 +9812,9 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, "time": "2016-08-06T14:39:51+00:00" }, { @@ -9451,6 +9862,9 @@ "psr", "psr-3" ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.3" + }, "time": "2020-03-23T09:12:05+00:00" }, { @@ -9523,6 +9937,10 @@ "interactive", "shell" ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.10.7" + }, "time": "2021-03-14T02:14:56+00:00" }, { @@ -9563,6 +9981,10 @@ } ], "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, "time": "2019-03-08T08:55:37+00:00" }, { @@ -9671,6 +10093,10 @@ "keywords": [ "stack" ], + "support": { + "issues": "https://github.com/stackphp/builder/issues", + "source": "https://github.com/stackphp/builder/tree/v1.0.6" + }, "time": "2020-01-30T12:17:27+00:00" }, { @@ -9716,6 +10142,10 @@ } ], "description": "Automatic BASH completion for Symfony Console Component based applications.", + "support": { + "issues": "https://github.com/stecman/symfony-console-completion/issues", + "source": "https://github.com/stecman/symfony-console-completion/tree/0.11.0" + }, "time": "2019-11-24T17:03:06+00:00" }, { @@ -9775,6 +10205,10 @@ "database", "routing" ], + "support": { + "issues": "https://github.com/symfony-cmf/Routing/issues", + "source": "https://github.com/symfony-cmf/Routing/tree/2.3.3" + }, "time": "2020-10-06T10:15:37+00:00" }, { @@ -9834,6 +10268,9 @@ ], "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/config/tree/v4.4.20" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -9920,6 +10357,9 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/console/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -9982,6 +10422,9 @@ ], "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v4.4.20" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10048,6 +10491,9 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10130,6 +10576,9 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dependency-injection/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10200,6 +10649,9 @@ ], "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dom-crawler/tree/v4.4.20" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10266,6 +10718,9 @@ ], "description": "Symfony ErrorHandler Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10346,6 +10801,9 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10422,6 +10880,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.9" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10481,6 +10942,9 @@ ], "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v4.4.20" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10539,6 +11003,9 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v4.4.20" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10615,6 +11082,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10679,6 +11149,9 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10780,6 +11253,9 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10852,6 +11328,9 @@ "mime", "mime-type" ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.1.8" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -10928,6 +11407,9 @@ "polyfill", "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.20.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11005,6 +11487,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.20.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11089,6 +11574,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.20.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11170,6 +11658,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.20.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11247,6 +11738,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.20.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11320,6 +11814,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11396,6 +11893,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11476,6 +11976,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.20.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11534,6 +12037,9 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11612,6 +12118,10 @@ "psr-17", "psr-7" ], + "support": { + "issues": "https://github.com/symfony/psr-http-message-bridge/issues", + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.0.2" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11697,6 +12207,9 @@ "uri", "url" ], + "support": { + "source": "https://github.com/symfony/routing/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11788,6 +12301,9 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/serializer/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11864,6 +12380,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -11949,6 +12468,9 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -12024,6 +12546,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.3.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -12126,6 +12651,9 @@ ], "description": "Symfony Validator Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/validator/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -12211,6 +12739,9 @@ "debug", "dump" ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.1.8" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -12279,6 +12810,9 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v4.4.16" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -12358,6 +12892,10 @@ "keywords": [ "templating" ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v2.14.1" + }, "funding": [ { "url": "https://github.com/fabpot", @@ -12419,6 +12957,10 @@ "security", "stream-wrapper" ], + "support": { + "issues": "https://github.com/TYPO3/phar-stream-wrapper/issues", + "source": "https://github.com/TYPO3/phar-stream-wrapper/tree/v3.1.6" + }, "time": "2020-11-07T09:06:16+00:00" }, { @@ -12459,6 +13001,10 @@ } ], "description": "Helper class to locate a Drupal installation from a given path.", + "support": { + "issues": "https://github.com/webflo/drupal-finder/issues", + "source": "https://github.com/webflo/drupal-finder/tree/1.2.2" + }, "time": "2020-10-27T09:42:17+00:00" }, { @@ -12513,6 +13059,10 @@ "check", "validate" ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" + }, "time": "2021-03-09T10:59:23+00:00" }, { @@ -12559,6 +13109,10 @@ } ], "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", + "support": { + "issues": "https://github.com/webmozart/path-util/issues", + "source": "https://github.com/webmozart/path-util/tree/2.3.0" + }, "time": "2015-12-17T08:42:14+00:00" }, { @@ -12608,6 +13162,10 @@ } ], "description": "Composer plugin to merge multiple composer.json files", + "support": { + "issues": "https://github.com/wikimedia/composer-merge-plugin/issues", + "source": "https://github.com/wikimedia/composer-merge-plugin/tree/v2.0.1" + }, "time": "2021-02-24T05:28:06+00:00" } ], @@ -12615,6 +13173,7 @@ "aliases": [], "minimum-stability": "stable", "stability-flags": { + "drupal/migrate_tools": 20, "drupal/paragraphs": 20, "drupal/autocomplete_deluxe": 5, "drupal/better_exposed_filters": 10, diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 7a480426..7c8b44ff 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -84,6 +84,7 @@ module: path_alias_xt: 0 pathologic: 0 persistent_login: 0 + popsu_migrate: 0 redirect: 0 redis: 0 responsive_image: 0 diff --git a/config/sync/migrate_drupal.settings.yml b/config/sync/migrate_drupal.settings.yml new file mode 100644 index 00000000..5caaafb5 --- /dev/null +++ b/config/sync/migrate_drupal.settings.yml @@ -0,0 +1,8 @@ +enforce_source_module_tags: + - 'Drupal 6' + - 'Drupal 7' +follow_up_migration_tags: + - 'Follow-up migration' +_core: + default_config_hash: 1daEO2inZc1i3d0Sn-ADIq9mUIU7tSLCxn579NT6f2g +langcode: fr diff --git a/config/sync/migrate_plus.migration.d7_allpublicfiles.yml b/config/sync/migrate_plus.migration.d7_allpublicfiles.yml new file mode 100644 index 00000000..a5f7d503 --- /dev/null +++ b/config/sync/migrate_plus.migration.d7_allpublicfiles.yml @@ -0,0 +1,47 @@ +uuid: 101cfd3b-9212-4433-9848-30b4222281ee +langcode: fr +status: true +dependencies: { } +_core: + default_config_hash: XagShwkgw7JHJgs5_hzHHgOo5FszkzhugcQ7yf4F29U +id: d7_allpublicfiles +class: null +field_plugin_method: null +cck_plugin_method: null +migration_tags: + - 'Drupal 7' + - Content + - Popsu + - Files +migration_group: d7_popsu +label: 'Public files' +source: + plugin: d7_pubic_file + batch_size: 5000 + scheme: public + constants: + source_base_path: ../../../d7 +process: + filename: filename + source_full_path: + - + plugin: concat + delimiter: / + source: + - constants/source_base_path + - filepath + - + plugin: urlencode + uri: + plugin: file_copy + source: + - '@source_full_path' + - uri + filemime: filemime + status: status + created: timestamp + changed: timestamp + uid: uid +destination: + plugin: 'entity:file' +migration_dependencies: null diff --git a/config/sync/migrate_plus.migration_group.d7_popsu.yml b/config/sync/migrate_plus.migration_group.d7_popsu.yml new file mode 100644 index 00000000..178841c2 --- /dev/null +++ b/config/sync/migrate_plus.migration_group.d7_popsu.yml @@ -0,0 +1,19 @@ +uuid: 0f8e929c-ac82-44c2-a18d-705fbeadd9dc +langcode: fr +status: true +dependencies: + enforced: + module: + - migrate_plus + - migrate_tools + - popsu_migrate +_core: + default_config_hash: QSerr7Rm3POhidZhxFUan7sJGKOXGQk5MWa9EdLaJEc +id: d7_popsu +label: 'D7 Popsu' +description: 'Drupal 7 popsu content migration to Drupal 9.' +source_type: 'Drupal 7' +module: null +shared_configuration: + source: + key: d7 diff --git a/config/sync/migrate_plus.migration_group.default.yml b/config/sync/migrate_plus.migration_group.default.yml new file mode 100644 index 00000000..2497f23d --- /dev/null +++ b/config/sync/migrate_plus.migration_group.default.yml @@ -0,0 +1,10 @@ +uuid: 713c224d-0d68-4308-a3c8-8c2dad1ddd68 +langcode: fr +status: true +dependencies: { } +id: default +label: Default +description: 'A container for any migrations not explicitly assigned to a group.' +source_type: null +module: null +shared_configuration: null diff --git a/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_allpublicfiles.yml b/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_allpublicfiles.yml new file mode 100644 index 00000000..95d380e9 --- /dev/null +++ b/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration.d7_allpublicfiles.yml @@ -0,0 +1,52 @@ +# Every migration that references a file by Drupal 7 fid should specify this +# migration as an optional dependency. +id: d7_allpublicfiles +label: Public files +migration_group: d7_popsu +audit: true +migration_tags: + - Drupal 7 + - Content + - Popsu + - Files + +source: + plugin: d7_pubic_file + batch_size: 5000 + scheme: public + constants: + # The tool configuring this migration must set source_base_path. It + # represents the fully qualified path relative to which URIs in the files + # table are specified, and must end with a /. See source_full_path + # configuration in this migration's process pipeline as an example. + source_base_path: '../../../d7' +process: + # If you are using this file to build a custom migration consider removing + # the fid field to allow incremental migrations. + # fid: fid + filename: filename + source_full_path: + - + plugin: concat + delimiter: / + source: + - constants/source_base_path + - filepath + - + plugin: urlencode + uri: + plugin: file_copy + source: + - '@source_full_path' + - uri + filemime: filemime + # No need to migrate filesize, it is computed when file entities are saved. + # filesize: filesize + status: status + # Drupal 7 didn't keep track of the file's creation or update time -- all it + # had was the vague "timestamp" column. So we'll use it for both. + created: timestamp + changed: timestamp + uid: uid +destination: + plugin: entity:file diff --git a/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration_group.d7_popsu.yml b/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration_group.d7_popsu.yml new file mode 100644 index 00000000..408a1e7c --- /dev/null +++ b/web/modules/custom/popsu_migrate/config/install/migrate_plus.migration_group.d7_popsu.yml @@ -0,0 +1,13 @@ +id: d7_popsu +label: D7 Popsu +description: Drupal 7 popsu content migration to Drupal 9. +source_type: Drupal 7 +shared_configuration: + source: + key: d7 +dependencies: + enforced: + module: + - migrate_plus + - migrate_tools + - popsu_migrate diff --git a/web/modules/custom/popsu_migrate/popsu_migrate.info.yml b/web/modules/custom/popsu_migrate/popsu_migrate.info.yml new file mode 100644 index 00000000..bbd9d309 --- /dev/null +++ b/web/modules/custom/popsu_migrate/popsu_migrate.info.yml @@ -0,0 +1,36 @@ +name: Popsu Migration +type: module +description: Defines custom migration for popsu (from d7 to d9). +core_version_requirement: ^8.8 || ^9 +package: Popsu +dependencies: + - drupal:migrate + - drupal:migrate_drupal + - migrate_plus:migrate_plus + - migrate_tools:migrate_tools + # - config_devel + # - drupal:migrate_drupal_multilingual + # - drupal:field_group_migrate + +# https://www.liip.ch/en/blog/using-the-new-drupal-8-migration-api-module +config_devel: + install: + - migrate_plus.migration_group.d7_popsu + - migrate_plus.migration.d7_allpublicfiles + # - migrate_plus.migration.d7_users + # - migrate_plus.migration.d7_taxonomy_term_company + # - migrate_plus.migration.d7_uc_roles_license + # - migrate_plus.migration.d7_simplenews_subscribers + # - migrate_plus.migration.d7_node_article + # - migrate_plus.migration.d7_simplenews_nodes + # - migrate_plus.migration.d7_node_materiau + # - migrate_plus.migration.d7_node_materiau_i18n + # - migrate_plus.migration.d7_node_article_i18n + # - migrate_plus.migration.d7_user_profile + # - migrate_plus.migration.d7_taxonomy_term_showroom + # - migrate_plus.migration.d7_taxonomy_term_tags_i18n + # - migrate_plus.migration.d7_taxonomy_term_tags + # - migrate_plus.migration.d7_taxonomy_term_thesaurus_i18n + # - migrate_plus.migration.d7_taxonomy_term_thesaurus + # - migrate_plus.migration.d7_flaglists + # - migrate_plus.migration.d7_flaglistitems diff --git a/web/modules/custom/popsu_migrate/readme.md b/web/modules/custom/popsu_migrate/readme.md new file mode 100644 index 00000000..2c8644fd --- /dev/null +++ b/web/modules/custom/popsu_migrate/readme.md @@ -0,0 +1,37 @@ +[debugging-migrations](https://www.drupal.org/docs/8/api/migrate-api/debugging-migrations) + +https://www.drupaleasy.com/blogs/ultimike/2016/04/drupal-6-drupal-81x-custom-content-migration + +https://thinkshout.com/blog/2017/05/skipping-a-version-migrating-from-drupal-6-to-drupal-8-with-drupal-migrate/ + +https://www.drupal.org/docs/8/upgrade/known-issues-when-upgrading-from-drupal-6-or-7-to-drupal-8 + +https://drupal.stackexchange.com/questions/164612/how-do-i-remove-a-configuration-object-from-the-active-configuration + +https://www.metaltoad.com/blog/drupal-8-migrations-part-3-migrating-taxonomies-drupal-7 + +https://www.sitepoint.com/your-first-drupal-8-migration/ + +https://evolvingweb.ca/blog/drupal-8-migration-migrating-taxonomy-term-references-part-2 + +[text to taxonomy term](http://boylesoftware.com/blog/drupal-8-migration-taxonomy-term-lookups/) + +[Upgrading Drupal 6 and i18n Content Translation to Drupal 8](https://www.dunix-data.de/blog/upgrading_drupal_6_and_i18n_content_translation_to_drupal_8) + +[Migrating Drupal 7 File Entities to Drupal 8 Media Entities](https://www.previousnext.com.au/blog/migrating-drupal-7-file-entities-drupal-8-media-entities) + +[D6 Taxonomy Term Reference Field is not migrated to D8 Field](https://www.drupal.org/node/2884240) + +[Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8](https://www.drupalfacile.org/sites/drupalfacile/files/blog/2016/06/dcnantes2016-migrerd6d7versd8.pdf) + +[Migrating Aliases and Redirects to Drupal 8](https://evolvingweb.ca/blog/migrating-aliases-and-redirects-drupal-8) + +[Migrating Drupal 7 redirects to Drupal 8](http://activelamp.com/blog/drupal/migrating-drupal-8-redirects/) + +[How to refresh new migrations in Drupal 8 migration module?](https://drupal.stackexchange.com/questions/191435/how-to-refresh-new-migrations-in-drupal-8-migration-module) + +[Drupal 8 Migrations: Taxonomy and Nodes](https://www.phase2technology.com/blog/drupal-8-migrations) + +[Migrating Content Translated with "Content Translation" from Drupal 7 to Drupal 8](https://evolvingweb.ca/blog/migrating-content-translated-content-translation-drupal-7-drupal-8) + +[Drupal 8 Migration Survival Strategies](http://pnijjar.freeshell.org/2017/drupal8-migrate/) diff --git a/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7PublicFile.php b/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7PublicFile.php new file mode 100644 index 00000000..cb945e9d --- /dev/null +++ b/web/modules/custom/popsu_migrate/src/Plugin/migrate/source/D7PublicFile.php @@ -0,0 +1,119 @@ +select('file_managed', 'f') + ->fields('f') + ->condition('uri', 'temporary://%', 'NOT LIKE') + ->orderBy('f.timestamp'); + + // Filter by scheme(s), if configured. + if (isset($this->configuration['scheme'])) { + $schemes = []; + // Remove 'temporary' scheme. + $valid_schemes = array_diff((array) $this->configuration['scheme'], ['temporary']); + // Accept either a single scheme, or a list. + foreach ((array) $valid_schemes as $scheme) { + $schemes[] = rtrim($scheme) . '://'; + } + $schemes = array_map([$this->getDatabase(), 'escapeLike'], $schemes); + + // Add conditions, uri LIKE 'public://%' OR uri LIKE 'private://%'. + $conditions = new Condition('OR'); + foreach ($schemes as $scheme) { + $conditions->condition('uri', $scheme . '%', 'LIKE'); + } + $query->condition($conditions); + } + + return $query; + } + + /** + * {@inheritdoc} + */ + protected function initializeIterator() { + $this->publicPath = $this->variableGet('file_public_path', 'sites/default/files'); + $this->privatePath = $this->variableGet('file_private_path', NULL); + $this->temporaryPath = $this->variableGet('file_temporary_path', '/tmp'); + return parent::initializeIterator(); + } + + /** + * {@inheritdoc} + */ + public function prepareRow(Row $row) { + // Compute the filepath property, which is a physical representation of + // the URI relative to the Drupal root. + $path = str_replace(['public:/', 'private:/', 'temporary:/'], [$this->publicPath, $this->privatePath, $this->temporaryPath], $row->getSourceProperty('uri')); + // At this point, $path could be an absolute path or a relative path, + // depending on how the scheme's variable was set. So we need to shear out + // the source_base_path in order to make them all relative. + $path = str_replace($this->configuration['constants']['source_base_path'], NULL, $path); + $row->setSourceProperty('filepath', $path); + return parent::prepareRow($row); + } + + /** + * {@inheritdoc} + */ + public function fields() { + return [ + 'fid' => $this->t('File ID'), + 'uid' => $this->t('The {users}.uid who added the file. If set to 0, this file was added by an anonymous user.'), + 'filename' => $this->t('File name'), + 'filepath' => $this->t('File path'), + 'filemime' => $this->t('File MIME Type'), + 'status' => $this->t('The published status of a file.'), + 'timestamp' => $this->t('The time that the file was added.'), + ]; + } + + /** + * {@inheritdoc} + */ + public function getIds() { + $ids['fid']['type'] = 'integer'; + return $ids; + } + +}