Development issueshttps://lab.civicrm.org/groups/dev/-/issues2018-07-26T18:37:56Zhttps://lab.civicrm.org/dev/core/-/issues/282create export function for gdpr data portability right2018-07-26T18:37:56ZIan Kellingcreate export function for gdpr data portability rightAnyone who subscribes to a civi mailing list from europe has this right. Basically any code you write at all will work better than manually copy/pasting data to create a csv file, which is what I'm doing right now.Anyone who subscribes to a civi mailing list from europe has this right. Basically any code you write at all will work better than manually copy/pasting data to create a csv file, which is what I'm doing right now.https://lab.civicrm.org/dev/core/-/issues/2131New deprecation Warning alternative2021-01-03T23:19:01ZeileenNew deprecation Warning alternativeWe were adding CRM_Core_Error::deprecationWarning to code that we wanted to be avoided. It was discussed in matter-most that it was a bit inaccurate so the bar for deprecating code became that we had to agree a new function first.
I pre...We were adding CRM_Core_Error::deprecationWarning to code that we wanted to be avoided. It was discussed in matter-most that it was a bit inaccurate so the bar for deprecating code became that we had to agree a new function first.
I pretty much stopped deprecating code after that but the deprecation process has been really helpful and the helper is much more grepable - in the meantime I'll switch back to
Civi::log()->warning("$className needs to be regenerated. Missing getEntityTitle method.", ['civi.tag' => 'deprecated']);5.34.0https://lab.civicrm.org/dev/core/-/issues/283Unsubscribe should delete or anonymize personal data when that consent was th...2019-01-10T14:19:38ZIan KellingUnsubscribe should delete or anonymize personal data when that consent was the only reason we had itRepro:
1. Someone subscribes to a mailing list through civi and a new contact is created.
2. We send them an email.
3. They unsubscribe (we've had no other reason to have their personal data in the meantime).
Expected:
Their name, ema...Repro:
1. Someone subscribes to a mailing list through civi and a new contact is created.
2. We send them an email.
3. They unsubscribe (we've had no other reason to have their personal data in the meantime).
Expected:
Their name, email, and any other personal data they input when they subscribed is anonymized or deleted.
Actual:
Their personal data is kept in civi.
This is an very clear cut case of violating the GDPR, since GDPR does not allow you to "process" (which includes storing in mysql) personal data that was based on consent after the consent is revoked.https://lab.civicrm.org/dev/user-interface/-/issues/34Use of <th> tags for labels on Contribution Ammounts tab gives them unique st...2020-10-23T16:47:09ZnicolUse of <th> tags for labels on Contribution Ammounts tab gives them unique stylingAs identified here https://lab.civicrm.org/extensions/finsburypark/-/issues/2 - the Ammounts tab in the Contribution page config screen sets the labels as `<th>` which can pick up styling from the admin theme and the rest of Civi, for e....As identified here https://lab.civicrm.org/extensions/finsburypark/-/issues/2 - the Ammounts tab in the Contribution page config screen sets the labels as `<th>` which can pick up styling from the admin theme and the rest of Civi, for e.g. on Drupal 7 with Seven admin theme, the labels appear in caps. On other tabs the labels appear
File:
https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Contribute/Form/ContributionPage/Amount.tpl
Example - Drupal with Seven Admin theme
![image](/uploads/0ae39fa25d69469ffef1fceeaa6276ba/image.png)
Joomla
![image](/uploads/d05305e94a9ba2f822f8bf28cec69fff/image.png)
Wordpress
![image](/uploads/430b17cefb986cda377c22a75627af47/image.png)
Display in other tabs
![image](/uploads/3268514d100433e75bf52f7bed7fee56/image.png)
Quickest fix would be to remove the `<th>`.5.32.0https://lab.civicrm.org/dev/core/-/issues/284Aggressive cache clearing significantly increases test time2018-08-01T19:25:15ZtottenAggressive cache clearing significantly increases test timeThe test suites are significantly slower in Civi 5.4.beta1/5.5.alpha1 than in 5.3. (*Ballpark: +1hr*.) One might speculate that this stems from high contention for CI resources, additional tests, and/or generic changes in the framework/p...The test suites are significantly slower in Civi 5.4.beta1/5.5.alpha1 than in 5.3. (*Ballpark: +1hr*.) One might speculate that this stems from high contention for CI resources, additional tests, and/or generic changes in the framework/process. While the first two may also be factors, I've [run the test suites in isolation](https://github.com/totten/civi-test-bench-18) and found a clear [across-the-board slowdown (Jul 24 dataset)](https://docs.google.com/spreadsheets/d/1ktf5cd3LMrk_Keg4kgDIEr4-rL3ZIbDDzGHCI09-mOA/edit?usp=sharing) causing many test runtimes to grow by double (or more). For example, when running `api_v3_SyntaxConformanceTest` on an isolated system (no CPU/RAM contention), the time increased from 251s (v5.3) to 936s (v5.4.beta1) even while the #test-functions and #entities remained flat.
Focusing on one specific example (`api_v3_UtilsTest`; increased from ~1s to ~7s), I used `git bisect` to track the cause to 5aac553c8b88be9d7fb8ab568a923a3301fea4b2 from [12331](https://github.com/civicrm/civicrm-core/pull/12331) and dev/core#174 -- in particular, the biggest impact comes from adding `CRM_Extension_System::singleton()->getCache()->flush()` (+~5s), although there's also observable impact from `Civi::cache('settings')->flush();` (+~1s).
In discussing 12331, one of the major concerns was "How do we make `CRM_Utils_System::flushCache()` behave the same as before?" 5aac553 tried to do this, but it actually was a bit more aggressive. To see this, it helps to fully describe the behavior -- in each configuration, what's the impact on each cache?
* __(OLD) Behavior circa 5.3.x__ -- `CRM_Utils_System::flushCache()` calls `CRM_Utils_Cache::singleton()->flush()` which has a cascading effect on other caches.
* __(DEFAULT) Default configuration using ArrayCache+SQL table__
* `CRM_Utils_Cache` - Destroys the general `ArrayCache`, which is used as the front-cache for several others.
* `CRM_Core_BAO_Cache`: Due to `CRM_Utils_Cache` flush, the front-caches are flushed, but the underlying SQL caches are preserved.
* `settings`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL cache.)
* `js_strings`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL cache.)
* `community_messages`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL cache.)
* `CRM_Extension_System::$cache`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL cache.)
* `CiviCxnHttp`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL.)
* __(MEM) Alternative Memcache/Redis configuration__
* `CRM_Utils_Cache` - Flushes *everything* in memory-backed cache.
* `CRM_Core_BAO_Cache`: Destroys the memory-backed front-cache but preserves the underlying SQL cache.
* `settings`: Completely flushed. (Due to `CRM_Utils_Cache` flush.)
* `js_strings`: Completely flushed. (Due to `CRM_Utils_Cache` flush.)
* `community_messages`: Completely flushed. (Due to `CRM_Utils_Cache` flush.)
* `CRM_Extension_System::$cache`: Completely flushed. (Due to `CRM_Utils_Cache` flush.)
* `CiviCxnHttp`: Same as `CRM_Core_BAO_Cache`. (Flush memory-backed front-cache, but keep underlying SQL cache.)
* __(NEW) Behavior circa 5.4.beta1/5.5.alpha1__ -- `CRM_Utils_System::flushCache()` calls several individual flush functions
* __(DEFAULT) Default configuration using ArrayCache+SQL table__
* `CRM_Core_BAO_Cache`: Due to `CRM_Utils_Cache` flush, the front-caches are flushed, but the underlying SQL caches are preserved.
* `settings`: Completely flushed. (Due to explicit call.)
* `js_strings`: Completely flushed. (Due to explicit call.)
* `community_messages`: Completely flushed. (Due to explicit call.)
* `CRM_Extension_System::$cache`: Completely flushed. (Due to explicit call.)
* `CiviCxnHttp`: Completely flushed. (Due to explicit call.)
* __(MEM) Alternative Memcache/Redis configuration__
* `CRM_Core_BAO_Cache`: Due to `CRM_Utils_Cache` flush, the front-caches are flushed, but the underlying SQL caches are preserved.
* `settings`: Completely flushed. (Due to explicit call.)
* `js_strings`: Completely flushed. (Due to explicit call.)
* `community_messages`: Completely flushed. (Due to explicit call.)
* `CRM_Extension_System::$cache`: Completely flushed. (Due to explicit call.)
* `CiviCxnHttp`: Completely flushed. (Due to explicit call.)
With that data, how we would describe both the original intent of 5aac553 ... and it's unintended consequence in this issue?
* During the development of 5.4.alpha1, we looked at the behavior of OLD-MEM and intended to keep the behavior the same. Thus, we have NEW-MEM which is basically the same as OLD-MEM.
* NEW-DEFAULT, NEW-MEM, and OLD-MEM are basically the same. But NEW-DEFAULT and OLD-DEFAULT are different.
* In running unit-tests, one flushes the caches frequently. The behavior of OLD-DEFAULT (where it *only* flushes front-caches... but generally preserves underlying caches) performs better for unit-tests. The behavior of NEW-DEFAULT/NEW-MEM/OLD-MEM does not perform as well.https://lab.civicrm.org/dev/user-interface/-/issues/35Support mobile devices on public forms2021-04-07T14:15:10ZbgmSupport mobile devices on public formsI finally got my hands on one of those mobile devices, which I noticed people were using when they go outside, or sit on their couch, or when they don't have access to a personal computer, such as those found at the library or in science...I finally got my hands on one of those mobile devices, which I noticed people were using when they go outside, or sit on their couch, or when they don't have access to a personal computer, such as those found at the library or in science labs.
When I tried to use a donation form, the default CiviCRM form looked like this:
![mobile-before-2021-04-05_09-42](/uploads/59c76301bc2701b7588cfcaad12a15b0/mobile-before-2021-04-05_09-42.png)
This seems rather difficult to read.
I know real hackers can write CSS, but maybe we can fix this in the default CiviCRM installation?5.37.0https://lab.civicrm.org/dev/core/-/issues/285Scheduled Reminders for Membership not being sent2019-07-12T03:35:58ZMickCScheduled Reminders for Membership not being sentMembership reminders are not being sent - 2 probable causes found:
1. civicrm_action_log records for the same reminder 1 year ago
2. Status Override is checked
When either of the above conditions exist, the reminder is not sent.
Whe...Membership reminders are not being sent - 2 probable causes found:
1. civicrm_action_log records for the same reminder 1 year ago
2. Status Override is checked
When either of the above conditions exist, the reminder is not sent.
When neither of the above conditions exist, the reminder is sent.
When corrective action is taken to remove past civicrm_action_log records and remove any override, the reminder is sent.
Environment:
* CiviCRM 4.7.29
* Extension 'Transactional Email' is installed5.17.0https://lab.civicrm.org/dev/core/-/issues/2518Upgrade issues - [shipped-with-core] extensions not upgrading2023-11-12T05:03:26ZeileenUpgrade issues - [shipped-with-core] extensions not upgradingI just upgraded a wordpress site to 5.37 & hit an issue where the upgrade script didn't run the extension upgrade and I didn't seem to be able to run the page to run the extension upgrade due to it not having run. I assume this was a sea...I just upgraded a wordpress site to 5.37 & hit an issue where the upgrade script didn't run the extension upgrade and I didn't seem to be able to run the page to run the extension upgrade due to it not having run. I assume this was a search-kit or afform change causing the issue.
I wound up running the upgrade through api explorer 3 - but it might impact others? Perhaps @kcristiano can test
Part of the problem was that recaptcha was missing from the tarball but that has a MOP PR now
@totten @colemanw @seamusleehttps://lab.civicrm.org/dev/core/-/issues/286Custom field of type checkbox or Multi-select not rendered properly on reports2018-11-05T03:39:31ZPradeep Nayakpradpnayak@gmail.comCustom field of type checkbox or Multi-select not rendered properly on reports![CustomField-Before](/uploads/039620294ed8447242c8edf742c86602/CustomField-Before.gif)
CiviCRM Version - 4.6.38
Fix Version - 4.6.39
PR - https://github.com/civicrm/civicrm-core/pull/12581![CustomField-Before](/uploads/039620294ed8447242c8edf742c86602/CustomField-Before.gif)
CiviCRM Version - 4.6.38
Fix Version - 4.6.39
PR - https://github.com/civicrm/civicrm-core/pull/12581https://lab.civicrm.org/dev/core/-/issues/287Child groups with all parents disabled shows in group list2018-11-09T00:32:42ZmadhaviChild groups with all parents disabled shows in group listI'am currently using Civicrm version 5.3.1 with drupal 7.59.
Steps to replicate:
1. Create one group, parent A.
2. Create a one group, child A and assign parent A group created above as parent.
3. Disable parent A group.
4. Go to conta...I'am currently using Civicrm version 5.3.1 with drupal 7.59.
Steps to replicate:
1. Create one group, parent A.
2. Create a one group, child A and assign parent A group created above as parent.
3. Disable parent A group.
4. Go to contacts->manage groups. You are unable to see both parent and child groups.
5. Click on any search criteria. Unclick it. You can see the child A group with title as Child A Child of: With null value for parent
![grp](/uploads/68ad5d2a88e11fda53e63b1512868e13/grp.png)
**How it works currently:** If a child group has multiple parent groups and one of them is disabled, the child group should to show up on group selector lists. This has been fixed here https://issues.civicrm.org/jira/browse/CRM-20934.
If all parent group(s) are disabled the child group still shows up in search mode.
**How it should work:** If a child group has multiple or single parent group and all of them are disabled, should the child group be removed from the selector lists.
For more insights please see the discussion on stack exchange here https://civicrm.stackexchange.com/questions/25855/child-groups-with-all-parents-disabled-shows-in-group-list5.8https://lab.civicrm.org/dev/core/-/issues/288Use the correct membership date for the notification that appear after comple...2019-04-01T21:27:31Zomar_compucorpUse the correct membership date for the notification that appear after completing the membership payment in case pre hook is usedSuppose you have an extension that implements **hook_civicrm_pre** on membership entity that add 1 year (or whatever amount of time) to the membership new end date whenever someone completed a pending payment for the membership, Based on...Suppose you have an extension that implements **hook_civicrm_pre** on membership entity that add 1 year (or whatever amount of time) to the membership new end date whenever someone completed a pending payment for the membership, Based on this assume the following example :
1- You created a pending membership starts today (27/7/2018) and ends in 1 year (26/7/2019).
2- You changed this membership payment (contribution) from "pending" to "completed".
Now without the hook implementation as explained above, the following message will appear :
```
the contribution record has been saved.
Membership for "CONTACT NAME" has been updated. The membership End Date is July 26th, 2019.
```
and the membership status will be change from Pending to New, And the end date of the membership will be similar to the one shown in the notification message which is 26/7/2019 which is all good.
But when you have the pre hook implemented as suggest above, the membership end date will be 26/7/2020 (since the hook add one year to the end date) but the notification message will still indicate the old end date which is 26/7/2019. This is wrong and the notification message should show the correct end date that reflects the membership actual end date.5.13.0https://lab.civicrm.org/dev/core/-/issues/289CiviCase Dashboard link to edit an activity status broken2018-11-09T20:25:39ZGMCVO DatabasesCiviCase Dashboard link to edit an activity status brokenThere is a bug with the CiviCase dashboard
When you click to edit the case activity pencil it crashes with 'required params missing'
Also replicated on the demo site https://dmaster.demo.civicrm.org/civicrm/case?reset=1There is a bug with the CiviCase dashboard
When you click to edit the case activity pencil it crashes with 'required params missing'
Also replicated on the demo site https://dmaster.demo.civicrm.org/civicrm/case?reset=15.5.0https://lab.civicrm.org/dev/core/-/issues/290If locationType name/label are different, for non-billing locations, the cont...2022-09-10T05:03:24ZbgmIf locationType name/label are different, for non-billing locations, the contribution form will not pre-populate known fieldsHow to reproduce:
* Login on https://dmaster.demo.civicrm.org
* Go to the contact record of the demo user, and enter a "Home" address
* https://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=203
* Configure this contrib for...How to reproduce:
* Login on https://dmaster.demo.civicrm.org
* Go to the contact record of the demo user, and enter a "Home" address
* https://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=203
* Configure this contrib form, in Profiles, select the "Name and Address" profile (it includes the 'Home' address):
* https://dmaster.demo.civicrm.org/civicrm/admin/contribute/custom?reset=1&action=update&id=1
* Witness how it will correctly pre-populate the Home address on the contrib form:
* https://dmaster.demo.civicrm.org/civicrm/contribute/transact?reset=1&id=1
![Capture_d_écran_de_2018-07-27_17-50-57](/uploads/aa17899d9a177a0f4b1e482d2308d8fc/Capture_d_écran_de_2018-07-27_17-50-57.png)
That works because the name = label. Let's change the label of the Location Type:
* Change the Location Type label of "Home" to "Home2"
* https://dmaster.demo.civicrm.org/civicrm/admin/locationType?reset=1
* Go back to the contribution form and witness how it does not show the address anymore :-)
![civi-location-types](/uploads/8faf552cccd52706f6c782f72fd60ae8/civi-location-types.png)
![Capture_d_écran_de_2018-07-27_17-52-23](/uploads/97e1f638b9a92c80c06aa63526a58140/Capture_d_écran_de_2018-07-27_17-52-23.png)
:tada: :grimacing:https://lab.civicrm.org/dev/core/-/issues/291Allow password field sizes to be set in props a la text fields2018-07-30T00:43:07ZseamusleeAllow password field sizes to be set in props a la text fieldshttps://lab.civicrm.org/dev/core/-/issues/292Search builder stops working after 5.3.1 (due accents on custom set fields ti...2019-02-05T22:12:59ZfrancescbassasSearch builder stops working after 5.3.1 (due accents on custom set fields titles)After 5.3.1 upgrade Search Builder jQuery interaction stops working. I could find the reason, seems that custom set title with accents break the Search Builder form.
How to test?
On dmaster go to https://dmaster.demo.civicrm.org/civicrm...After 5.3.1 upgrade Search Builder jQuery interaction stops working. I could find the reason, seems that custom set title with accents break the Search Builder form.
How to test?
On dmaster go to https://dmaster.demo.civicrm.org/civicrm/admin/custom/group?reset=1 and edit a custom set title for example with "Cancelación Suscripción" and save it. Then go to https://dmaster.demo.civicrm.org/civicrm/contact/search/builder?reset=1 and select some -record type- you will notice that no type of operator related to the selected type is suggested.
On the browser console appears this error:
![search-builder-break](/uploads/705047a221ee4fce997ade35a44e645d/search-builder-break.png)5.5.0https://lab.civicrm.org/dev/core/-/issues/293Error log is filled with geocoding configuration errors when no provider is set2018-07-30T19:55:41ZtschuettlerError log is filled with geocoding configuration errors when no provider is setIf no geocoding provider is configured, the civicrm log file is flooded with error messages:
```
[error] Configured geocoder is invalid, must provide a format method
Array
(
[geocode_class] =>
)
```If no geocoding provider is configured, the civicrm log file is flooded with error messages:
```
[error] Configured geocoder is invalid, must provide a format method
Array
(
[geocode_class] =>
)
```5.5.0https://lab.civicrm.org/dev/core/-/issues/294Bulk updated primary memberships don't updated related memberhips.2022-09-03T05:03:49ZtommyboboBulk updated primary memberships don't updated related memberhips.When bulk updating from advanced search a set of primary memberships the update of those memberships does trigger the related memberships to update.
To test.
1. Set up a small number of related memberships.
2. Create a profile to upd...When bulk updating from advanced search a set of primary memberships the update of those memberships does trigger the related memberships to update.
To test.
1. Set up a small number of related memberships.
2. Create a profile to update their end date.
3. Search for the primary memberships.
4. Use the profile to add 1 year to each membership.
5. Look up related memberships, they will not have been updated.
Strangely the related membership will have the correct status for the primary membership, but the wrong date.https://lab.civicrm.org/dev/core/-/issues/295Default 'from' mail address is not the default one showing in 'send email'2018-08-27T11:18:09ZjitendraDefault 'from' mail address is not the default one showing in 'send email'SE Post - https://civicrm.stackexchange.com/questions/25562/why-does-the-default-from-email-address-not-show-as-the-first-option-when-usin
If I add a second email address to the list of "from" emails at /civicrm/admin/options/from_email...SE Post - https://civicrm.stackexchange.com/questions/25562/why-does-the-default-from-email-address-not-show-as-the-first-option-when-usin
If I add a second email address to the list of "from" emails at /civicrm/admin/options/from_email_address?reset=1 and set it to default, i expect it to be selected as the first option when using "Send an Email' but it continues to be the second in the list.
If i change the Order of the From emails so my default is first, it continues to show as the second when using "Send an Email' (though perhaps a clear of caches would fix it, but fundamentally something seems wrong here.jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/296api - CustomValue::get - return multiple fields fails via api explorer2018-08-02T09:25:10Ztschuettlerapi - CustomValue::get - return multiple fields fails via api explorerThe API call fails with error message when using the api explorer:
![image](/uploads/142b60a1551c11bf34f32b47bd9ae42e/image.png)
```
{
"is_error": 1,
"error_message": "'name' specified in OR group but not added to params"
}
```...The API call fails with error message when using the api explorer:
![image](/uploads/142b60a1551c11bf34f32b47bd9ae42e/image.png)
```
{
"is_error": 1,
"error_message": "'name' specified in OR group but not added to params"
}
```
The generated PHP-Code however does produces the expected results.https://lab.civicrm.org/dev/core/-/issues/297permission "access my cases and activities" is broken by CRM-214612018-08-28T01:29:10ZDaveDpermission "access my cases and activities" is broken by CRM-21461See https://civicrm.stackexchange.com/questions/25950/problem-with-civicase. CRM_Case_BAO_Case::getCases() used to return a list keyed on case_id. Now it returns a sequentially keyed list. I'm not sure if anything new is depending on the...See https://civicrm.stackexchange.com/questions/25950/problem-with-civicase. CRM_Case_BAO_Case::getCases() used to return a list keyed on case_id. Now it returns a sequentially keyed list. I'm not sure if anything new is depending on the new keys, but since that seems unlikely, replacing "$key" with "$case['case_id']" around line 680 and later instances would fix this?