Drupal issueshttps://lab.civicrm.org/dev/drupal/-/issues2023-05-13T18:45:09Zhttps://lab.civicrm.org/dev/drupal/-/issues/178Drupal 8 - End of Life2023-05-13T18:45:09ZtottenDrupal 8 - End of LifeDrupal 8 officially went end-of-life in November 2021 (https://www.drupal.org/psa-2021-11-30). The focus of this issue is to gauge sentiment about (and identify tasks for) ending CiviCRM's Drupal 8.x support.
(_Note: This issue has no i...Drupal 8 officially went end-of-life in November 2021 (https://www.drupal.org/psa-2021-11-30). The focus of this issue is to gauge sentiment about (and identify tasks for) ending CiviCRM's Drupal 8.x support.
(_Note: This issue has no impact on CiviCRM's support for Drupal 7 or Drupal 9 -- both continue to be supported by `drupal.org` and `civicrm.org`._)
Rationale
----------
@DaveD [made the case on Github](https://github.com/civicrm/civicrm-core/pull/23302#discussion_r858700890) as follows
> * There's the 3 reasons already mentioned:
> * Has been EOL for 6 months
> * No security updates.
> * And there have been recent drupal security fixes which would have helped prompt people to move off 8 if they were still on it.
> * Civi works equally as well on 9 as on 8
> * There's support for dropping it in chat, with nobody dissenting: https://chat.civicrm.org/civicrm/pl/qh6t761dt7gsdyp78m6stbmpwo
> * Drupal 8 to 9 is _very_ different than 6 to 7. Drupal 9 is identical to drupal 8.9 except for some deprecated functions. It's not much different than if they had called it 8.10.
> * There were many blog posts about this on the internet, about how easy it would be to upgrade compared to other jumps.
> * There was plenty of awareness ahead of time in the drupal world that drupal 8 would be unsupported.
> * From May 2021 to November 2021, the only updates for drupal 8.9.x were security updates, with repeated notices that 8 was becoming EOL.
> * There was a module available that was pretty good about pointing out what if anything you needed to change.
> * There is no CIVICRM_UF=Drupal9, because it's not needed.
I would add two more items in favor of dropping D8:
* ___Drupal 10 Support___: Preserving D8 may make it harder to add D10. While most changes can be bridged to support 2 versions major (eg D8+D9 or D9+D10), it gets more complicated with 3 major versions (D8+D9+D10). We've encountered at least one issue (involving changes in Symfony Dispatcher / PSR-14) that gets prickly with 3 major versions.
* ___Pingbacks___: There are only ~30 Civi deployments still reporting Drupal 8.x. They represent <1% of Civi-Drupal deployments.
* Note: This is based on directly examining pingbacks from 2022 -- and only counting sites with multiple pingbacks (e.g. to exclude most ephemeral test-sites). The data on `stats.civicrm.org` is confusing in this regard, because Drupal 8.x and Drupal 9.x are lumped together with UF `Drupal8`. My comments are based on examining actual version-numbers and not just UF name.
Tasks
-----
There are a few tasks to do as follow-up:
* Update installation guide
* Remove Drupal 8.x from test infra
Suggested Emojis
----------------
Please do register a quick reaction on D8 EOL. Some suggested emojis:
* :rocket: - Remove Drupal 8 compatibility at the soonest convenience.
* :turtle: - Remove Drupal 8 compatibility... just not quite yet. (Keep it until 5.51 ESR).
* :shield: - Protect Drupal 8 compatibility for a longer period of time.
* :bangbang: - Extra importance modifier. (Add this if the sentiment on the first emoji is strong - eg if you will be significantly impacted by the issue.)
(Flag whichever is the soonest that you think is appropriate/acceptable.)
(Example: If you maintain a site that's been held back on D8 because of some complicated issue and cannot resolve it in the near future, then you could say ":shield: :bangbang:".)
(You may see `totten` on all emojis for a while, since I put them in as placeholders.)https://lab.civicrm.org/dev/drupal/-/issues/154Proposal - fix for How do I add CiviCRM Activity attachment to View2021-02-04T19:20:09ZeileenProposal - fix for How do I add CiviCRM Activity attachment to ViewI'm adding this gitlab to track https://github.com/civicrm/civicrm-drupal/pull/382 which I'm going to close as it stagnated 4 years agoI'm adding this gitlab to track https://github.com/civicrm/civicrm-drupal/pull/382 which I'm going to close as it stagnated 4 years agohttps://lab.civicrm.org/dev/drupal/-/issues/135Use Exception handling for drush (d7) commands - specifically civicrm-upgrade-db2021-02-15T02:50:40ZeileenUse Exception handling for drush (d7) commands - specifically civicrm-upgrade-dbWhen there is a problem upgrading via drush this is how it looks
![Screen_Shot_2020-08-19_at_2.33.52_PM](/uploads/7f3a15ac5a07104926c78d77c9ff168d/Screen_Shot_2020-08-19_at_2.33.52_PM.png)
I think we should set exception handling 'some...When there is a problem upgrading via drush this is how it looks
![Screen_Shot_2020-08-19_at_2.33.52_PM](/uploads/7f3a15ac5a07104926c78d77c9ff168d/Screen_Shot_2020-08-19_at_2.33.52_PM.png)
I think we should set exception handling 'somewhere' & my current best guess as to where is
--- a/CRM/Upgrade/Headless.php
+++ b/CRM/Upgrade/Headless.php
@@ -30,6 +30,8 @@ class CRM_Upgrade_Headless {
set_time_limit(0);
}
+ // As long as the error scope is not deconstructed exceptions will be thrown.
+ $errorScope = CRM_Core_TemporaryErrorScope::useException();
$upgrade = new CRM_Upgrade_Form();https://lab.civicrm.org/dev/drupal/-/issues/119Exception handling - 'Allowed memory size' exhasted issues2020-10-05T22:47:08ZRob_SException handling - 'Allowed memory size' exhasted issuesI'm having issues with Exception handling. I've hit a few places, where rather than getting provided with a useful error message, I am getting WSOD and then in the Apache error logs I am seeing "PHP Fatal error: Allowed memory size of x...I'm having issues with Exception handling. I've hit a few places, where rather than getting provided with a useful error message, I am getting WSOD and then in the Apache error logs I am seeing "PHP Fatal error: Allowed memory size of xxx bytes exhausted (tried to allocate xxx bytes) in Unknown on line 0".
"Unknown on line 0" isn't very helpful. One instance where I am getting this is if I want to view a contribution page, that has "Allow individuals to contribute and / or signup for membership on behalf of an organisation?" selected, but the user does not have the 'CiviCRM: profile create' permission.
It's taken me a while to narrow down the problem following a debug_backtrace() in templates/CRM/Contribute/Form/Contribution/Main.tpl.
I've tracked it as far as CRM_Core_Exception. The constructor method here is working ok, but there is another method, getErrorData() which is somehow getting called, but I cannot figure out where from. It seems to me that there must be some kind of infinite loop thing going on with one Exception class calling another. CRM_Core_Exception extends PEAR_Exception which extends Exception.
I have at least three other instances of WSOD on the site, with the same uninformative 'Allowed memory size ..' errors in the Apache log, but I haven't got as far as tracking them down to see if it is the same thing yet.
Is anyone else having problems like this? Would appreciate any thoughts.5.31.0https://lab.civicrm.org/dev/drupal/-/issues/96Add user format to CiviCRM Entity2021-02-04T19:28:45ZedvanleeuwenAdd user format to CiviCRM EntityFeature request: I would like to have the following user format added to CiviCRM Entity.
In civicrm_entity.module, function _civicrm_entity_options_username_format:
` 'nick.middle.last' => t('Nick.Middle.Last'),
'nick.middlelast'...Feature request: I would like to have the following user format added to CiviCRM Entity.
In civicrm_entity.module, function _civicrm_entity_options_username_format:
` 'nick.middle.last' => t('Nick.Middle.Last'),
'nick.middlelast' => t('Nick.MiddleLast'),`
[civicrm_entity.module](/uploads/bd29a74959e50bc5fc2411891d0a94e9/civicrm_entity.module)
In civicrm_entity.module, function civicrm_entity_action_create_user:
```
case 'nick.middle.last':
if (!empty($contact['middle_name'])) {
$params['name'] = _civicrm_entity_clean_login_name(trim($contact['nick_name']) . "." . trim($contact['middle_name']) . "." . trim($contact['last_name']));
} else {
$params['name'] = _civicrm_entity_clean_login_name(trim($contact['nick_name']) . "." . trim($contact['last_name']));
}
break;
case 'nick.middlelast':
if (!empty($contact['middle_name'])) {
$params['name'] = _civicrm_entity_clean_login_name(trim($contact['nick_name']) . "." . trim($contact['middle_name']) . trim($contact['last_name']));
} else {
$params['name'] = _civicrm_entity_clean_login_name(trim($contact['nick_name']) . "." . trim($contact['last_name']));
}
break;
```
An adapted file has been attached.https://lab.civicrm.org/dev/drupal/-/issues/93Create access role for importing memberships2019-11-04T08:53:10ZedvanleeuwenCreate access role for importing membershipsAt the moment, there is an access role to import contacts, but not for memberships. The latter shows up in the menu of users who are not allowed to import contacts.
It would be better to have a separate role for this or to attach this a...At the moment, there is an access role to import contacts, but not for memberships. The latter shows up in the menu of users who are not allowed to import contacts.
It would be better to have a separate role for this or to attach this access to the contact import role.https://lab.civicrm.org/dev/drupal/-/issues/90SMS limit is hardcoded at 460 but should be changeable somewhere2021-02-04T19:26:45ZjasonobrownSMS limit is hardcoded at 460 but should be changeable somewhereTwillio (and probably other sms providers) allows SMS messages up to 1600 characters, but Civi has the limit hardcoded at 460. I've verified that by simply going to CRM/SMS/Provider.php and changing MAX_SMS_CHAR from 460 to 1600 the sys...Twillio (and probably other sms providers) allows SMS messages up to 1600 characters, but Civi has the limit hardcoded at 460. I've verified that by simply going to CRM/SMS/Provider.php and changing MAX_SMS_CHAR from 460 to 1600 the system now accepts (and sends) messages up to 1600 characters. It seems logical that the character limit should able to be adjusted and stored somewhere rather than set as a static value in the code. We are currently using the larger limit, and would really like to see this implemented asap so that we can stop manually updating the code each time we update civi.https://lab.civicrm.org/dev/drupal/-/issues/59deprecate civicrm_engage2021-02-02T00:49:50Zjamiedeprecate civicrm_engageI'd like to propose we begin a process of deprecating and then removing the civicrm_engage module from the civivicrm-drupal repository.
I've just posted a blog outlining replacement extensions that can now be used with some instructions...I'd like to propose we begin a process of deprecating and then removing the civicrm_engage module from the civivicrm-drupal repository.
I've just posted a blog outlining replacement extensions that can now be used with some instructions for anyone still using civicrm_engage:
https://civicrm.org/blog/jamie/civicrmengage-is-dead-long-live-civicrmengage
I'm not sure the best process to take to deprecate a drupal module. Open to suggestions or, if we have already deprecated a drupal module in the past, pointers to the documentation or code changes we made.5.18.0https://lab.civicrm.org/dev/drupal/-/issues/49Clearing CiviCRM cache not regenerating the angular-modules.js2022-12-02T01:43:08ZshaneonabikeClearing CiviCRM cache not regenerating the angular-modules.js**What Happened**
I realize this //could be// an edge case, but I accidentally deleted the angular-modules.js file when installing D8 with CiviCRM.
**What did I expect**
Either that an error message on /civicrm/a/#/status indicating ho...**What Happened**
I realize this //could be// an edge case, but I accidentally deleted the angular-modules.js file when installing D8 with CiviCRM.
**What did I expect**
Either that an error message on /civicrm/a/#/status indicating how I could rebuild this file and/or when clearing the CiviCRM cache it would be regenerated.
**What I tried**
- Tried to clear the cache (nothing changed)
- Tried to run composer update (nothing changed)
- Wasn't sure where or how to run bower update in order to attempt that part
I would be happy to add additional information on the wiki as well if that helps with relation to this. I just thought that perhaps we could put some additional messages do indicate that angular is not found and therefore some parts might not work properly.https://lab.civicrm.org/dev/drupal/-/issues/43Drupal8: composer requires psr/log ~1.0.0, incompatible with psr/log 1.1.02019-01-09T02:48:58ZJonGoldDrupal8: composer requires psr/log ~1.0.0, incompatible with psr/log 1.1.0I found this issue reported on Stack Exchange: https://civicrm.stackexchange.com/q/27832/12
`civicrm-core` and `civicrm-cxn-rpc` both specify a dependency on `psr/log ~1.0.0`. `psr/log` version 1.1 came out last month, and apparently s...I found this issue reported on Stack Exchange: https://civicrm.stackexchange.com/q/27832/12
`civicrm-core` and `civicrm-cxn-rpc` both specify a dependency on `psr/log ~1.0.0`. `psr/log` version 1.1 came out last month, and apparently some Drupal-related package already requires it.
There are only three commits' difference between 1.0.2 and 1.1.0, and one is in the README. I'm not a PSR-3 expert, but my sense is that we can change our composer dependencies to support the newer version.https://lab.civicrm.org/dev/drupal/-/issues/41Invalid regular expression on find_value_and_highlight2021-02-04T19:21:38ZshaneonabikeInvalid regular expression on find_value_and_highlightI came across this interesting little diddy... Basically, one of our users created an Organization as **(Université du Québec à Montréal**. Now that shouldn't be a real big issues, except that on a Webform (using Webform Civicrm) the cal...I came across this interesting little diddy... Basically, one of our users created an Organization as **(Université du Québec à Montréal**. Now that shouldn't be a real big issues, except that on a Webform (using Webform Civicrm) the callback to search for existing Organizations is throwing an exception. Mainly, because the ( introduces an extra element in the regular expression. Perhaps we need to add something that would escape these values?
`Uncaught SyntaxError: Invalid regular expression: /(?![^&;]+;)(?!<[^<>]*)((Université du Québec à Montréal)(?![^<>]*>)(?![^&;]+;)/: Unterminated group
at new RegExp (<anonymous>)
at find_value_and_highlight_term (js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:662)
at Object.<anonymous> (js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:684)
at Function.each (js__dU859nniAHOO3ZZ49DZUXr5Frl9T3QSa81hYdDf9Uas__1Tf7Fi7ZEi0LVYZbZYn2z46aXwifjwu_MFpx644_2lc__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:3)
at populate_dropdown (js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:681)
at run_search (js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:762)
at js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:749
find_value_and_highlight_term @ js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:662
(anonymous) @ js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:684
each @ js__dU859nniAHOO3ZZ49DZUXr5Frl9T3QSa81hYdDf9Uas__1Tf7Fi7ZEi0LVYZbZYn2z46aXwifjwu_MFpx644_2lc__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:3
populate_dropdown @ js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:681
run_search @ js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:762
(anonymous) @ js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:749
setTimeout (async)
do_search @ js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:748
(anonymous) @ js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:285
setTimeout (async)
(anonymous) @ js__9MDsutgYLjvNWbacIKdIM-_lWMx6j_FrTBlPkRjQkAU__3a9qPir6bBPCsLiwjm9jZa1_25kF908lNx0Z7bQ255s__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:285
dispatch @ js__dU859nniAHOO3ZZ49DZUXr5Frl9T3QSa81hYdDf9Uas__1Tf7Fi7ZEi0LVYZbZYn2z46aXwifjwu_MFpx644_2lc__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:4
v.handle @ js__dU859nniAHOO3ZZ49DZUXr5Frl9T3QSa81hYdDf9Uas__1Tf7Fi7ZEi0LVYZbZYn2z46aXwifjwu_MFpx644_2lc__FlKQa-km3xlDGPoIZZNvuMHu2QCQHy1fxdhBQcnM3Fs.js:4`https://lab.civicrm.org/dev/drupal/-/issues/36Unfork zetacomponents/mail (also helps Drupal8)2019-01-08T14:53:17ZbgmUnfork zetacomponents/mail (also helps Drupal8)zetacomponents/mail was [forked](https://github.com/civicrm/zetacomponents-mail/tree/1.7-civi) in early 2017 for PHP 7 compatibility. However, the base branch has had updates since which fix the PHP issues, and also add a new features fo...zetacomponents/mail was [forked](https://github.com/civicrm/zetacomponents-mail/tree/1.7-civi) in early 2017 for PHP 7 compatibility. However, the base branch has had updates since which fix the PHP issues, and also add a new features for STARTTLS that might be interesting (and solves issues such as: https://github.com/civicrm/zetacomponents-mail/pull/2)
I encounted this issue while playing around with composer and Drupal8 from scratch:
```
$ composer create-project drupal-composer/drupal-project:8.x-dev myproject --stability dev --no-interaction
$ cd myproject
$ composer require civicrm/civicrm-core:5.7.2 --prefer-dist
./composer.json has been updated
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for civicrm/civicrm-core 5.7.2 -> satisfiable by civicrm/civicrm-core[5.7.2].
- civicrm/civicrm-core 5.7.2 requires zetacomponents/mail dev-1.7-civi -> no matching package found.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
[...]
```
This can be fixed by specifying the URL of CiviCRM's fork, but eh, if we can remove it, why not?
cc @jackrabbithanna @dsnopekhttps://lab.civicrm.org/dev/drupal/-/issues/35Drupal8: CiviCRM checks assume a single-database installation2020-10-26T15:25:58ZJonGoldDrupal8: CiviCRM checks assume a single-database installationI typically set up CiviCRM in a separate database, with a single MySQL user granted the minimum necessary permissions to change both CMS and CRM.
Drupal8 is incorporating CiviCRM checks into Drupal - but I get the error message (with th...I typically set up CiviCRM in a separate database, with a single MySQL user granted the minimum necessary permissions to change both CMS and CRM.
Drupal8 is incorporating CiviCRM checks into Drupal - but I get the error message (with the permissions below) that I don't have permission to create triggers on my database.
What's actually happening is I don't have permission to create triggers on the Drupal database. I can create triggers on the Civi db.
Below you can see the command I ran that bypassed the issue.
Since this blocks Drupal upgrades, it feels reasonably serious to resolve. I feel a little lost in D8 though - I was looking for `hook_requirement`, which is how I'd ordinarily add a status check in D7, but couldn't find it (except in the install file).
```
mysql> show grants for myorg_test@localhost;
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for myorg_test@localhost |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myorg_test'@'localhost' |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, TRIGGER ON `myorg_test_civi`.* TO 'myorg_test'@'localhost' |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON `myorg_test_drupal`.* TO 'myorg_test'@'localhost' |
| GRANT EXECUTE, ALTER ROUTINE ON FUNCTION `myorg_test_civi`.`civicrm_strip_non_numeric` TO 'myorg_test'@'localhost' |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, TRIGGER ON `myorg_test_drupal`.* TO 'myorg_test'@'localhost';
Query OK, 0 rows affected (0.00 sec)```https://lab.civicrm.org/dev/drupal/-/issues/33Implement userFrameworkFrontend Configuration for Drupal2019-11-24T05:41:04ZseamusleeImplement userFrameworkFrontend Configuration for DrupalThis is to support the concept of Separate frontend and backend themesThis is to support the concept of Separate frontend and backend themes5.16.0https://lab.civicrm.org/dev/drupal/-/issues/31CiviMember Role sync is no longer syncing Pending memberships2022-10-08T12:04:06ZjitendraCiviMember Role sync is no longer syncing Pending membershipsPending membership does not sync roles even if the option is configured in the settings page.Pending membership does not sync roles even if the option is configured in the settings page.5.9jitendrajitendrahttps://lab.civicrm.org/dev/drupal/-/issues/28Drupal8: Deprecate the Views integration?2020-07-16T17:23:38ZbgmDrupal8: Deprecate the Views integration?From: https://github.com/civicrm/civicrm-drupal-8/pull/3#issuecomment-412927333
> "Just wanted to let you'll know that the latest CiviCRM Entity 8.x-3.x-dev version includes Views support....Not telling you what to do, but the "Core Vie...From: https://github.com/civicrm/civicrm-drupal-8/pull/3#issuecomment-412927333
> "Just wanted to let you'll know that the latest CiviCRM Entity 8.x-3.x-dev version includes Views support....Not telling you what to do, but the "Core Views Integration" could be handled by that module...." (@jackrabbithanna)
Since CiviCRM-D8 is not officially supported yet, now might be a good time to cut-off core views support? (although pingbacks report over 100 sites).
It's still a fair amount of work, however, to PSA and confirm that CiviCRM Entity feature-equivalent?
+/-1? cc @jackrabbithanna @dsnopek @eileen .. who else?https://lab.civicrm.org/dev/drupal/-/issues/23[webform_civicrm] - Webform CiviCRM module - Drupal 8 prototyping2020-10-15T16:29:06ZKarinG[webform_civicrm] - Webform CiviCRM module - Drupal 8 prototypingI sat down with Will & David this week to take a look at what D8 Webform-CiviCRM might look like. I've been playing with the Webform 5 module and really love it. We talked about handlers and element types and the pros & cons of those. I'...I sat down with Will & David this week to take a look at what D8 Webform-CiviCRM might look like. I've been playing with the Webform 5 module and really love it. We talked about handlers and element types and the pros & cons of those. I'm still learning the new system so I may revise this, but here are my thoughts so far.
In Webform-CiviCRM D7, there is a massive configuration form for the CiviCRM-related form settings. It configures the data handling and it also auto-generates webform elements and links them to their corresponding CiviCRM entity field. It looks like this:
![Webform-CiviCRM-D7](/uploads/68e92ea62fe22aaf37293c778aa5ee3a/Webform-CiviCRM-D7.png)
Note that checking a box on this form will actually insert a corresponding element into the Webform. I've always thought that was much more user-frieldly than the alternative of making the user create a new element and then go over to a "mapping" screen to link it to CiviCRM. So I'd like to keep that kind of behavior.
But playing around with the D8 interface, I think we could break this monolithic form up by entity and integrate it better with the webform admin screen. Here's my spitball proposal:
1. Create a bunch of new "container" type elements, one per supported CiviCRM entity type (Contact, Participant, Activity, etc).
2. Add a new button on the webform elements page to add these CiviCRM entity containers to the form.
3. Adding one would automatically enable our CiviCRM submission handler.
4. Editing a container would pop up a configuration form specific to that entity - it would look a lot like one of the panes on the webform-civicrm D7 admin screen above.
5. Checking a checkbox on that form would result in a new webform element being added into the container.
6. The admin user would still be free to move elements around and rename them. I don't see any reason why they wouldn't be able to move them outside of the container too. The mapping wouldn't be dependent on that.
7. The entity container itself could be styled to look like a fieldset, flexbox, div, etc.
Here's a photoshopped mockup of what that might look like. Note that in D8, popups float to the right on wide screens, so what you're seeing here would be the result of clicking the "Edit" button on the CiviCRM contact.
![Webform_Mockup_1](/uploads/b369bedbee01eb0f70cce22910c5472d/Webform_Mockup_1.png)https://lab.civicrm.org/dev/drupal/-/issues/22Drupal8: implement views and multilingual CiviCRM2020-07-16T17:23:38ZbgmDrupal8: implement views and multilingual CiviCRMHow to reproduce:
* Create a bilingual Drupal site, with the locale module
* Setup CiviCRM as multilingual, bilingual, using URL prefix language detection (example.org/fr/civicrm)
* Create a view of CiviCRM Events, add the title field.
...How to reproduce:
* Create a bilingual Drupal site, with the locale module
* Setup CiviCRM as multilingual, bilingual, using URL prefix language detection (example.org/fr/civicrm)
* Create a view of CiviCRM Events, add the title field.
Result: fatal database error because it cannot find `civicrm_event.title` (should be `civicrm_event.title_en_US`).
This was a quickfix, incoming PR.
cc @JoeMurray @monish.deb @samuelsovbgmbgmhttps://lab.civicrm.org/dev/drupal/-/issues/21Drupal8: CiviCRM menu does not use the correct locale2020-07-16T17:23:38ZbgmDrupal8: CiviCRM menu does not use the correct localeHow to reproduce:
* Create a bilingual Drupal site, with the locale module
* Setup CiviCRM as multilingual, bilingual, using URL prefix language detection (example.org/fr/civicrm)
Result: the menu is always in the default CiviCRM langu...How to reproduce:
* Create a bilingual Drupal site, with the locale module
* Setup CiviCRM as multilingual, bilingual, using URL prefix language detection (example.org/fr/civicrm)
Result: the menu is always in the default CiviCRM language (or default Drupal language?).
Debugging the issue, in Drupal, the menu JS would be called this way:
`https://example.org/en/civicrm/ajax/menujs/2/en_US/1/5H7zVVcT`
However in D8 it is being called without the language prefix:
`https://example.org/civicrm/ajax/menujs/2/en_US/1/5H7zVVcT`
I suspect it is related to `CRM_Utils_System::languageNegotiationURL()`, which seems to test for the `locale` module.
cc @JoeMurray @monish.deb5.16.2https://lab.civicrm.org/dev/drupal/-/issues/19Drupal8: Implement set UF locale/language (affects mailing tokens)2020-07-16T17:23:38ZbgmDrupal8: Implement set UF locale/language (affects mailing tokens)This is a follow-up to dev/drupal#17.
How to reproduce:
* Create a bilingual Drupal site, with the locale module, with URL-prefix language detection (example.org/fr/civicrm)
* Enable multi-lingual CiviCRM, with two languages (ex: FR/EN...This is a follow-up to dev/drupal#17.
How to reproduce:
* Create a bilingual Drupal site, with the locale module, with URL-prefix language detection (example.org/fr/civicrm)
* Enable multi-lingual CiviCRM, with two languages (ex: FR/EN)
* Send a mailing in French, with the unsubscribe URL token
Expected result: the token should link to the page in French.
Related JIRA issue for Drupal7: https://issues.civicrm.org/jira/browse/CRM-16352
cc @monish.deb @samuelsov5.15.0bgmbgm