Releases: AppsDevTeam/exporter
Releases · AppsDevTeam/exporter
Release list
v1.1.1
v1.1: Merge pull request #2 from AppsDevTeam/feat/batched-generation
feat: BatchedExportFileGenerator pro exporty, ktere se nevejdou do pa…
v1.0.3: feat: Add configurable memory limit for exports
- Introduce a new `memoryLimit` configuration option, allowing projects to explicitly set PHP's `memory_limit` for export generation. This is important because exports can run synchronously within HTTP requests, and the library leaves the decision for large limits to the project.
- Improve export processing robustness:
- The `processedAt` timestamp is now marked only after the export file has been successfully generated AND delivered (e.g., via email). This ensures an export isn't considered complete if the user hasn't received it, and enables proper retries if delivery fails.
- When purging old export files, the entity manager is flushed after each file removal. This makes the purge operation more resilient to crashes, as the `filesPurgedAt` status is immediately persisted for each processed export.
- Fix `ExportSection` logic for empty data sources: Empty arrays for aggregated sections (where `entityClass` is `null`) are now correctly identified as raw rows. Previously, this would incorrectly be treated as an empty ID list, causing errors for sections like summaries without sales.
v1.0.2: fix: Align queue callback parameters with PHP 8 named arguments
On PHP 8, `adt/background-queue` calls job callbacks using named parameters. If the callback's parameter names do not precisely match the keys under which the job was published, PHP throws an "Unknown named parameter" error. This caused background export jobs to get stuck in an infinite retry loop. This change updates the `processExport` callback to accept `exportId` directly as a named parameter, and introduces a constant for the publishing key to ensure consistency. A new test verifies this critical naming alignment and type.
v1.0.1: Merge pull request #1 from AppsDevTeam/fix/readonly-source-reset
Fix/readonly source reset
v1.0: refactor!: Knihovna o auditu nevi vubec - jen ohlasi udalost
Zadny auditni zapisovac, zadny ExportActor, zadny ExportActorProvider.
Knihovna ma dve udalosti:
public array $onExport; // fn(Export, ExportRequest, array $sections, int $rowCount)
public array $onDownload; // fn(Export)
Co se z nich stane - audit, notifikace, statistika - rozhoduje projekt tim,
co si do nich zaregistruje:
exporter:
onExport:
- [@App\Model\Export\ExportAuditSubscriber, exported]
$onExport bezi ve stejne transakci jako provozni zaznam, takze co si projekt
zapise, vznikne atomicky s exportem (a vyjimka z callbacku export zrusi).
Sekce se do udalosti predavaji v projekci s dql, parametry a vyctem poli -
v provoznim zaznamu tyhle udaje nejsou, ten nese jen to, cim se soubor
znovu vyrobi.
logDownload() se prejmenovava na fileDownloaded(): metoda uz nic neloguje,
jen ohlasuje, ze soubor byl vydan. Kdo je akterem si zjisti projekt sam -
je to auditni pojem, ne exportni.