PHPackages                             thedmsgroup/mautic-extended-field-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. thedmsgroup/mautic-extended-field-bundle

ActiveMautic-plugin[Utility &amp; Helpers](/categories/utility)

thedmsgroup/mautic-extended-field-bundle
========================================

Extends custom fields for scalability and HIPAA/PCI compliance.

3.0.0(5y ago)293.1k24[11 issues](https://github.com/TheDMSGroup/mautic-extended-field/issues)[3 PRs](https://github.com/TheDMSGroup/mautic-extended-field/pulls)GPL-3.0-onlyPHP

Since Feb 7Pushed 4y ago26 watchersCompare

[ Source](https://github.com/TheDMSGroup/mautic-extended-field)[ Packagist](https://packagist.org/packages/thedmsgroup/mautic-extended-field-bundle)[ RSS](/packages/thedmsgroup-mautic-extended-field-bundle/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (1)Versions (57)Used By (0)

Mautic Extended Field [![Latest Stable Version](https://camo.githubusercontent.com/53a2b96f8abc99c2b9ac1cc5f1e49563007e7f8c7a8ec16610f0a9ee1a7505ed/68747470733a2f2f706f7365722e707567782e6f72672f746865646d7367726f75702f6d61757469632d657874656e6465642d6669656c642d62756e646c652f762f737461626c65)](https://packagist.org/packages/thedmsgroup/mautic-extended-field-bundle) [![License](https://camo.githubusercontent.com/c834fa3eb66b62bd1eaff9b36d54ddbcbed2026c9bd03d58e2b4c0d1f5d48c29/68747470733a2f2f706f7365722e707567782e6f72672f746865646d7367726f75702f6d61757469632d657874656e6465642d6669656c642d62756e646c652f6c6963656e7365)](https://packagist.org/packages/thedmsgroup/mautic-extended-field-bundle) [![Build Status](https://camo.githubusercontent.com/ec3c6fc248ba5a4882c9d2fbbe1e39700bb047217143e1db3cd7a5abfab708b0/68747470733a2f2f7472617669732d63692e636f6d2f546865444d5347726f75702f6d61757469632d657874656e6465642d6669656c642e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/TheDMSGroup/mautic-extended-field)
============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

[](#mautic-extended-field---)

[![](Assets/img/icon.png?raw=true)](Assets/img/icon.png?raw=true)

Features:

- Allows for hundreds of custom fields.
- Prevents outages due to field additions/deletions at large scale (when used exclusively).
- Allows for separation of data for those with HIPAA/PCI concerns.

Out of the box Mautic has a few challenges for companies that need hundreds of fields, or to store millions of leads. A full problem definition can be found at [mautic/mautic#4139](https://github.com/mautic/mautic/issues/4139). This plugin is a compromise between a strict EAV approach and current custom field support, and allows an admin to disable the core "Contact" fields in favor of Extended fields if needed.

[![](Assets/img/screenshot.png?raw=true)](Assets/img/screenshot.png?raw=true)

Plugin Overview
---------------

[](#plugin-overview)

#### New Schema Structure

[](#new-schema-structure)

When creating a custom field, rather than adding a column to either the Lead (leads) or Company (companies) tables, This plugin implements new tables based on field type (boolean, text, choice, etc), and similar tables for secure data fields. A total of 14 new tables are created following the table name syntax:

```
 `leads_fields_leads . [DATA TYPE] . xref`   OR
 `leads_fields_lead . [DATA TYPE] . _secure_xref`

```

Each table contains the columns:

```
 `lead_id` - the id of the lead from the `leads` table the row applies to
 `lead_field_id` - the id of the corresponding Custom Field from the `lead_fields` table
 `value` - the value for the Custom Field.

```

#### Overriding Mautic Lead Bundle

[](#overriding-mautic-lead-bundle)

This plugin takes two approaches to overriding current methods for managing custom fields.

To allow for new Object types for Custom Fields, three form types are overridden using Symfony's Form Inheritance. By declaring a Form Inheritance tag in the plugin's config the `build` method of the original Form Type can be overridden to allow this plugin to redefine the form, injecting two new validated Object Types - `Extended Field` and `Secure Extended Field`. This Plugin overrides the `FieldType`, `LeadType` and `ListType` form definitions.

The other method of overriding the Mautic Lead Bundle is Symfony's Compiler Pass method. This allows the plugin to redirect the Classes used for service definitions from the Mautic Lead Bundle to use Classes defined by this plugin. The following services were redefined using this method:

```
`mautic.lead.model.field`
`mautic.form.type.leadfield`
`mautic.lead.model.lead`
`mautic.lead.repository.lead`
`mautic.lead.model.list`

```

Installation &amp; Usage
------------------------

[](#installation--usage)

Choose a release that matches your version of Mautic.

Mautic versionInstallation2.12.x`composer require thedmsgroup/mautic-extended-field-bundle "^2.12"`2.14.x`composer require thedmsgroup/mautic-extended-field-bundle "^2.14"`2.15.x`composer require thedmsgroup/mautic-extended-field-bundle "^2.15"`1. Install by running the command above or by downloading the appropriate version and unpacking the contents into a folder named `/plugins/MauticExtendedFieldBundle`
2. Go to `/s/plugins/reload`. The Extended Fields plugin should show up. Installation is complete.
3. When creating new custom fields `/s/contacts/fields/new` select Object "Extended" or "Extended Secure".
4. Optionally disable "core" lead fields in ExtendedField Settings `/s/config/edit`.

TODO
----

[](#todo)

- Permissions for Secure fields -- Need to implement Permission pass methods for any ExtendedFieldSecure data type display, edit or retrieval.
- Support retrieving leads by unique IDs that are also extended fields. -- Override LeadRepository::getLeadIdsByUniqueFields to join and pivot on columns.
- Support segmentation by an "empty" extended field (outer join).

Changes for Report Compatibility
================================

[](#changes-for-report-compatibility)

```
** NOTE ** The ReportSubscriber event listener dynamically checks for an edit or
view request of reports and dynanically sets priority of the REPORT_ON_BUILD.
The REPORT_ON_BUILD and REPORT_ON_GENERATE subscribers exist specifically to add
UTM Tags into the Segment Membership Data Source. This is tangental functionality to the core "Extended Fields" purpose
and will hopefully go away pending approval of a Core modification that adds UTM Tags into the contacts column list.

```

Icon by [lakshishasri](https://thenounproject.com/lakshishasri/) from the Noun project.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance12

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity77

Established project with proven stability

 Bus Factor1

Top contributor holds 50.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~20 days

Recently: every ~171 days

Total

43

Last Release

2177d ago

Major Versions

0.24 → 1.02018-04-12

1.0 → 2.12.22018-04-19

2.15.0 → 3.0.02020-05-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/b15544847e51ae947aff8bfac6c178fd1337913b3ab871412c0f58733ae1df89?d=identicon)[heathdutton](/maintainers/heathdutton)

---

Top Contributors

[![scottshipman](https://avatars.githubusercontent.com/u/3016737?v=4)](https://github.com/scottshipman "scottshipman (119 commits)")[![heathdutton](https://avatars.githubusercontent.com/u/302215?v=4)](https://github.com/heathdutton "heathdutton (75 commits)")[![cykonetic](https://avatars.githubusercontent.com/u/1146442?v=4)](https://github.com/cykonetic "cykonetic (34 commits)")[![indorock](https://avatars.githubusercontent.com/u/66767?v=4)](https://github.com/indorock "indorock (6 commits)")

---

Tags

marketing-automationmauticphppluginpluginMauticmarketingMarketing Automation

### Embed Badge

![Health badge](/badges/thedmsgroup-mautic-extended-field-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/thedmsgroup-mautic-extended-field-bundle/health.svg)](https://phpackages.com/packages/thedmsgroup-mautic-extended-field-bundle)
```

###  Alternatives

[thedmsgroup/mautic-contact-client-bundle

Create custom integrations without writing code.

1004.0k](/packages/thedmsgroup-mautic-contact-client-bundle)[thedmsgroup/mautic-enhancer-bundle

Various contact enhancer integrations for Mautic.

342.8k](/packages/thedmsgroup-mautic-enhancer-bundle)[thedmsgroup/mautic-health-bundle

Checks the health of the Mautic instance.

1210.8k](/packages/thedmsgroup-mautic-health-bundle)[thedmsgroup/mautic-media-bundle

Pulls cost data from media advertising services.

251.0k](/packages/thedmsgroup-mautic-media-bundle)[thedmsgroup/mautic-segment-extras-bundle

Extends Mautic Lead Bundle's Lead List (Segment) functionality.

151.4k](/packages/thedmsgroup-mautic-segment-extras-bundle)[thedmsgroup/mautic-contact-source-bundle

Creates API endpoints for receiving contacts from external sources.

602.9k](/packages/thedmsgroup-mautic-contact-source-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
