Development issueshttps://lab.civicrm.org/groups/dev/-/issues2022-10-21T07:36:12Zhttps://lab.civicrm.org/dev/backdrop/-/issues/66Admin role not granted all Civi permissions on install.2022-10-21T07:36:12ZbgmAdmin role not granted all Civi permissions on install.*Created by: jenlampton*
After running the Civi Installer, I am redirected to the 'civicrm/setup' where the first message says "Backdrop user permissions have been automatically set - giving anonymous and authenticated users access to p...*Created by: jenlampton*
After running the Civi Installer, I am redirected to the 'civicrm/setup' where the first message says "Backdrop user permissions have been automatically set - giving anonymous and authenticated users access to public CiviCRM forms and features. We recommend that you review these permissions to ensure that they are appropriate for your requirements".
However, when I navigate to the permissions matrix, the "Administrative role" is not granted all CiviCRM permissions. When a new module is installed that provides permissions, this role is granted all permissions available, so that an administrator does not need to go through and check all the boxes. (This role is usually for developers, or people who setting up the site for others to use).
<img width="2504" alt="Screen Shot 2021-05-25 at 10 32 50 AM" src="https://user-images.githubusercontent.com/397895/119542675-a9418000-bd44-11eb-874b-a764281d824e.png">
Civi creates a LOT of new permissions, so it's more painful to correct this issue with Civi permissions than for pretty much any other module.https://lab.civicrm.org/dev/backdrop/-/issues/65install error CiviCRM 5.36.1 on BACKDROP 1.83 via MAMP 6.3 PHP 7.4.122022-10-21T07:36:28Zbgminstall error CiviCRM 5.36.1 on BACKDROP 1.83 via MAMP 6.3 PHP 7.4.12*Created by: punkyard*
Hi, after first and fresh install of backdrop, i copied CiviCRM folder in modules
no error during set up
but: no page will be displayed (SAFARI and EPIC (chrome-like) macos 10.14.6) except the admin page
"
Page no...*Created by: punkyard*
Hi, after first and fresh install of backdrop, i copied CiviCRM folder in modules
no error during set up
but: no page will be displayed (SAFARI and EPIC (chrome-like) macos 10.14.6) except the admin page
"
Page non trouvée
Ajouter une redirection d'URL de cette page vers un autre emplacement
Vous êtes ici : Accueil
La page demandée "/backdrop183/backdrop183/civicrm/a/" n'a pas pu être trouvée.
"
I found in line 234 that the root folder is doubled :
if (!defined('CIVICRM_UF_BASEURL')) {
define( 'CIVICRM_UF_BASEURL' , 'https://domain.net/bkd/bkd'); <<< here bkd/bkd, instead of just one bkd, (domain.net/bkd/)
I'm posting this issue on the advice of @laryn, from Mattermost forumhttps://lab.civicrm.org/dev/backdrop/-/issues/63Source files location should not include "sites/all" for Backdrop2022-10-21T07:36:41ZbgmSource files location should not include "sites/all" for Backdrop*Created by: jenlampton*
I am trying to get Civi installed on Backdrop and just ran into the problem of the `cv` command looking for the civi module in `sites/all/modules` but in backdrop the contrib modules are located in `modules` unl...*Created by: jenlampton*
I am trying to get Civi installed on Backdrop and just ran into the problem of the `cv` command looking for the civi module in `sites/all/modules` but in backdrop the contrib modules are located in `modules` unless it is a multi-site installation. Is there a way for the backdrop version to add an additional location to the places the installer checks for civi?
(and should this request belong in the cv queue, or is this the correct loaction?)https://lab.civicrm.org/dev/backdrop/-/issues/68Civi won't install when module placed in "best practices" location of `module...2022-10-21T07:37:19ZbgmCivi won't install when module placed in "best practices" location of `modules/contrib`*Created by: jenlampton*
Civi will only install when placed directly in the root of the `modules` directory. None of the documentation or on-screen instructions include any warnings or indications that the placement of Civi files on dis...*Created by: jenlampton*
Civi will only install when placed directly in the root of the `modules` directory. None of the documentation or on-screen instructions include any warnings or indications that the placement of Civi files on disk need to be treated any differently than usual.
A "best practices" Drupal or Backdrop set-up includes at least two directories within `modules`: `contrib` and `custom`. More complex set-ups can have others.
Multi-site Drupal and Backdrop installations get even more complicated, with modules in all kinds of various locations, sometimes shared between sites, sometimes only offered or a single site. Because of all these various different ways to run Backdrop and Drupal sites, the location of the files on disk should not be a factor.
Both CMSes provide utility functions (`backdrop_get_path()` or `drupal_get_path()`) that will allow any add-on to to be located at run-time. These should be used instead of assuming a specific location.https://lab.civicrm.org/dev/backdrop/-/issues/54drush ci load_generated_data always true if flag present2022-10-21T07:38:27Zbgmdrush ci load_generated_data always true if flag present*Created by: tabroughton*
When reading the description for the civicrm-install drush command the flag load_generated_data is stated to default to FALSE - this suggests that setting the flag to TRUE will generate the data (and it does).
...*Created by: tabroughton*
When reading the description for the civicrm-install drush command the flag load_generated_data is stated to default to FALSE - this suggests that setting the flag to TRUE will generate the data (and it does).
However, setting any value against load_generated_data will also load the data, in fact just having the flag present when running the command will generate the data. This isn't terrible but it doesn't match the other flag settings which all accept a value. Also the description suggests setting the value to FALSE would not load the data but it does.
I suggest being able to set true or false explicitly (where false is default if not present) would be the better solution here.https://lab.civicrm.org/dev/backdrop/-/issues/49installing via composer2022-10-21T07:38:47Zbgminstalling via composer*Created by: tabroughton*
I'm trying to automate an installation of civicrm into backdrop and I'm using composer for all my other php libraries and frameworks. I see civicrm-core is available in [packagist](https://packagist.org/packag...*Created by: tabroughton*
I'm trying to automate an installation of civicrm into backdrop and I'm using composer for all my other php libraries and frameworks. I see civicrm-core is available in [packagist](https://packagist.org/packages/civicrm/civicrm-core) but no backdrop version.
What's the best way to do this please?https://lab.civicrm.org/dev/backdrop/-/issues/46CMS database integration code incorrect?2022-10-21T07:39:02ZbgmCMS database integration code incorrect?*Created by: laryn*
The code generated in the CMS database integration section is as follows:
> $database_prefix = array(
'default' => '',
I was having some trouble getting this working on a new site and after some time ended up com...*Created by: laryn*
The code generated in the CMS database integration section is as follows:
> $database_prefix = array(
'default' => '',
I was having some trouble getting this working on a new site and after some time ended up comparing to an older site that I set this up on previously, which has this format:
> $databases['default']['default']['prefix']= array(
'default' => '',
Once I changed that format, the Views integration started working for me.
I'm not sure if that changed recently or if I just figured out the needed changes earlier and forgot to file a ticket... but should we update that code to the other format, or is the existing code working for others?https://lab.civicrm.org/dev/backdrop/-/issues/45civicrm.config.php cannot find settings when multisite is enabled2022-10-21T07:39:16Zbgmcivicrm.config.php cannot find settings when multisite is enabled*Created by: jonhalle*
I was having a problem that extern.php could not locate civicrm.config.php
Looking at civicrm.config.php.backdrop it contains a mechanism to find civicrm.settings.php in a multisite setup.
```
// Alias could b...*Created by: jonhalle*
I was having a problem that extern.php could not locate civicrm.config.php
Looking at civicrm.config.php.backdrop it contains a mechanism to find civicrm.settings.php in a multisite setup.
```
// Alias could be defined in sites/sites.php
if (file_exists($confdir . "/sites.php")) {
include $confdir . "/sites.php";
}
```
but it has a minor error - as the comment says, the sites.php is located in the sites subdirectory so looking for it in the $confdir does not work.
A really ugly workaround is to create a couple of symlinks from the backdrop root directory to the sites subdirectory
```
ln -s sites/sites.php sites.php
ln -s sites/my-site-name my-site-name
```
Alternatively the code ought to say:
```
// Alias could be defined in sites/sites.php
if (file_exists($confdir . "sites/sites.php")) {
include $confdir . "sites/sites.php";
}
```
This also requires a change later in the file to again explicitly add the 'sites' dir with a
```
if (isset($sites[$dir]) && file_exists($confdir.'sites/'."{$sites[$dir]}/civicrm.settings.php")) {
$conf = $confdir.'sites/'."{$sites[$dir]}";
return $conf;
}
```
Looks like the D7 code also needs a change here as I think Drupal 7 and Backdrop define sites in the same place.
The code in question goes back to 2015:
https://github.com/civicrm/civicrm-drupal/pull/327/files#diff-2052e8c39d1751b7d68bc909f7962cb7
Presumably it worked then on Drupal - possibly only on sites with symlinks in place as described above. Very possibly not many people use Backdrop or Drupal in multisite mode with CiviCRM, which might be why this has not been an issue for others.https://lab.civicrm.org/dev/core/-/issues/863Functionality of Remove Case Role activity type is messed up2022-10-23T16:00:50ZDaveDFunctionality of Remove Case Role activity type is messed upI think it's been like this for a few years. I can look into it later but recording here for reference. Examples of stuff below, and I can reproduce on dmaster.demo.
1. In the case roles section on manage case, click the trash can icon ...I think it's been like this for a few years. I can look into it later but recording here for reference. Examples of stuff below, and I can reproduce on dmaster.demo.
1. In the case roles section on manage case, click the trash can icon at the end of a row to remove a case role. It does remove the role, but there's supposed to be a Remove Case Role activity filed on the case.
2. In the Other Relationships section on manage case, add a new relationship. It gets correctly added but adds a Remove Case Role activity to the case. Besides being the wrong activity, no activity should be added here since that add button is just a shortcut to adding a regular relationship in the usual way, that exists outside of the life of the case.https://lab.civicrm.org/dev/core/-/issues/3930Managed entity: creating custom fields with same label causes fatal error bec...2022-10-24T09:18:16ZherbdoolManaged entity: creating custom fields with same label causes fatal error because of db index.Overview
----------------------------------------
It seems a bit over the top to have fatal errors when custom field labels are not unique. This would (likely) only appear if someone had a managed entity for the custom field. Or if they...Overview
----------------------------------------
It seems a bit over the top to have fatal errors when custom field labels are not unique. This would (likely) only appear if someone had a managed entity for the custom field. Or if they were using the API directly.
Example use-case
----------------------------------------
1. Create a custom group. Add a custom field.
2. Go to API4, choose CustomField, create. Create a new custom field with the same label.
Current behaviour
----------------------------------------
> DB Error: already exists
Proposed behaviour
----------------------------------------
Remove the index from the database for the label. The custom field index on the name should be enough. The UI will still have validation to prevent duplicate labels, but that's necessary because there's no way to specify the label and name separately in the UI.https://lab.civicrm.org/dev/backdrop/-/issues/37Warnings when using Webform CiviCRM with "Checkboxes (live)" widget2022-10-24T21:33:01ZbgmWarnings when using Webform CiviCRM with "Checkboxes (live)" widget*Created by: laryn*
Follow-up issue from https://github.com/civicrm/civicrm-backdrop/issues/55
When testing `webform_registration`, I see these in the log (the pair of warnings is in there twice, actually):
`Warning: array_keys() expe...*Created by: laryn*
Follow-up issue from https://github.com/civicrm/civicrm-backdrop/issues/55
When testing `webform_registration`, I see these in the log (the pair of warnings is in there twice, actually):
`Warning: array_keys() expects parameter 1 to be array, string given in CRM_Core_BAO_CustomGroup::postProcess() (line 1539 of /path/modules/civicrm/CRM/Core/BAO/CustomGroup.php).`
`Warning: implode(): Invalid arguments passed in CRM_Core_BAO_CustomGroup::postProcess() (line 1541 of /path/modules/civicrm/CRM/Core/BAO/CustomGroup.php).`https://lab.civicrm.org/dev/core/-/issues/3902Upgrade to 5.54 failed with missing field is_template in table civicrm_user ...2022-10-24T21:42:07ZAndy ClarkUpgrade to 5.54 failed with missing field is_template in table civicrm_user _jobUpgrade to 5.54 from 5.53 failed. Please [this SE ](https://civicrm.stackexchange.com/questions/42771/upgrade-to-5-54-failed) for details.Upgrade to 5.54 from 5.53 failed. Please [this SE ](https://civicrm.stackexchange.com/questions/42771/upgrade-to-5-54-failed) for details.https://lab.civicrm.org/dev/backdrop/-/issues/41Clean URLs not working for civicrm after install in lando - works for backdro...2022-10-25T11:44:56ZbgmClean URLs not working for civicrm after install in lando - works for backdrop routes*Created by: ttrezren*
[I opened an issue on lando](https://github.com/lando/lando/issues/1546), though it may not be a lando bug. Visiting /civicrm after a successful backdrop and civicrm install, I get 404 not found. Same on any civic...*Created by: ttrezren*
[I opened an issue on lando](https://github.com/lando/lando/issues/1546), though it may not be a lando bug. Visiting /civicrm after a successful backdrop and civicrm install, I get 404 not found. Same on any civicrm pages. Backdrop pages work fine. Civicrm works if I turn off clean URLs.https://lab.civicrm.org/dev/backdrop/-/issues/32Ensure drush works with Backdrop version of drush2022-10-25T11:45:12ZherbdoolEnsure drush works with Backdrop version of drushhttps://lab.civicrm.org/dev/core/-/issues/3900Proposal: Check mailings for fixed personalization (without tokens) before su...2022-10-25T11:46:58ZlarsssandergreenProposal: Check mailings for fixed personalization (without tokens) before submittingSometimes, people copy a link that was personalized to them with cid and cs and insert it into a mailing (i.e. with their contact ID and checksum instead of the appropriate tokens), then they send out a personalized link for their contac...Sometimes, people copy a link that was personalized to them with cid and cs and insert it into a mailing (i.e. with their contact ID and checksum instead of the appropriate tokens), then they send out a personalized link for their contact to a large group of people.
In order to prevent this, we could check for URLs that include something in the form of a checksum plus cid=integer or cid1=integer (this will support Webform CiviCRM too). Optionally, we could even validate the checksum, but that seems overkill. I think this would make the most sense at submission time, to keep things simple with Mosaico and Traditional mailings.
I'm not sure what the best way to handle the UI for this is. An error that prevents sending seems too strong, but just a warning while still submitting seems too weak. Is there a better UI solution for this?https://lab.civicrm.org/dev/core/-/issues/3899Creating a cms user account from a civi org contact converts the org contact ...2022-10-25T11:47:42ZDaveDCreating a cms user account from a civi org contact converts the org contact into an individualThis might be drupal 9 only - it seems ok in drupal 7 but haven't tried any others.
While there have been arguments that [corporations are people](https://www.npr.org/2014/07/28/335288388/when-did-companies-become-people-excavating-the-...This might be drupal 9 only - it seems ok in drupal 7 but haven't tried any others.
While there have been arguments that [corporations are people](https://www.npr.org/2014/07/28/335288388/when-did-companies-become-people-excavating-the-legal-evolution), with some comedy side-benefits, either:
* a civi org contact should stay an org contact when a cms user is created for it (using the actions dropdown on the contact summary - create user record),
* the action shouldn't be allowed
Since it seems to have worked in drupal 7, probably the first one.https://lab.civicrm.org/dev/core/-/issues/3898CiviCRM log triggers don't fire on CASCADE DELETE2022-10-25T11:48:10ZbrienneCiviCRM log triggers don't fire on CASCADE DELETEOverview
----------------------------------------
When there is a CASCADE DELETE on an entity record, it does not trigger the CiviCRM log for the records (such as from a custom field attached to an entity) that are deleted as a result of...Overview
----------------------------------------
When there is a CASCADE DELETE on an entity record, it does not trigger the CiviCRM log for the records (such as from a custom field attached to an entity) that are deleted as a result of the cascade. This behavior makes it difficult to restore custom data from the log tables when the entity it was attached to is deleted and then needs to be restored.
Reproduction steps
----------------------------------------
1. Create a custom field to be *Used For* Grants (**Administer > Custom data and Screens > Custom Fields > Add Set of Custom Fields**)
1. Create a new Grant record and be sure to fill out the custom field(s) (**CiviGrant > New Grant**)
1. Delete the grant record (**CiviGrant Dashboard > View > Delete**)
1. View the log table of the custom field and you will note that there is no delete log_action on the custom field in question
* If using the command line or a SQL editor like DBeaver, you can use the following command to note the lack of the delete action from the custom field civicrm_log table. (*Be sure to change tablename to the actual log table's name*).
```sql
SELECT id, log_date, log_action FROM tablename;
Current behaviour
----------------------------------------
If a record is deleted as a result of a CASCADE DELETE, then the action is not logged in the applicable civicrm_log table.
Expected behaviour
----------------------------------------
The log triggers should fire on records that are deleted, even if as a result of a CASCADE DELETE.
Comments
----------------------------------------
This issue has been previously noted on this [post](https://stackoverflow.com/questions/26328570/on-delete-cascade-not-firing-trigger) on Stack Overflow.https://lab.civicrm.org/dev/core/-/issues/3895SK/FB: Labelling a SK Form Builder form identically to a packaged search over...2022-10-25T11:48:33ZJonGoldSK/FB: Labelling a SK Form Builder form identically to a packaged search overwrites itIf you create two Search Forms with the same label, the machine name of the second one will automatically be changed. Eg. two forms labelled "Example" will create `afSearchExample` and `afSearchExample1`.
However, if one of the forms i...If you create two Search Forms with the same label, the machine name of the second one will automatically be changed. Eg. two forms labelled "Example" will create `afSearchExample` and `afSearchExample1`.
However, if one of the forms is a packaged form, this is NOT true.
### Steps to Replicate
* Enable an extension that provides a packaged SK form (e.g. CiviGrant provides `afSearchGrants`.
* Create a minimal Search Kit search.
* Create a form from that search and name it `Grants`.
### Expected Result
The new FB form is named `afSearchGrants1` and is separate from the packaged FB search form.
### Actual Result
The new FB form is named `afSearchGrants` and replaces the old form. You can't revert this without CLI access to rename the `.html` and `.json` files in `[civicrm.files]/ang`.
This came about when a client created a new FB search form and named it "Grants", causing their Grants tab to disappear.
I suspect that the naming behavior looks at other files in the same folder, and appends the `1` if it finds a file of the same name. It should be comparing against all `.aff.*` files. It should provide a warning that you're going to replace a core FB form.https://lab.civicrm.org/dev/core/-/issues/3891Show ical and Google Calendar links for non-public events2022-10-25T11:50:06ZlarsssandergreenShow ical and Google Calendar links for non-public eventsCurrently, the Download iCalendar entry for this event and Add event to Google Calendar links only appear in event confirmation emails, on the event confirmation page and on the event info page if the event is public.
But if someone has...Currently, the Download iCalendar entry for this event and Add event to Google Calendar links only appear in event confirmation emails, on the event confirmation page and on the event info page if the event is public.
But if someone has registered for an event, they should be able to add that event to their calendar regardless of whether it is public or not. The event info page can also include these links as the calendar links contain the same information as is already found on the page.
For reference, the help text for Public Event says: "When enabled, this event will be included in iCalendar feeds and displayed on your site's "Upcoming Events" block." So there shouldn't be any expectation that we're hiding calendar links for non-public events as this settings controls only calendar _feeds_. Can't see any reason we'd want to hide calendar links, in any case.
Turns out the links fail when the event is non-public, so I'll have to fix that first.https://lab.civicrm.org/dev/core/-/issues/3890Proposal: Rebuild smart group cache for specific smart groups included in mai...2022-10-25T11:50:42ZlarsssandergreenProposal: Rebuild smart group cache for specific smart groups included in mailing at scheduling timeIdeally, the recipients of a mailing with smart groups should be as up to date as possible when the mailing is scheduled. Currently, a cached version of the smart group is used to build the list of recipients, leading to potentially out ...Ideally, the recipients of a mailing with smart groups should be as up to date as possible when the mailing is scheduled. Currently, a cached version of the smart group is used to build the list of recipients, leading to potentially out of date recipients.
Can we just rebuild the smart group cache for the specific smart groups included in a mailing at scheduling time? Is there significant risk to doing so?
@eileen, I understand you're the expert on this.