Make External Identifiers field's addition optional

Created on 19 May 2025, about 1 month ago

Problem/Motivation

The External Identifiers field is in the crm_field module.

The field is automatically added to the Contact Type bundles Individual and Organization by the crm module, which requires the crm_field module. Many/most installs of CRM are unlikely to use this field.

Proposed resolution

  • Move this field to a dedicated module, crm_external_identifiers_field
  • Move the config that adds the field to Contact bundles from crm to the new module
  • Remove crm's dependency on the crm_field module
  • Follow up in πŸ“Œ Remove crm_field module Postponed

Remaining tasks

User interface changes

API changes

Data model changes

πŸ“Œ Task
Status

Active

Version

1.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States jdleonard Austin, TX, USA

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @jdleonard
  • πŸ‡ΊπŸ‡ΈUnited States bluegeek9

    I think this is a duplicate of πŸ“Œ External Identifier field Active

  • πŸ‡ΊπŸ‡ΈUnited States jdleonard Austin, TX, USA

    I missed that issue, but looking at it, it's not clear that it's the same as this. It mentions "Create external crm entity" but is lacking detail. I based this issue off of what's in the 1.0.x branch. Feel free to close one issue if you think it makes sense.

  • πŸ‡ΊπŸ‡ΈUnited States jdleonard Austin, TX, USA

    The current External Identifiers field has a "Source" and an "External ID" for each value.

    CiviCRM has a single "Contact Source" and a single "External ID". The tooltip for Contact Source is "Use this field to store a description of how/why this contact was added to the database. This field is usually auto-filled when a contact is created from a public form i.e. Event Registration."

    That seems to be a different intent than the "Source" defined in CRM's External Identifiers field so I'm double checking what your intent was and whether we should adjust.

    Separately, while I see some value in accommodating external IDs for multiple systems, I wonder whether that would better be accommodated using dedicated fields for each system, which could be provided by relevant integration modules. Should we ditch the External Identifiers field in favor of a simple single value External ID field like Civi has?

  • πŸ‡ΊπŸ‡ΈUnited States bluegeek9

    There is another issue that deal with the external entity field. πŸ“Œ External Identifier field Active

    There is half completed mork in that issue that I need to bring up to the current dev branch.

    In this issue we will remove it as a default field. It will be spun off as it own module in the other issue.

  • Pipeline finished with Skipped
    about 1 month ago
    #509409
  • πŸ‡ΊπŸ‡ΈUnited States bluegeek9
  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024