feat: Add comprehensive vCard import UI with organization, avatar, and notes support#7919
Open
cabraham2 wants to merge 1 commit intomonicahq:mainfrom
Open
feat: Add comprehensive vCard import UI with organization, avatar, and notes support#7919cabraham2 wants to merge 1 commit intomonicahq:mainfrom
cabraham2 wants to merge 1 commit intomonicahq:mainfrom
Conversation
…nd error details - Add ImportJobInformation for proper ORG field handling (company_id) - Add ImportAvatar and ImportNotes for photo and note import - Implement chunked import (50 contacts/batch) to avoid timeouts - Add detailed error reporting with contact names and error types - Fix address formatting (newlines, spacing, type mapping) - Fix map image 500 errors (graceful 404 when Mapbox not configured) - Remove trailing semicolons from names and organizations - Add comprehensive PHPDoc documentation Real-world tested: 1,238/1,260 contacts imported (98.3% success rate) 22 failures were invalid vCards in source file (no name/empty entries) Documentation: - PULL_REQUEST.md: GitHub PR description - docs/VCARD_IMPORT_ENHANCEMENTS.md: Technical documentation - PROJECT_SUMMARY.md: Complete feature overview
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR implements a complete vCard import feature with a web UI, enabling users to import contacts from standard vCard files (.vcf) with full support for organizations, photos, notes, and all standard contact fields.
Motivation
Monica currently lacks a user-facing way to import contacts from vCard files (the standard format used by Google Contacts, iCloud, Outlook, etc.). Users migrating from other contact management systems cannot easily bring their data into Monica.
What This Adds
New Web UI
/vaults/{vault}/contacts/importComplete vCard Support
company_idTechnical Implementation
ImportJobInformation,ImportAvatar,ImportNotesReal-World Testing
Tested with Google Contacts export (1,260 contacts, 2.7 MB):
Technical Documentation
See
docs/VCARD_IMPORT_ENHANCEMENTS.mdfor:Files Added
Controllers & Services:
ContactImportController.php- Web endpoint for importParseVCardFile.php- vCard parsing serviceContactImportViewHelper.php- Data preparation for UIDAV Importers:
ImportJobInformation.php- Organization/job importImportAvatar.php- Photo importImportNotes.php- Notes importFrontend:
resources/js/Pages/Vault/Contact/Import/Index.vue- Import UITests:
ParseVCardFileContactImportControllerBreaking Changes
None. This is a new feature that doesn't affect existing functionality.
Checklist
🏗️ Architecture - Diagramme de flux
Made with ❤️ for Monica CRM