Drupal issues
https://lab.civicrm.org/dev/drupal/-/issues
2023-05-13T18:45:09Z
https://lab.civicrm.org/dev/drupal/-/issues/178
Drupal 8 - End of Life
2023-05-13T18:45:09Z
totten
Drupal 8 - End of Life
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 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/49
Clearing CiviCRM cache not regenerating the angular-modules.js
2022-12-02T01:43:08Z
shaneonabike
Clearing 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/31
CiviMember Role sync is no longer syncing Pending memberships
2022-10-08T12:04:06Z
jitendra
CiviMember Role sync is no longer syncing Pending memberships
Pending 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.9
jitendra
jitendra
https://lab.civicrm.org/dev/drupal/-/issues/182
Drupal 7 modules not ported to Drupal 9 yet
2022-09-09T10:08:56Z
luke.stewart
Drupal 7 modules not ported to Drupal 9 yet
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/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/13
Contact Image uploaded from Drupal Webform doesn't render on Drupal View as a...
2021-09-08T11:25:32Z
jitendra
Contact Image uploaded from Drupal Webform doesn't render on Drupal View as a thumbnail.
This is an extension of a fix done recently via https://github.com/civicrm/civicrm-core/pull/11681. As it only contained the fix to render the image on the contact summary page, we also have this issue on a Drupal view which needs to be ...
This is an extension of a fix done recently via https://github.com/civicrm/civicrm-core/pull/11681. As it only contained the fix to render the image on the contact summary page, we also have this issue on a Drupal view which needs to be addressed. To replicate, upload an image for a contact using a webform and try to render it as a thumbnail on a Drupal view.
Also, if the filename of the image has a space in it, it fails to load on the view.
5.43.0
https://lab.civicrm.org/dev/drupal/-/issues/135
Use Exception handling for drush (d7) commands - specifically civicrm-upgrade-db
2021-02-15T02:50:40Z
eileen
Use Exception handling for drush (d7) commands - specifically civicrm-upgrade-db
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 '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/96
Add user format to CiviCRM Entity
2021-02-04T19:28:45Z
edvanleeuwen
Add user format to CiviCRM Entity
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'...
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/90
SMS limit is hardcoded at 460 but should be changeable somewhere
2021-02-04T19:26:45Z
jasonobrown
SMS limit is hardcoded at 460 but should be changeable somewhere
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 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/41
Invalid regular expression on find_value_and_highlight
2021-02-04T19:21:38Z
shaneonabike
Invalid regular expression on find_value_and_highlight
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 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/154
Proposal - fix for How do I add CiviCRM Activity attachment to View
2021-02-04T19:20:09Z
eileen
Proposal - fix for How do I add CiviCRM Activity attachment to View
I'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 ago
I'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 ago
https://lab.civicrm.org/dev/drupal/-/issues/59
deprecate civicrm_engage
2021-02-02T00:49:50Z
jamie
deprecate civicrm_engage
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...
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.0
https://lab.civicrm.org/dev/drupal/-/issues/35
Drupal8: CiviCRM checks assume a single-database installation
2020-10-26T15:25:58Z
JonGold
Drupal8: CiviCRM checks assume a single-database installation
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 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/23
[webform_civicrm] - Webform CiviCRM module - Drupal 8 prototyping
2020-10-15T16:29:06Z
KarinG
[webform_civicrm] - Webform CiviCRM module - Drupal 8 prototyping
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'...
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/119
Exception handling - 'Allowed memory size' exhasted issues
2020-10-05T22:47:08Z
Rob_S
Exception handling - 'Allowed memory size' exhasted issues
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 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.0
https://lab.civicrm.org/dev/drupal/-/issues/9
Problem: Easily allow 'vendor' directory not under the webroot
2020-09-30T12:35:40Z
totten
Problem: Easily allow 'vendor' directory not under the webroot
This is currently possible, but requires some patches and a build process.
**Here's the patches and process currently used by myDropWizard for Roundearth.io:**
*Patches:*
1. Find CKEditor relative to the resource URL: https://github.c...
This is currently possible, but requires some patches and a build process.
**Here's the patches and process currently used by myDropWizard for Roundearth.io:**
*Patches:*
1. Find CKEditor relative to the resource URL: https://github.com/mydropwizard/civicrm-core/commit/9fc3877e2eb14e2829b530445c5e5491afc4bbe
2. Look for vendor directory above web root: https://github.com/mydropwizard/civicrm-core/commit/f57954392f8026d17b7f19f7c01ceeb65e703384
Both of those could probably be merged upstream?
*Process:*
1. Build process to copy web assets to `WEBROOT/libraries/civicrm` so they are web accessible. Here's the version from [roundearth's build process](https://gitlab.com/mydropwizard/roundearth-drops-8/blob/master/rebuild.sh#L74):
```
# Copy CiviCRM assets
asset_source=./vendor/civicrm/civicrm-core
asset_dest=./web/libraries/civicrm
mkdir -p $asset_dest
rsync -mr --include='*.'{html,js,css,svg,png,jpg,jpeg,ico,gif,woff,woff2,ttf,eot} --include='*/' --exclude='*' $asset_source/ $asset_dest/
rm -rf $asset_dest/tests
cp -r $asset_source/extern $asset_dest/
cp $asset_source/civicrm.config.php $asset_dest/
cat << EOF > $asset_dest/settings_location.php
<?php
define('CIVICRM_CONFDIR', '../../../sites');
EOF
```
2. Set the "Resource URL" to `[cms.root]/libraries/civicrm/`
**Getting support for this upstream:**
1. I think the patches might be good to just commit upstream? They don't seem controversial
2. The build process could be put in a PHP class in civicrm-corm which could be referred to as a script in a sites composer.json
3. We should be able to detect that we're using the vendor outside the webroot - could we somehow make the necessary "Resource URL" the default?
5.5.0
https://lab.civicrm.org/dev/drupal/-/issues/4
Use `civicrm-setup` to handle installation
2020-08-07T03:28:13Z
totten
Use `civicrm-setup` to handle installation
**Background**: During installation, one must check system-requirements, populate database, etc. To do this, the Drupal 8 integration currently calls some functions from `install/`.
However, the functions in the `install/` folder are t...
**Background**: During installation, one must check system-requirements, populate database, etc. To do this, the Drupal 8 integration currently calls some functions from `install/`.
However, the functions in the `install/` folder are too narrowly crafted -- we don't have much ability to add/change/rearrange/remove installer steps. [civicrm-setup](https://civicrm.org/blog/totten/developers-revising-the-civicrm-installer-library-cli-wordpress) aims to redress that limitation and make it easier to iterate on the installer. For any new distribution channels (like D8), we should call `civicrm-setup`.
__Tasks__:
* __(a)__ `civicrm.drush.inc`: The function `drush_civicrm_install()` must use the `civicrm-setup` API (eg `installFiles()`, `installDatabase()`).
* __(b)__ `civicrm.install`: The function `civicrm_install()` must use setup API (eg `installFiles()`, `installDatabase()`).
* __(c)__ `civicrm.install`: The function `civicrm_requirements()` should use the setup API (eg `checkRequirements`, `checkAuthorized`).
D8 General Availability
https://lab.civicrm.org/dev/drupal/-/issues/28
Drupal8: Deprecate the Views integration?
2020-07-16T17:23:38Z
bgm
Drupal8: 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/25
View Relationship Type: Event to Participant Contact
2020-07-16T17:23:38Z
johnff
View Relationship Type: Event to Participant Contact
Success! I have successfully added a new View Relationship type that allows you to connect a Contact to your Event, and even select it by role id.
But! Only the contact's core fields are in. Now, we can easily create another relationshi...
Success! I have successfully added a new View Relationship type that allows you to connect a Contact to your Event, and even select it by role id.
But! Only the contact's core fields are in. Now, we can easily create another relationship to bring in the Contact's custom fields, but I can't see any barrier to bringing them in by default. How are custom fields connected to a table?
https://lab.civicrm.org/dev/drupal/-/issues/24
[webform_civicrm] - monies display properly but don't get processed when usin...
2020-07-16T17:23:38Z
KarinG
[webform_civicrm] - monies display properly but don't get processed when using webform_calculator module to calculate e.g. participant fees
![image](/uploads/c6a3f46f1ca9a57819370b9c3f4012dd/image.png)
![image](/uploads/ed87bfaed0cda7b8e3061573c4168735/image.png)
![image](/uploads/7ca2158df886d944766a86459a23be2f/image.png)
![image](/uploads/f7eb9556cd07695f72bed3f28ab4c8...
![image](/uploads/c6a3f46f1ca9a57819370b9c3f4012dd/image.png)
![image](/uploads/ed87bfaed0cda7b8e3061573c4168735/image.png)
![image](/uploads/7ca2158df886d944766a86459a23be2f/image.png)
![image](/uploads/f7eb9556cd07695f72bed3f28ab4c8dd/image.png)
![image](/uploads/595a14b6ec110408df2560e23fce1673/image.png)
colemanw
colemanw
https://lab.civicrm.org/dev/drupal/-/issues/22
Drupal8: implement views and multilingual CiviCRM
2020-07-16T17:23:38Z
bgm
Drupal8: implement views and multilingual CiviCRM
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.
...
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 @samuelsov
bgm
bgm