CRM Core
CRM Core is a comprehensive contact relationship management system for Drupal providing contact management (individuals and organizations), activity tracking, duplicate detection, and user account synchronization.
crm_core
概要
CRM Coreは、Drupalにネイティブで構築された強力で柔軟なCRM(顧客関係管理)システムです。Drupalサイト内で連絡先の管理、アクティビティの追跡、関係の維持を行うための完全なフレームワークを提供します。
このモジュールは2つの主要な連絡先タイプをサポートしています:個人(人物)と組織(企業、グループ)。各連絡先タイプはカスタムフィールドを持つ複数のサブタイプ(バンドル)を持つことができます。連絡先はリビジョン、所有者追跡、公開ステータスをサポートしています。
CRM Coreには、電話、会議、メール、メモなどの連絡先とのやり取りを記録できるアクティビティ追跡システムが含まれています。アクティビティは複数の参加者にリンクでき、プラグインシステムを通じてカスタムアクティビティタイプをサポートしています。
また、設定可能なマッチングエンジンを備えた高度な重複検出フレームワークも提供しています。デフォルトのマッチングエンジンは、フィールドごとの比較と重み付けスコアを使用して、重複の可能性がある連絡先を特定します。
ユーザー同期機能により、DrupalユーザーアカウントをCRM連絡先レコードにリンクでき、ユーザー登録時の自動連絡先作成やユーザープロファイルでの連絡先情報の表示が可能になります。
Features
- 連絡先管理:カスタマイズ可能なタイプ、リビジョン、カスタムフィールドを持つ個人および組織の連絡先を作成・管理
- アクティビティ追跡:1つまたは複数の連絡先にリンクされたアクティビティ(電話、会議、メール、メモ)を記録・追跡
- 重複検出:フィールドごとの比較と重み付けスコアリングを備えた設定可能なマッチングエンジンを使用して、重複の可能性がある連絡先を特定
- ユーザー同期:Drupalユーザーアカウントを自動連絡先作成とプロファイル表示オプション付きでCRM連絡先にリンク
- 連絡先マージ:同じタイプの複数の連絡先をマージし、選択したフィールド値を保持して関連アクティビティを移行
- プライマリフィールド:各連絡先タイプのプライマリメール、電話、住所フィールドを指定
- リビジョンサポート:完全なリビジョン履歴で連絡先の変更を経時的に追跡
- Views統合:個人、組織、アクティビティを管理するための事前設定されたViews
- 拡張可能なプラグインアーキテクチャ:Drupalのプラグインシステムを通じてカスタムアクティビティタイプとマッチングエンジンを追加
- 詳細な権限設定:作成、表示、編集、削除操作に対するバンドル(タイプ)ごとの権限
Use Cases
Customer Database Management
Use CRM Core to maintain a database of customers. Create an 'Individual' type called 'Customer' with custom fields for customer information. Track customer interactions using Activities. Use matching engines to prevent duplicate customer records.
Organization Contact Directory
Build a directory of partner organizations, vendors, or clients. Create Organization types for different categories. Add contact individuals associated with each organization using reference fields.
User Profile Extension
Enable CRM Core User Sync to automatically create contact records for registered users. Users can then edit their extended contact information through their profile. Useful for membership sites or customer portals.
Activity Logging for Support
Track support interactions with customers using Activities. Create activity types for 'Support Call', 'Email', 'Meeting'. Link activities to customer contacts to maintain a complete interaction history.
Lead Deduplication
Import leads from multiple sources and use CRM Core Match to identify duplicates. Configure matching rules based on email, name, and phone fields. Use the merge action to consolidate duplicate records while preserving important data.
Membership Management
Manage member contacts with custom individual types (e.g., 'Member', 'Prospect'). Use user sync to link member accounts with contact records. Track membership activities and communications.
Tips
- Use the 'primary_fields' setting on contact types to designate which email, phone, and address fields should be treated as the primary contact method.
- When merging contacts, carefully select which field values to keep - the merge action allows choosing values from any of the contacts being merged.
- Configure matching engine thresholds carefully - too low may create false positives, too high may miss actual duplicates.
- For large sites, consider disabling 'Load contact related to the current user' in User Sync settings if contacts have many fields to avoid performance issues.
- Create different Individual types for different purposes (Customer, Employee, Vendor) to keep permissions and workflows separate.
- Use Views Bulk Operations with the merge contacts action to efficiently clean up duplicate records.
- Activity types can have custom plugins for specialized behavior - extend ActivityTypePluginBase to create custom implementations.
Technical Details
Admin Pages 13
/admin/structure/crm-core
Main administrative hub for CRM Core structure configuration. Provides access to contact type management, activity type configuration, and related settings.
/admin/config/crm-core
Configuration overview page for all CRM Core settings including global settings, matching engines, and user synchronization.
/admin/config/crm-core/settings
Configure global CRM Core settings including the optional custom theme for CRM pages.
/admin/structure/crm-core/individual-types
Manage individual (person) contact types. Create, edit, and delete bundles for categorizing individual contacts (e.g., Customer, Employee, Vendor).
/admin/structure/crm-core/organization-types
Manage organization contact types. Create, edit, and delete bundles for categorizing organization contacts (e.g., Company, Supplier, Partner).
/admin/structure/crm-core/activity-types
Manage activity types for recording interactions with contacts. Each type can have custom fields and a specific activity type plugin.
/admin/config/crm-core/match
Configure matching engines for duplicate contact detection. Create matchers with field-by-field rules and weighted scores to identify potential duplicates.
/admin/config/crm-core/match/add
Create a new matcher for duplicate detection with configurable threshold, return order, and field matching rules.
/admin/config/crm-core/user-sync
Configure how Drupal user accounts are synchronized with CRM contact records. Set up rules for automatic contact creation and display options.
/crm-core
Main CRM Core interface showing overview and quick access to contacts and activities.
/crm-core/individual
List and manage all individual contacts. Uses a Views-based interface with bulk operations including merge contacts.
/crm-core/organization
List and manage all organization contacts. Uses a Views-based interface with bulk operations.
/crm-core/activity
List and manage all activities. View interactions recorded across all contacts.
権限 25
Hooks 3
hook_crm_core_individual_delete
Responds when an individual contact is deleted.
hook_theme
Defines theme hooks for CRM Core entities.
hook_entity_predelete
Responds before entity deletion to handle related data.
Security Notes 4
- Most administrative permissions have 'restrict access' flag requiring careful assignment.
- Per-bundle permissions allow granular access control - users can be restricted to specific contact types.
- The 'edit own contact information' permission should be granted carefully as it allows users to modify their linked contact record.
- Matching engine configuration should be restricted to prevent unauthorized access to duplicate detection rules.