Feature request issueshttps://lab.civicrm.org/community/feature-request/-/issues2018-07-24T10:49:26Zhttps://lab.civicrm.org/community/feature-request/-/issues/3"is_visible" flag on CustomGroup and/or CustomField entities2018-07-24T10:49:26ZJonGold"is_visible" flag on CustomGroup and/or CustomField entitiesWith the introduction of "custom fields on any entity" (CRM-21140), we now have a means to extend the data model in new and exciting ways.
One downside compared to core fields is that custom fields are always added to relevant forms, wh...With the introduction of "custom fields on any entity" (CRM-21140), we now have a means to extend the data model in new and exciting ways.
One downside compared to core fields is that custom fields are always added to relevant forms, whereas core fields are added only when applicable.
I'd like to propose that we add a "is_visible" boolean to the CustomField table, set to (and defaulting to) TRUE on all existing fields. This would allow developers to create fields that they don't necessarily want to make public.
I've thought of several use cases for this in the past, but the one that comes to mind now is the OSDI extension. To handle 2-way sync between multiple sources, it's important to keep a record of the foreign system's primary key for that entity. However, this is unnecessary clutter on the user's record.
I can also see the argument that CustomGroup, not CustomField, could have the "is_visible" flag set instead. However, I don't see any downside to having the finer granularity. I could also see the argument to adding it to both - this eliminates the problem of detecting CustomGroups with no visible custom fields inside.https://lab.civicrm.org/community/feature-request/-/issues/2Exclude shared addresses from contact dedupe2018-05-09T13:46:22ZDaniƫl van VuurenExclude shared addresses from contact dedupeNow it is not possible. We have a lot of shared addresses between contacts (not between a household and a contact).
How to reproduce:
1. Log in on http://dmaster.demo.civicrm.org/
2. Go to http://dmaster.demo.civicrm.org/civicrm/contact...Now it is not possible. We have a lot of shared addresses between contacts (not between a household and a contact).
How to reproduce:
1. Log in on http://dmaster.demo.civicrm.org/
2. Go to http://dmaster.demo.civicrm.org/civicrm/contact/deduperules?reset=1&action=browse
3. Add a dedupe rule http://dmaster.demo.civicrm.org/civicrm/contact/deduperules?action=add&contact_type=Individual&reset=1
* Name: test_\<username\>
* Usage: General
* Field: Street Address, "", 1
* Field: Postal Code, "", 1
* Field: Country, "", 1
* Threshold: 3
4. Use the rule on all contacts
"Expected" result: It blindly finds all duplicate addresses.
The result I need: It only finds the real duplicates: the ones that are really unique (not the ones that are shared).
Possible fix:
```php
After line 95 in CRM/Dedupe/BAO/Rule.php insert:
$where[] = 't1.master_id IS NULL';
$where[] = 't2.master_id IS NULL';
```
Implementers workaround: Does not work. Adding the field "Master Address Belong To" to dedupe fields only shows results of contacts where the master_id of its address is not empty. I assumed empty == empty in dedupe...