Download the PHP package azaharizaman/nexus-reporting without Composer
On this page you can find all versions of the php package azaharizaman/nexus-reporting. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download azaharizaman/nexus-reporting
More information about azaharizaman/nexus-reporting
Files in azaharizaman/nexus-reporting
Download azaharizaman/nexus-reporting
More information about azaharizaman/nexus-reporting
Files in azaharizaman/nexus-reporting
Vendor azaharizaman
Package nexus-reporting
Short Description Presentation layer package for generating scheduled, multi-format reports with distribution and retention management
License MIT
Package nexus-reporting
Short Description Presentation layer package for generating scheduled, multi-format reports with distribution and retention management
License MIT
Please rate this library. Is it a good library?
Informations about the package nexus-reporting
Nexus\Reporting
Presentation layer package for generating scheduled, multi-format reports with automated distribution and compliance-driven retention management.
Overview
Nexus\Reporting transforms raw analytics data from Nexus\QueryEngine into user-facing reports with:
- Scheduled Generation: Daily, weekly, monthly, and cron-based report scheduling
- Multi-Format Export: PDF, Excel, CSV, JSON, HTML via
Nexus\Export - Automated Distribution: Email, SFTP, storage via
Nexus\Notifier - Tiered Retention: 90-day active → 7-year archive → purge lifecycle
- Custom Templates: Brand-aligned reports with logo/CSS customization
- Batch Processing: High-volume report generation with concurrency control
- Permission Inheritance: RBAC enforcement from underlying Analytics queries
Architecture
4-Tier Report Lifecycle
Core Components
ReportManager: Public API orchestratorReportGenerator: Query execution → Export renderingReportDistributor: Multi-channel delivery with failure resilienceReportJobHandler: Scheduler integration for recurring jobsReportRetentionManager: Automated tier transitions (Active → Archive → Purge)
Key Features
Security (SEC-REP-0401)
- Permission checks inherit from
AnalyticsAuthorizerInterface - Users can only generate reports from authorized queries
- Tenant isolation enforced via
TenantContextInterface
Resilience (REL-REP-0305)
- Failed distributions preserve PDF for manual retry
- Scheduler-based retry with exponential backoff
- Transient failure detection and auto-recovery
Performance (PER-REP-0301)
- Jobs >5 seconds offloaded to queue workers
- Streaming export for datasets >10K rows
- Batch generation with configurable concurrency (max 10/tenant)
Compliance
- Tier 1 (Active): 90 days in hot storage
- Tier 2 (Archive): 7 years in deep archive (S3 Glacier)
- Tier 3 (Purge): Irreversible deletion
- Full audit trail via
AuditLogManagerInterface(High severity)
Installation
Usage
Create Report Definition
Generate On-Demand Report
Interactive Preview (FUN-REP-0213)
Batch Generation
Integration Points
Analytics
- Consumes
QueryResultInterfacefromAnalyticsManager::runQuery() - Enforces guards and RBAC via
AnalyticsAuthorizerInterface
Export
- Transforms
QueryResult→ExportDefinition→ formatted output - Supports streaming for large datasets
Notifier
- Multi-channel distribution (Email with PDF attachment, SMS alert, In-App)
- Delivery status tracking in
reports_distribution_log
Scheduler
- Registers
ReportJobHandlerforJobType::EXPORT_REPORT - Cron-based recurring report execution
- Daily retention policy job for tier transitions
Storage
- Stores generated PDFs with temporary URLs for secure access
- Supports multi-tier storage (hot → archive → purge)
AuditLogger
- Logs generation, distribution, access, and retention events
- High severity for compliance (report_generated, report_purged)
Database Schema
reports_definitions
- Report templates with scheduling configuration
- Links to Analytics queries via
query_id - Custom template assets in
template_configJSON
reports_generated
- Immutable execution history
- Storage paths and retention tiers
- Performance metrics (duration_ms, file_size_bytes)
reports_distribution_log
- Delivery tracking per recipient
- Links to Notifier notifications
- Failure diagnostics for retry
Retention Policy
| Tier | Duration | Storage | Purpose |
|---|---|---|---|
| Active | 90 days | Hot (S3 Standard) | Frequent access |
| Archive | 7 years | Deep (S3 Glacier) | Compliance/Legal |
| Purged | Permanent | Deleted | GDPR/Data minimization |
Automated transitions run daily via scheduled job.
Template Customization
Default Templates (Option A)
Clean, professional formatting via Nexus\Export defaults.
Custom Templates (Option C - Advanced)
Template assets stored in Nexus\Storage with version audit trail.
Error Handling
Exceptions
ReportNotFoundException: Report ID not foundReportGenerationException: Analytics or Export failureReportDistributionException: Notifier delivery failureUnauthorizedReportException: Permission violation (SEC-REP-0401)InvalidReportScheduleException: Malformed cron or date range
Resilience Patterns
- Scheduler retry with exponential backoff (transient failures)
- PDF preservation on distribution failure (manual retry)
- Format fallback (PDF fail → CSV succeed with warning notification)
- Double tenant validation (defense-in-depth)
Performance Considerations
- Preview Mode: No storage overhead, ideal for dashboards
- Streaming Export: Prevents memory exhaustion for >10K rows
- Batch Concurrency: Max 10 concurrent jobs per tenant
- Queue Offloading: Jobs >5s run asynchronously
Requirements Coverage
| Code | Requirement | Implementation |
|---|---|---|
| FUN-REP-0201 | Create/Edit Report Templates | ReportManager::createReport() |
| FUN-REP-0207 | Scheduled Report Delivery | ReportSchedule + ReportJobHandler |
| FUN-REP-0213 | Interactive Dashboard Generation | ReportManager::previewReport() |
| BUS-REP-0105 | Output Format Control | ReportFormat enum (PDF/Excel/CSV/JSON/HTML) |
| SEC-REP-0401 | Permission Inheritance | AnalyticsAuthorizerInterface::can() checks |
| REL-REP-0305 | Report Generation Resilience | PDF storage on distribution failure |
| PER-REP-0301 | Scheduled Report Offloading | Scheduler queue for >5s jobs |
📖 Documentation
Package Documentation
- Getting Started Guide
- API Reference
- Integration Guide
- Examples
Additional Resources
IMPLEMENTATION_SUMMARY.md- Implementation progressREQUIREMENTS.md- RequirementsTEST_SUITE_SUMMARY.md- TestsVALUATION_MATRIX.md- Valuation
License
MIT License - See LICENSE file for details.
All versions of nexus-reporting with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.3
psr/log Version ^3.0
symfony/uid Version ^7.0
azaharizaman/nexus-query-engine Version dev-main
azaharizaman/nexus-export Version dev-main
azaharizaman/nexus-scheduler Version dev-main
azaharizaman/nexus-notifier Version dev-main
azaharizaman/nexus-storage Version dev-main
azaharizaman/nexus-audit-logger Version dev-main
psr/log Version ^3.0
symfony/uid Version ^7.0
azaharizaman/nexus-query-engine Version dev-main
azaharizaman/nexus-export Version dev-main
azaharizaman/nexus-scheduler Version dev-main
azaharizaman/nexus-notifier Version dev-main
azaharizaman/nexus-storage Version dev-main
azaharizaman/nexus-audit-logger Version dev-main
The package azaharizaman/nexus-reporting contains the following files
Loading the files please wait ...