- What is laravel-liberu/php-gedcom used for?
- It is a PHP library for reading and writing GEDCOM genealogy files. It parses individuals, families, events, and sources into structured objects and can generate valid GEDCOM for export. In Laravel, it fits best inside a domain service or queued import/export pipeline rather than directly in controllers.
- How do I install laravel-liberu/php-gedcom in a Laravel app?
- Install it with Composer using the package name laravel-liberu/php-gedcom. For Laravel applications, you can use it through the service container or wrap it in your own application service. Pin the version you validate, especially when upgrading to v4.2.0 for UID support.
- Which GEDCOM versions does laravel-liberu/php-gedcom support?
- The package description covers GEDCOM 5.5.1 and GEDCOM X. It focuses on reading and writing GEDCOM 5.5.1 files and provides GedcomX export support. Treat GEDCOM-to-GEDCOM-X mapping in v4.2.0 as experimental while test coverage is confirmed.
- Does laravel-liberu/php-gedcom support GEDCOM X output?
- Yes, the package includes GedcomX export support. v4.2.0 adds UID/_UID handling across record types with GedcomX export. The GEDCOM-to-GEDCOM-X mapping is explicitly work in progress, so use it behind a feature flag or internal endpoint until maintainers confirm readiness.
- What PHP and Laravel versions are supported by laravel-liberu/php-gedcom?
- The package targets PHP 8.4 according to its description. Laravel integration is via Composer and service-container usage, so check the package composer.json for exact Laravel dependency constraints. Validate the installed version in a non-production branch before rolling out.
- How should I integrate GEDCOM import and export in Laravel?
- Wrap the library in application services and validate uploads with form requests. Dispatch long-running imports and exports to queued jobs, enforce upload limits, and stream large files where possible. Persist normalized records through Eloquent or a repository layer instead of calling the parser directly from controllers.
- How are duplicate, missing, or malformed UID/_UID values handled?
- v4.2.0 adds cross-cutting UID/_UID support across all GEDCOM record types. The assessment flags duplicate, missing, and malformed UID values as failure modes that should fail loudly in validation and be logged with source-record identifiers. Add fixture tests to confirm preservation and error handling for your data.
- Does UID support change export output in v4.2.0?
- Yes, records that previously omitted UIDs may gain added or changed UID/_UID lines in exported GEDCOM. Consumers that ignore UID fields should be unaffected, but anyone comparing raw GEDCOM output should expect differences. Use golden-file tests and compare before-and-after exports before adopting the upgrade.
- Is the GEDCOM-to-GEDCOM-X mapping production-ready in v4.2.0?
- No, the assessment describes the GEDCOM-to-GEDCOM-X mapping as work in progress and contributed via Copilot. Treat it as experimental until automated fixtures and maintainer review confirm correctness. Trial GedcomX export behind a feature flag rather than in a primary request path.
- What are the main production risks and alternatives for laravel-liberu/php-gedcom?
- Risks include malformed or duplicate UIDs, unexpected export changes, incomplete GEDCOM-X mapping, schema validation failures, and round-trip data loss. Parsing and transforming large GEDCOM files can be CPU- and memory-intensive, so run them in queued jobs with monitoring. If you need a more mature alternative, evaluate packages with established fixture coverage and an explicit backward-compatibility and security-review policy.