Drupal issueshttps://lab.civicrm.org/dev/drupal/-/issues2024-03-14T22:46:59Zhttps://lab.civicrm.org/dev/drupal/-/issues/195CiviCRM Smarty3 errors...2024-03-14T22:46:59ZChiplehCiviCRM Smarty3 errors...When updating to ESR 5.69.x, we are running into errors with Smarty3 when updating the smarty path in civicrm.settings.php:
define('CIVICRM_SMARTY3_AUTOLOAD_PATH',
'/var/www/example.com/sites/all/modules/civicrm/packages/smarty3/ve...When updating to ESR 5.69.x, we are running into errors with Smarty3 when updating the smarty path in civicrm.settings.php:
define('CIVICRM_SMARTY3_AUTOLOAD_PATH',
'/var/www/example.com/sites/all/modules/civicrm/packages/smarty3/vendor/autoload.php');
$Fatal Error Details = array:3 [
"message" => "undefined extension class 'Smarty_Internal_Runtime_Get_Plugin_Filepath'"
"code" => null
"exception" => SmartyException {#8284
#message: "undefined extension class 'Smarty_Internal_Runtime_Get_Plugin_Filepath'"
...
We are still trying to diagnose why this is happening, but we have upgraded some clients with no issues, and other clients with varying degrees of issues. Has anyone else encountered this issue when upgrading to 5.69.x?
System:
Drupal 7.99
CiviCRM 5.69.5
PHP 8.1https://lab.civicrm.org/dev/drupal/-/issues/193drush: use \Civi\Setup instead of custom installer2024-02-14T09:52:26Zbgmdrush: use \Civi\Setup instead of custom installerInitial discussion: https://github.com/civicrm/civicrm-core/pull/29242#issuecomment-1926066031
The old installer would rely on having the l10n files installed with both the 'mysql' files and the 'mo' files. The newer `\Civi\Setup`, whic...Initial discussion: https://github.com/civicrm/civicrm-core/pull/29242#issuecomment-1926066031
The old installer would rely on having the l10n files installed with both the 'mysql' files and the 'mo' files. The newer `\Civi\Setup`, which is used by the Drupal 7/10 UI and by WordPress and Joomla, runs the mysql files through `ts` at run-time, so it's not necessary to generate those files anymore.
The last bastion is in the drush 8 functions, which presumably no-one uses anymore except Aegir users.
(I have pending PRs and will link them here)https://lab.civicrm.org/dev/drupal/-/issues/190Links in Drupal Views are improperly URL-encoded2023-10-05T12:00:17ZresgaLinks in Drupal Views are improperly URL-encodedOriginal and open issue: [CRM-21716 Links in Drupal Views are improperly URL-encoded](https://issues.civicrm.org/jira/browse/CRM-21716).
As I read https://lab.civicrm.org/infra/ops/-/wikis/gitlab-roadmap#what-about-the-2000-open-issues-...Original and open issue: [CRM-21716 Links in Drupal Views are improperly URL-encoded](https://issues.civicrm.org/jira/browse/CRM-21716).
As I read https://lab.civicrm.org/infra/ops/-/wikis/gitlab-roadmap#what-about-the-2000-open-issues-in-jira-that-are-not-confirmed not all issues were migrated, and it looks like this one wasn't.
The updated code in the issue above works well, and URLs are properly formatted.https://lab.civicrm.org/dev/drupal/-/issues/189Epic: Drupal 10 finalization2023-10-30T18:30:20ZtottenEpic: Drupal 10 finalizationThis is a follow-up to #176. Where #176 did the main work of achieving compatibility, this issue is for the final wrap-up to handle Drupal 10 as a publicly visible option.
* [x] Add build types for test/demo infra
* [x] Add public sandb...This is a follow-up to #176. Where #176 did the main work of achieving compatibility, this issue is for the final wrap-up to handle Drupal 10 as a publicly visible option.
* [x] Add build types for test/demo infra
* [x] Add public sandbox on https://civicrm.org/demo (https://d10-master.demo.civicrm.org/)
* [ ] Add to test matrices
* [x] CiviCRM-E2E-Matrix (master)
* [ ] CiviCRM-E2E-Matrix (stable/rc)
* [ ] Fix distinctive test failures on D10
* [x] Concurrent mail tests (https://github.com/civicrm/civicrm-core/pull/27072)
* [ ] Authx tests (*these may be non-blockers since D9 has similar issues -- but we should look again*)
* [ ] Add to `Installation Guide` ([Requirements](https://docs.civicrm.org/installation/en/latest/general/requirements/), [Install on Drupal](https://docs.civicrm.org/installation/en/latest/drupal/))
* [x] Add to https://civicrm.org/downloadhttps://lab.civicrm.org/dev/drupal/-/issues/188drupal 9: Event registration with drupal user creation crashes if using first...2023-06-28T07:09:49ZDaveDdrupal 9: Event registration with drupal user creation crashes if using first+last+email dedupe ruleThis is pulled out from https://lab.civicrm.org/dev/drupal/-/issues/186 since it's not recent and while touching a similar code area it's not exactly the same.
Part of the problem here is it only sends on the email to createUser, but as...This is pulled out from https://lab.civicrm.org/dev/drupal/-/issues/186 since it's not recent and while touching a similar code area it's not exactly the same.
Part of the problem here is it only sends on the email to createUser, but as in the other ticket it already has the contact id so it shouldn't need to do dedupe rules, it's just how to get that contact id to get passed on to synchronizeUFMatch: https://github.com/civicrm/civicrm-core/blob/c0a3d0e01a7d8df34786a1510d8a4661dffee82b/CRM/Event/Form/Registration.php#L807. Using $_POST is not great, but it needs to be something that gets passed on from the _drupal_ insert hook. And it would be nice to re-use whatever mechanism for the contact user add task too.https://lab.civicrm.org/dev/drupal/-/issues/187Installing drupal/fontawesome causes CiviCRM to freeze the browser.2023-05-24T06:53:44Zdarren.woodsInstalling drupal/fontawesome causes CiviCRM to freeze the browser.Install vanilla Drupal 9 via composer.
Installed CiviCRM via composer according to docs.
Installed the Fontawesome module: composer require 'drupal/fontawesome:^2.25'
Loading any CiviCRM paths /civicrm/admin causes the browser to enter...Install vanilla Drupal 9 via composer.
Installed CiviCRM via composer according to docs.
Installed the Fontawesome module: composer require 'drupal/fontawesome:^2.25'
Loading any CiviCRM paths /civicrm/admin causes the browser to enter an infinite loop once the DOM is loaded.
Tracked it down to all.js from Fontawesome.
Removing Fontawesome module resolves it: composer remove 'drupal/fontawesome'
Could this be related to the civicrm asset plugin?
Before the browser freezes, I can see there are two icons for each admin menu option.
We would dearly love to use fa icons in our Drupal theme :pray:https://lab.civicrm.org/dev/drupal/-/issues/185CiviCRM public theme always the same as the CiviCRM Administrator theme2023-01-30T10:28:23ZspalmstromCiviCRM public theme always the same as the CiviCRM Administrator themeWhen running CiviCRM 5.57.1 under Drupal 9.5.2 under IIS it seems that the public theme setting is ignored; CiviCRM just uses the theme set for CiviCRM administration. To replicate got to Manage -> Appearance and select the various theme...When running CiviCRM 5.57.1 under Drupal 9.5.2 under IIS it seems that the public theme setting is ignored; CiviCRM just uses the theme set for CiviCRM administration. To replicate got to Manage -> Appearance and select the various themes. It doesn't appear to be browser related, I see the same with Edge, Chrome, Opera and Firefox. I don't know if it is IIS specific, but, of course, being theme related can't be replicated in the Demo environment.https://lab.civicrm.org/dev/drupal/-/issues/182Drupal 7 modules not ported to Drupal 9 yet2022-09-09T10:08:56Zluke.stewartDrupal 7 modules not ported to Drupal 9 yetCurrently there are a number of Drupal 7 modules that have not been ported to Drupal 9 as a - comes bundled with CiviCRM - code located within the CiviCRM codebase on install.
This can be seen by comparing
https://github.com/civicrm/civ...Currently there are a number of Drupal 7 modules that have not been ported to Drupal 9 as a - comes bundled with CiviCRM - code located within the CiviCRM codebase on install.
This can be seen by comparing
https://github.com/civicrm/civicrm-drupal/tree/7.x-master/modules
and
https://github.com/civicrm/civicrm-drupal-8/tree/master/modules/
Now a number of these modules it doesn't make sense to run in D9:
Views, CiviCRM OG Sync CiviCRM Engage and possibly others?
Some have a D9 module:
CiviCRM Group Roles has been set up as a stand alone project
https://www.drupal.org/project/civicrm_group_roles
CiviCRM Theme has been set up as part of the civicrm-drupal-8 codebase
CiviCRM Member Roles has been proposed as a PR to the drupal-8 repo but this has been stalled for a while now.
https://github.com/civicrm/civicrm-drupal-8/pull/66
I feel like options for modules here are now:
- A) 🍎 Set up as a stand alone project leave it to Site Builders/Maintainers as to whether to install or not.
- B) 🍌 Set up as a stand alone project but require as a dependency via composer so code gets installed when installing CiviCRM
Do we have criteria for deciding which option in general?
Do we have criteria for deciding which option should be applied in the case of CiviCRM Member Roles?
- C) 🥕 Include within the CiviCRM Drupal codebase via the civicrm/civicrm-drupal-8 project
Do we need a general criteria before deciding approach for CiviCRM Member Roles?
I think probably we would not want to use B unless we wanted something in a separate module that was required for the vast majority of installs of CiviCRM to run?
Given that there has been little appetite for CiviCRM Member Roles perhaps the approach is to split this into it's own module on the basis that most D9 sites to date are probably not using - therefore perhaps this code should not be required to be present on all CiviCRM installs.
However - we still have a lot of sites running D7 - and perhaps the sites that would use Member Roles are mainly running D7?https://lab.civicrm.org/dev/drupal/-/issues/180Naming: Drupal "8" references are anachronistic on Drupal 9/102022-11-18T15:01:20ZtottenNaming: Drupal "8" references are anachronistic on Drupal 9/10If you install CiviCRM-Drupal on D9/D10, some of the technical-names have anachronistic references to D8, eg
* The git repo name (`civicrm-drupal-8.git`)
* The composer package name (`civicrm/civicrm-drupal-8`)
* The UF name (`Drupal8`)...If you install CiviCRM-Drupal on D9/D10, some of the technical-names have anachronistic references to D8, eg
* The git repo name (`civicrm-drupal-8.git`)
* The composer package name (`civicrm/civicrm-drupal-8`)
* The UF name (`Drupal8`)
* Any classes based on the UF name (`CRM_Utils_System_{$UF}`, `CRM_Utils_Hook_{$UF}`, `CRM_Core_Permission_{$UF}`)
This is an off-shoot from discussion with @AlanDixon on https://lab.civicrm.org/dev/drupal/-/issues/178#note_74093https://lab.civicrm.org/dev/drupal/-/issues/177Cannot resolve path using "cms.root.url"2022-04-29T09:11:35ZalmadorxCannot resolve path using "cms.root.url"Hi! I'm having the issue with
```
In Paths.php line 140:
Cannot resolve path using "cms.root.url"
```
I'm using Drupal 9 and the last version of CiviCRM
I've tried the solution from here
([regression `cv` fails on CiviCRM 5.15.0](htt...Hi! I'm having the issue with
```
In Paths.php line 140:
Cannot resolve path using "cms.root.url"
```
I'm using Drupal 9 and the last version of CiviCRM
I've tried the solution from here
([regression `cv` fails on CiviCRM 5.15.0](https://lab.civicrm.org/dev/drupal/-/issues/75))
\vendor\civicrm\civicrm-core\CRM\Utils\System\Drupal8.php:
` public function getCurrentLanguage() {
// Drupal might not be bootstrapped if being called by the REST API.
if (!class_exists('Drupal') || !\Drupal::hasContainer()) {
return NULL;`
I've replaced _return NULL;_ with _return $url;_ but that doesn't solved the issue.https://lab.civicrm.org/dev/drupal/-/issues/175Call to deprecated function CRM_Contribute_PseudoConstant::pcpStatus in drupa...2022-03-08T14:11:00ZDaveDCall to deprecated function CRM_Contribute_PseudoConstant::pcpStatus in drupal 7 views modulehttps://civicrm.stackexchange.com/questions/41350/why-am-i-getting-deprecated-function-warnings
Coming from https://github.com/civicrm/civicrm-drupal/blob/e22d89a50108a2b4da99e971d0fdcdd656edd56c/modules/views/civicrm/civicrm_handler_fi...https://civicrm.stackexchange.com/questions/41350/why-am-i-getting-deprecated-function-warnings
Coming from https://github.com/civicrm/civicrm-drupal/blob/e22d89a50108a2b4da99e971d0fdcdd656edd56c/modules/views/civicrm/civicrm_handler_filter_pseudo_constant.inc#L45
`$this->_pseudo_constant = call_user_func_array($this->definition['pseudo class'] . "::" . $this->definition['pseudo method'], $pseudo_args);`
```
1 .../sites/all/modules/civicrm/CRM/Contribute/PseudoConstant.php(352): CRM_Core_Error::deprecatedFunctionWarning("Function pcpStatus will be removed")
2 .../sites/all/modules/civicrm/drupal/modules/views/civicrm/civicrm_handler_filter_pseudo_constant.inc(45): CRM_Contribute_PseudoConstant::pcpStatus()
3 .../sites/all/modules/views/includes/handlers.inc(65): civicrm_handler_filter_pseudo_constant->construct()
4 .../sites/all/modules/views/includes/handlers.inc(87): _views_create_handler((Array:8), "handler", "filter")
5 .../sites/all/modules/views/views.module(1399): _views_prepare_handler((Array:8), (Array:18), "status", "filter")
6 .../sites/all/modules/date/date_views/includes/date_views_fields.inc(59): views_get_handler("civicrm_pcp", "status", "filter")
7 .../sites/all/modules/date/date_views/date_views.module(156): _date_views_fields("civicrm_contact")
8 .../sites/all/modules/calendar/includes/calendar.views_template.inc(37): date_views_fields("civicrm_contact")
9 .../sites/all/modules/views/views.module(1520): calendar_views_templates()
10 .../sites/all/modules/views/views_ui.module(56): views_get_all_templates()
11 .../includes/menu.inc(2831): views_ui_menu()
12 .../includes/menu.inc(2794): menu_router_build()
13 .../includes/menu.inc(468): menu_rebuild()
14 .../includes/menu.inc(1779): menu_get_item()
15 .../includes/menu.inc(1794): menu_get_custom_theme(TRUE)
16 .../includes/common.inc(5402): menu_set_custom_theme()
17 .../includes/bootstrap.inc(2602): _drupal_bootstrap_full()
18 .../index.php(20): drupal_bootstrap(7)
19 {main}
```https://lab.civicrm.org/dev/drupal/-/issues/173Leaking cacheability metadata2022-02-09T22:36:58ZfkohrtLeaking cacheability metadataAfter installing CiviCRM 5.45 on a fresh Drupal 9.3.2 running on Ubuntu 20.04.3 LTS, the [SAML Authentication](https://www.drupal.org/project/samlauth) module issues a warning after every successful authentication event:
> While process...After installing CiviCRM 5.45 on a fresh Drupal 9.3.2 running on Ubuntu 20.04.3 LTS, the [SAML Authentication](https://www.drupal.org/project/samlauth) module issues a warning after every successful authentication event:
> While processing SAML authentication response, code leaked cacheability metadata. This indicates a bug somewhere (but it is hard to pinpoint where): if the same code is called in other scenarios too, it may cause fatal crashes, or bloat the render cache unnecessarily. Please investigate. Metadata: i:6;:O:37:"Drupal\Core\Render\BubbleableMetadata":4:{s:16:"*cacheContexts";a:0:{}s:12:"*cacheTags";a:0:{}s:14:"*cacheMaxAge";i:-1;s:14:"*attachments";a:0:{}}
One of the maintainers of the `samlauth` module explains in a corresponding ticket:
> the samlauth module isn't leaking metadata. It's detecting that some other code in your website, which was executed during the login process, is leaking metadata and should be fixed.
>
> — roderik, “[Code leaked cacheability metadata](https://www.drupal.org/project/samlauth/issues/3232577)”, [comment #4](https://www.drupal.org/project/samlauth/issues/3232577#comment-14354950)
Before installing CiviCRM, no warnings appeared in the log, therefore I'd say the appearance of the warnings somehow correspond to the fact that CiviCRM has been installed: CiviCRM code for Drupal might leak cacheability metadata.https://lab.civicrm.org/dev/drupal/-/issues/170kcfinder error 5002021-12-16T13:14:52Zolivierkcfinder error 500Civicrm 5.43 and 5.44 under Drupal 8, launching kcfinder from ckeditor give an 500 error.
Php script integration/civicrm.php try to call civicrm.config.php located in web/libraries/civicrm/, and this file does not exist.
Copying this fil...Civicrm 5.43 and 5.44 under Drupal 8, launching kcfinder from ckeditor give an 500 error.
Php script integration/civicrm.php try to call civicrm.config.php located in web/libraries/civicrm/, and this file does not exist.
Copying this file from an Drupal 7 installation is not sufficent, because civicrm.settings.php is not searched in correct location.
```
--- ../../mcm65/sites/all/modules/civicrm/civicrm.config.php 2021-11-15 21:42:13.000000000 +0100
+++ libraries/civicrm/civicrm.config.php 2021-12-07 21:14:33.380121826 +0100
@@ -87,6 +87,11 @@
return $confdir;
}
+ if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . 'default' .
+ DIRECTORY_SEPARATOR . 'civicrm.settings.php')) {
+ return $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . 'default';
+ }
+
if (!file_exists($confdir) && !$skipConfigError) {
echo "Could not find valid configuration dir, best guess: $confdir<br/><br/>\n";
exit();
```
Another point, .htaccess in /web directory Deny access to most php files in public directory.
We must allow access to php files under kcfinder directory :
```
# For security reasons, deny access to other PHP files on public sites.
# Note: The following URI conditions are not anchored at the start (^),
# because Drupal may be located in a subdirectory. To further improve
# security, you can replace '!/' with '!^/'.
# Allow access to PHP files in /core (like authorize.php or install.php):
RewriteCond %{REQUEST_URI} !/core/[^/]*\.php$
# Allow access to test-specific PHP files:
RewriteCond %{REQUEST_URI} !/core/modules/system/tests/https?.php
# Allow access to Statistics module's custom front controller.
# Copy and adapt this rule to directly execute PHP files in contributed or
# custom modules or to run another PHP application in the same directory.
RewriteCond %{REQUEST_URI} !/core/modules/statistics/statistics.php$
RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/[a-z_]+\.php$
RewriteCond %{REQUEST_URI} !/libraries/civicrm/packages/kcfinder/.*/[a-z_]+\.php$
# Deny access to any other PHP files that do not match the rules above.
# Specifically, disallow autoload.php from being served directly.
RewriteRule "^(.+/.*|autoload)\.php($|/)" - [F]
```https://lab.civicrm.org/dev/drupal/-/issues/160No dashboard displaying after installing and configuring CiviCRM with Backdrop2021-05-03T14:54:29ZcedeweyNo dashboard displaying after installing and configuring CiviCRM with BackdropI just installed CiviCRM on my Backdrop CMS site and walked through the configuration checklist.
When I click on the CiviCRM admin menu link I am taken to an essentially blank page. It seems like I must be missing a configuration or per...I just installed CiviCRM on my Backdrop CMS site and walked through the configuration checklist.
When I click on the CiviCRM admin menu link I am taken to an essentially blank page. It seems like I must be missing a configuration or permission setting, but I can't find what that might be. I am logged in as user 1 (administrator).
Also, when I hover over the CiviCRM menu item, no subpages appear in a dropdown as I have seen on other CiviCRM sites.
![civicrm-no-dashboard-no-menu](/uploads/ee163fe2b83d699e94b2185e85da0e5c/civicrm-no-dashboard-no-menu.png)https://lab.civicrm.org/dev/drupal/-/issues/155Installer does not recognize https urls when installing and setting civicrm.s...2021-02-04T20:02:47ZHeneryHInstaller does not recognize https urls when installing and setting civicrm.settings.php variablesTwo instances of url are in the settings file and when I install on an https site I need to edit the file manually to change the http to https.
Can the installer detect this and set the proper URL?Two instances of url are in the settings file and when I install on an https site I need to edit the file manually to change the http to https.
Can the installer detect this and set the proper URL?https://lab.civicrm.org/dev/drupal/-/issues/152Installing CiviCRM on some Distributions causes error Failed to find next ins...2021-01-13T19:55:59ZHeneryHInstalling CiviCRM on some Distributions causes error Failed to find next installable packageOne could argue that since CiviCRM installs of a clean core then it isn't its problem if there are errors on other distributions. But I have had this error when installing on a variety of different distis.
Maybe the root problem is in ...One could argue that since CiviCRM installs of a clean core then it isn't its problem if there are errors on other distributions. But I have had this error when installing on a variety of different distis.
Maybe the root problem is in some module somewhere or maybe the problem is in CiviCRM and it just doesn't manifest itself on a clean install of core.
I am not sure the data that I can help collect on this but I am now seeing it while trying to load CiviCRM on top of the Thunder disti.
Any ideas on what data collection would help?
```
composer create-project thunder/thunder-project $drupal_root --stability dev --no-interaction --no-install
.
.
.
vi composer.json # (to add the path for docroot to the civicrm-asset extras)
composer config extra.enable-patching true
composer -vvv require civicrm/civicrm-asset-plugin:'~1.1'
composer -vvv require civicrm/civicrm-{core,packages,drupal-8}:'~5.33-dev'
.
.
.
.
Writing lock file
Generating autoload files
- CiviCRM asset map
83 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Skip extra file civicrm/civicrm-core:angular
Skip extra file civicrm/civicrm-core:angular-bootstrap
Skip extra file civicrm/civicrm-core:angular-file-upload
Skip extra file civicrm/civicrm-core:angular-jquery-dialog-service
Skip extra file civicrm/civicrm-core:angular-mocks
Skip extra file civicrm/civicrm-core:angular-route
Skip extra file civicrm/civicrm-core:angular-sanitize
Skip extra file civicrm/civicrm-core:angular-ui-sortable
Skip extra file civicrm/civicrm-core:angular-ui-utils
Skip extra file civicrm/civicrm-core:angular-unsavedchanges
Skip extra file civicrm/civicrm-core:angular-xeditable
Skip extra file civicrm/civicrm-core:checklist-model
Skip extra file civicrm/civicrm-core:ckeditor
Skip extra file civicrm/civicrm-core:crossfilter-1.3.x
Skip extra file civicrm/civicrm-core:crossfilter2
Skip extra file civicrm/civicrm-core:css-color-names
Skip extra file civicrm/civicrm-core:d3
Skip extra file civicrm/civicrm-core:d3-3.5.x
Skip extra file civicrm/civicrm-core:datatables
Skip extra file civicrm/civicrm-core:dc-2.1.x
Skip extra file civicrm/civicrm-core:es6-promise
Skip extra file civicrm/civicrm-core:ext-greenwich-bootstrap3
Skip extra file civicrm/civicrm-core:font-awesome
Skip extra file civicrm/civicrm-core:marked
Skip extra file civicrm/civicrm-core:monaco-editor
Skip extra file civicrm/civicrm-core:google-code-prettify
Skip extra file civicrm/civicrm-core:jquery
Skip extra file civicrm/civicrm-core:jquery-ui
Skip extra file civicrm/civicrm-core:jquery-validation
Skip extra file civicrm/civicrm-core:json-formatter
Skip extra file civicrm/civicrm-core:jstree
Skip extra file civicrm/civicrm-core:lodash-compat
Skip extra file civicrm/civicrm-core:phantomjs-polyfill
Skip extra file civicrm/civicrm-core:select2
Skip extra file civicrm/civicrm-core:js-yaml
Skip extra file civicrm/civicrm-core:smartmenus
Executing command (/var/www/thunder/docroot): git ls-files --error-unmatch '/var/www/thunder/docroot//autoload.php'
Executing command (/var/www/thunder): git rev-parse --show-toplevel
[civicrm-asset-plugin] Found drupal/core. Defaults will be based on tarball.
[RuntimeException]
Error: Failed to find next installable package. Remaining: npm-asset/shariff thunder/thunder-distribution thunder/t
hunder-project
Exception trace:
() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/PackageSorter.php:103
Civi\CompilePlugin\PackageSorter::sortPackages() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/TaskList.php:42
Civi\CompilePlugin\TaskList->load() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/Command/CompileCommand.php:60
Civi\CompilePlugin\Command\CompileCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:281
Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:113
Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:61
require() at /usr/local/bin/composer:24
compile [--all] [-N|--dry-run] [--soft-options [SOFT-OPTIONS]] [--] [<filterExpr>]...
Subcommand @composer compile returned with error code 1
Installation failed, reverting ./composer.json to its original content.
[RuntimeException]
Subcommand @composer compile returned with error code 1
Exception trace:
() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/Util/ComposerPassthru.php:72
Civi\CompilePlugin\Util\ComposerPassthru->run() at /var/www/thunder/vendor/civicrm/composer-compile-plugin/src/CompilePlugin.php:117
Civi\CompilePlugin\CompilePlugin->runTasks() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:164
Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:96
Composer\EventDispatcher\EventDispatcher->dispatchScript() at phar:///usr/local/bin/composer/src/Composer/Installer.php:338
Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/RequireCommand.php:248
Composer\Command\RequireCommand->doUpdate() at phar:///usr/local/bin/composer/src/Composer/Command/RequireCommand.php:205
Composer\Command\RequireCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:281
Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:113
Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:61
require() at /usr/local/bin/composer:24
require [--dev] [--prefer-source] [--prefer-dist] [--fixed] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--] [<packages>]...
```https://lab.civicrm.org/dev/drupal/-/issues/150Drupal 9 - [RuntimeException] - Error: Failed to find next installable packa...2021-01-15T21:39:04ZRar9Drupal 9 - [RuntimeException] - Error: Failed to find next installable package. Remaining: drupal/chosen drupal/chosen_libUpdating civicrm 5.30.1 on Drupal 9.0.9 with composer 1.10.17 + php 7.4.12 will produce a conflict with drupal chosen module
![Civicrm](/uploads/e3fb0c573f5a1d2bda26e0e0269302ec/Civicrm.jpg)
it brings in these changes and something in ...Updating civicrm 5.30.1 on Drupal 9.0.9 with composer 1.10.17 + php 7.4.12 will produce a conflict with drupal chosen module
![Civicrm](/uploads/e3fb0c573f5a1d2bda26e0e0269302ec/Civicrm.jpg)
it brings in these changes and something in this breaks composer:
- Installing totten/lurkerlite (1.3.0): Loading from cache
- Installing civicrm/composer-compile-plugin (v0.14): Loading from cache
- Updating civicrm/composer-downloads-plugin (v2.1.1 => v3.0.1): Loading from cache
- Installing tubalmartin/cssmin (v4.1.1): Loading from cache
- Installing padaliyajay/php-autoprefixer (1.3): Loading from cache
- Installing scssphp/scssphp (v1.4.0): Loading from cache
- Installing civicrm/composer-compile-lib (v0.4): Loading from cache
- Updating civicrm/civicrm-core (5.30.1 => 5.31.1): Checking out e8825b4e60
[composer.json](https://lab.civicrm.org/-/snippets/60)https://lab.civicrm.org/dev/drupal/-/issues/144D8 kcfinder needs to be in two locations, currently in one2021-07-15T05:43:44Zbails@circle-interactive.co.ukD8 kcfinder needs to be in two locations, currently in oneWe've had to
Symlink from vendor/civicrm/civicrm-packages/kcfinder web/libraries/civicrm/core/packages/
ln -s vendor/civicrm/civicrm-packages/kcfinder web/libraries/civicrm/core/packages/
Then ensure the sites civicrm.settings.php con...We've had to
Symlink from vendor/civicrm/civicrm-packages/kcfinder web/libraries/civicrm/core/packages/
ln -s vendor/civicrm/civicrm-packages/kcfinder web/libraries/civicrm/core/packages/
Then ensure the sites civicrm.settings.php contains the following lines:
$civicrm_paths['civicrm.bower']['path'] = '/home/user/public_html/web/libraries/civicrm/core/bower_components';
$civicrm_paths['civicrm.bower']['url'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/core/bower_components/';
$civicrm_paths['civicrm.packages']['path'] = '/home/user/public_html/vendor/civicrm/civicrm-packages/';
$civicrm_paths['civicrm.packages']['url'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/core/packages/';
And also:
Add settings_location.php inside web/libraries/civicrm/core/ and /libraries/civicrm/
<?php
define('CIVICRM_CONFDIR', dirname(dirname(dirname(__FILE__))) . '/../sites');
And finally:
# Allow access to CKEditor for CiviCRM.
RewriteCond %{REQUEST_URI} !/libraries/civicrm/core/packages/kcfinder/[a-z_/]+\.php$https://lab.civicrm.org/dev/drupal/-/issues/142D8/D9 - Define composer upgrade test protocol2020-10-22T04:39:49ZtottenD8/D9 - Define composer upgrade test protocolWith composer-based distribution, there's an extra dimension/risk that you don't see in D7/WP/BD distribution -- Civi and Drupal build on some of the same packages (eg `symfony/*`), and they pull in various plugins, and the different tem...With composer-based distribution, there's an extra dimension/risk that you don't see in D7/WP/BD distribution -- Civi and Drupal build on some of the same packages (eg `symfony/*`), and they pull in various plugins, and the different templates have different conventions. It is entirely plausible for problems to sneak into the dependency-graph that are then awkward for system-implementers to resolve.
During the test/review/RC processes, we currently run [upgrade tests to check the DB-update procedure](https://github.com/civicrm/civicrm-upgrade-test/) against a range of older DB versions. This would be a sort of parallel for checking the composer-code-update procedure.
Ideally, as part of the release-cycle, one might run an upgrade-matrix. Example:
| Drupal Template | Drupal Version | CiviCRM Old Version | CiviCRM New Version |
| -- | -- | -- | -- |
| `drupal-composer/drupal-project` | `8.7.0` | `5.27.0` | `5.31.0` |
| `drupal/legacy-project` | `8.8.0` | `5.29.0` | `5.31.0` |
| `drupal/recommended-project` | `8.9.0` | `5.28.0` | `5.31.0` |
| `drupal/recommended-project` | `9.0.0` | `5.29.0` | `5.31.0` |
Of course, there are a huge number of permutations, and we're not gonna test all of them, but it would be appropriate to ensure that several distinct (in each column) do get tested.https://lab.civicrm.org/dev/drupal/-/issues/140Improvement in member role sync to avoid unnecessary role remove and role rea...2020-09-15T18:42:04ZsadashivImprovement in member role sync to avoid unnecessary role remove and role reassignIf we turn on civicrm member role sync module and configure the membership to sync to a role then system removes the role and reassigns it when the sync function is invoked.
Steps to replicate:
1) Create a Membership type
2) Create a ro...If we turn on civicrm member role sync module and configure the membership to sync to a role then system removes the role and reassigns it when the sync function is invoked.
Steps to replicate:
1) Create a Membership type
2) Create a role in drupal
3) Enable civicrm_member_roles module
4) Configure the member role rule to add the new role on proper status of the membership
5) Configure the membership role to sync on user login or logout
6) Create a new membership for any user (note that the user now doesn't have the new role)
7) Login as the user (note that the user now has the role assigned)
8) Logout
If we see the code in the module it has a db_delete to delete the role assignment and then more code to reassign the role back, and these actions are performed on login or logout. This can be improved by not deleting the role and not saving the user again if there is no change required. This can be a improvement and will save few overhead on queries and on login/logout.
Thanks,
Sadashiv.