thedmsgroup/mautic-extended-field-bundle

扩展自定义字段以实现可扩展性和符合HIPAA/PCI标准。

安装量: 3,135

依赖项: 0

建议者: 0

安全性: 0

星标: 29

关注者: 27

分支: 23

开放性问题: 13

类型:mautic-plugin

3.0.0 2020-05-27 14:31 UTC

README

特性

  • 允许创建数百个自定义字段。
  • 防止大规模添加/删除字段导致的中断(当单独使用时)。
  • 允许对有HIPAA/PCI关注的人进行数据分离。

Mautic默认对于需要数百个字段或存储数百万潜在客户的公司的挑战。完整的问题定义可以在mautic/mautic#4139找到。此插件是严格EAV方法和当前自定义字段支持之间的折中方案,允许管理员在需要时禁用核心"联系人"字段,以使用扩展字段。

插件概述

新的架构结构

在创建自定义字段时,而不是在潜在客户(leads)或公司(companies)表中添加列,此插件根据字段类型(布尔型、文本、选择等)实现了新的表,并为安全数据字段实现了类似的表。根据表名语法创建了总共14个新表。

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

每个表包含以下列

 `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. 

覆盖Mautic潜在客户包

此插件采用两种方法来覆盖当前管理自定义字段的当前方法。

为了允许自定义字段的新对象类型,使用Symfony的表单继承覆盖了三个表单类型。通过在插件配置中声明表单继承标记,可以覆盖原始表单类型的build方法,允许此插件重新定义表单,注入两个新的验证对象类型 - Extended FieldSecure Extended Field。此插件覆盖了FieldTypeLeadTypeListType表单定义。

覆盖Mautic潜在客户包的另一种方法是使用Symfony的编译器通过方法。这允许插件将用于服务定义的类从Mautic潜在客户包重定向到使用此插件定义的类。以下服务使用此方法进行了重新定义

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

安装与使用

选择与您的Mautic版本匹配的版本。

  1. 通过运行上述命令或下载相应的版本并将其内容解压缩到名为/plugins/MauticExtendedFieldBundle的文件夹中来安装。
  2. 转到/s/plugins/reload。扩展字段插件应该会出现。安装完成。
  3. 在创建新的自定义字段时,在/s/contacts/fields/new中选择对象"Extended"或"Extended Secure"。
  4. 可选地,在扩展字段设置/s/config/edit中禁用"核心"潜在客户字段。

待办事项

  • 安全字段的权限 - 需要实现任何ExtendedFieldSecure数据类型显示、编辑或检索的权限传递方法。
  • 支持通过唯一的ID检索潜在客户,这些ID也是扩展字段 - 覆盖LeadRepository::getLeadIdsByUniqueFields以连接和旋转列。
  • 支持通过"空"扩展字段进行分段(外连接)。

报告兼容性更改

** 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.

图标由Noun项目中的lakshishasri提供。