Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Event Bundle Laravel Package

xrow/event-bundle

xrow/event-bundle is a Symfony bundle that adds event management capabilities, helping PHP applications model, schedule, and display events. It integrates with existing xrow projects and streamlines common event workflows for developers.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

The stack mismatch is the headline finding: this is not a Laravel package. xrow/event-bundle is a Symfony 2 full-stack bundle for eZ Publish 5 (eZ Systems' legacy CMS, which bridged the old eZContentObjectAttribute datatype model into Symfony). The description — "Fixes custom xrow datatypes ezpublishevent for eZ5" — identifies it as a hotfix/packaging bundle for a custom legacy content datatype (ezpublishevent, presumably scheduling publication events), delivered by the xrow agency. It registers through the eZ/Symfony kernel and the legacy extension bridge, not through Laravel's service container.

  • Architecture fit: Zero. No service providers, facades, Eloquent models, Artisan commands, or Laravel package discovery. It depends on eZ\Publish\* and the eZDataType legacy API — none of which exist in a Laravel app. Treat it as a reference implementation of a business capability, not a dependency.
  • Integration feasibility: Cannot be composer required into a Laravel project in any functional sense. Installing it requires an eZ Publish 5 site with the corresponding parent xrow extension present (the wording "Fixes…" implies this patches something else rather than standing alone). Porting means a rewrite, not an adapter.
  • Technical risk (high): eZ Publish 5 and Symfony 2 are long EOL; the code targets PHP 5.x-era runtimes. Unmaintained code on an unsupported runtime is a standing security and audit exposure. The datatype touches the legacy content schema and attribute tables — high blast radius, low testability. Signal quality is poor: 0 stars, 0 dependents, no visible CI, provenance and license for external reuse unverified.
  • Key questions:
    • Do we actually operate an eZ Publish 5 estate, or is the goal to reimplement this capability in Laravel?
    • What is the license, and is the parent ezpublishevent datatype available to us at all?
    • Who owns the datatype's DB schema and the existing scheduled-publication data?
    • Is the migration target Ibexa DXP or a full Laravel rebuild?
    • What exactly does the datatype do — store a publish timestamp, trigger workflow, fire cron-side events?

Integration Approach

If the target is Laravel (the stated framing): the correct integration is conceptual, not technical.

  • Stack fit: Explicitly incompatible. Do not plan for a Laravel bridge. Use the repo as the behaviour specification for a scheduled-publishing feature.
  • Migration path (recommended):
    1. Read the bundle to extract the datatype contract: fields captured, validation rules, publish-state transitions, cron/workflow hooks, and the mapping to legacy attribute tables.
    2. Model it natively in Laravel: a scheduled_publications table with a polymorphic relation to content, a publish-state machine (draft → scheduled → published → expired), model observers for state guards, and queued jobs with delayed dispatch (dispatch()->delay()) on Horizon for the timer.
    3. If legacy data must survive, write a one-way backfill ETL from the eZ attribute tables into the new schema — never a live dual-write.
    4. Keep the original semantics (timezone handling, unpublish/expiry, workflow gating) as parity acceptance criteria.
  • Compatibility: Confined to eZ Publish 5 / Symfony 2 / PHP 5.x. No Laravel 9–11 support, no PHP 8.x support, no modern Composer constraints. Expect conflicts with other eZ5 extensions on the legacy stack.
  • Sequencing: Phase 0 — provenance, license, and code read (1 week, TPM-owned). Phase 1 — written behaviour contract + parity test list. Phase 2 — Laravel rebuild behind a feature flag. Phase 3 — parity validation against a legacy snapshot. Phase 4 — cutover. Only if we are keeping the eZ5 site alive as-is should we install the bundle directly — and then pin the exact commit, vendor the source, and freeze the environment.

Operational Impact

  • Maintenance: Effectively unmaintained. With 0 stars and 0 dependents there is no community safety net and no upstream pressure to fix anything. Adopting it means forking it and owning 100% of the surface — including the EOL runtime underneath.
  • Support: No SLA unless xrow is under commercial contract. The GitHub org is a small agency; issue response is unpredictable. Hiring for eZ Publish 5 legacy kernel + Symfony 2 is a shrinking, expensive talent pool — a genuine bus-factor risk.
  • Scaling: Publication-event scheduling on eZ5 is cron/daemon driven (runcronjobs.php-style tick loops). Throughput is bounded by tick granularity, it does not scale horizontally, and it offers no queue semantics or backpressure. Attribute updates contend on content-object DB locks. The Laravel equivalent (queued jobs, Horizon workers, idempotency keys) scales cleanly — this is a strong argument for rebuilding rather than preserving.
  • Failure modes: Silent missed publications when cron stalls; duplicate publishes on retry without idempotency; timezone/DST drift on stored publish timestamps; stale content left publicly visible when an unpublish/expiry step fails; schema mismatch after a legacy upgrade; collisions between scheduled publication and editorial workflow review.
  • Ramp-up: Any engineer assigned to the legacy path must learn the eZ datatype API, Symfony 2 bundle wiring, and the legacy-kernel bridge — days to weeks each, with near-zero transferable value to the Laravel team. Plan for a single knowledge holder unless the extraction in Phase 1 is documented exhaustively. The Laravel rebuild, by contrast, onboards in hours for an existing team.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core