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

Recent Posts Block Extension Laravel Package

anomaly/recent_posts_block-extension

An extension for the Recent Posts block in Anomaly's PyroCMS pages module. Editors can drop the block onto any page to surface the latest blog entries, with configurable post limits, category filtering, and layout options, no template changes needed.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. anomaly/recent_posts_block-extension is not a general-purpose Laravel package — it is a PyroCMS 3.x addon (vendor namespace anomaly, the PyroCMS core namespace) that registers a block extension with the Blocks module. Architecturally it is a thin presentation adapter: it implements the BlockExtension contract, exposes a getView() pointing at a Blade partial, and reads from the Posts module's stream/repository to hydrate a collection of recent entries. It assumes the host application is a PyroCMS installation with both anomaly/blocks-module and anomaly/posts-module present and migrated. It will not install meaningfully into a vanilla Laravel app, and it will not work against a custom posts model unless that model is exposed as a Streams stream.

Integration feasibility. Low-to-moderate, and entirely contingent on an existing PyroCMS footprint. If the target application is already PyroCMS 3.x with the Posts module live, this is a composer require plus service-provider auto-discovery (PyroCMS addons are conventionally discovered via composer.json extra.laravel.providers) — a genuinely small change. If the goal is "show recent posts" in a non-PyroCMS Laravel app, this package is the wrong primitive; the equivalent is a Blade component plus a repository query, roughly 40–80 lines of first-party code.

Technical risk. High, and driven by ecosystem rather than code quality:

  • Vendor viability. Anomaly Labs / PyroCMS has been effectively dormant for several years. A score of 0, zero dependents, and no star signal means there is no observable production usage — no de facto compatibility testing against current Laravel, PHP 8.x, or modern dependency trees.
  • Version ceiling. PyroCMS 3.x targets the Laravel 5.5–6.x / PHP 7.2–7.4 window. Any host on Laravel 9+ or PHP 8.1+ will hit constraint conflicts in composer.lock long before it hits this package's own code.
  • Transitive surface. The real risk is not this addon; it is pulling/validating the streams-platform, blocks-module, and posts-module chain, each of which is independently unmaintained.
  • Silent failure modes. Block extensions fail quietly in PyroCMS — a missing view, unregistered slug, or absent stream typically renders nothing rather than throwing, which is hard to catch in CI.

Key questions for the requester.

  1. Is the host application already PyroCMS 3.x, and on which Laravel/PHP version?
  2. Is the Posts module installed, migrated, and populated — and is "posts" a Streams stream or a custom model?
  3. Is the actual requirement "recent posts block" or "recent content from an arbitrary source"? The latter disqualifies this package.
  4. Who owns the fork when the upstream is abandoned — is there appetite to vendor and patch?
  5. What is the fallback if this addon is rejected — first-party block extension, or a CMS migration?

Integration Approach

Stack fit. Fits only the PyroCMS 3.x lane: Laravel 5.5–6.x, PHP 7.2–7.4, Composer 1/2, and a Streams-driven content model. Treat that as a hard gate, not a preference. The package's value proposition — a prebuilt, admin-configurable block with sensible defaults — is real inside that lane and near-zero outside it.

Migration path. Recommended sequence:

  1. Spike (0.5–1 day). In a disposable branch, attempt composer require anomaly/recent_posts_block-extension against the actual host. Record the resolved dependency graph and any constraint conflicts. This single step usually decides the question.
  2. Verify in admin. Confirm the block appears in the block picker, that its category/slug register correctly, and that the view renders with both zero posts and >0 posts.
  3. Pin and vendor if it works. Commit an exact version, and if the upstream is archived, fork to an internal namespace with a documented patch policy. Do not depend on Packagist availability for a dormant package.
  4. Fallback (preferred if the spike fails). Reimplement as a first-party block extension inside the host's own namespace — the contract surface is small (getSlug, getCategory, getView, plus a repository call) and this removes the third-party dependency entirely while preserving the admin UX.

Compatibility. Expect a compatibility matrix of exactly one cell: PyroCMS 3.x + Posts module + PHP 7.4. Any branch that requires PHP 8 or Laravel 9+ should be closed rather than investigated — the constraint chain will not resolve without patching multiple unmaintained transitive packages, which converts a dependency decision into a maintenance commitment.

Sequencing. Do the spike before committing to any UI work that assumes the block exists. The block is trivially replaceable; the design and content-model decisions built on top of it are not. If the spike fails, the fallback should be scoped as a 1–2 day first-party task, not a project.

Operational Impact

Maintenance. Effectively unbounded and unreciprocated. With zero dependents and a dormant vendor, there is no upstream to merge fixes from. Any PHP or Laravel upgrade in the host becomes an internal patch exercise on this addon and on the Streams/Posts chain beneath it. Budget it as owned code, not as a dependency — if the team is unwilling to fork and maintain, reject it.

Support. Community-only and likely stale. No vendor SLA, no security disclosure path, no guaranteed response to issues. For a presentation-layer block the security exposure is small (no auth, no user input beyond block config), but the absence of a disclosure channel still matters for compliance review in regulated environments.

Scaling. The block is a per-render query against the posts stream with a limit. Performance is fine at typical CMS traffic; the risks are (a) rendering inside uncached page layouts where the block forces a cache-busting query, and (b) no built-in caching layer in the addon — caching must be added by the host via the page/block cache. At high read volume, put the block behind the CMS's fragment or page cache rather than tuning the addon.

Failure modes. Ranked by likelihood and cost:

  • Dependency resolution failure at install time — most likely outcome on any modern stack; caught early, cheap.
  • "Posts" module absent or unmigrated — block registers but renders empty or throws a stream-not-found; caught in spike, cheap.
  • View not published / theme override missing — block renders blank with no error; expensive to diagnose in production because it is silent.
  • Silent breakage on host upgrade — highest cost; the block stops rendering after a Laravel/PHP bump and there is no upstream fix. Mitigate with an explicit smoke test asserting the block renders N items on a seeded fixture.
  • Abandonment drift — the package's composer.json constraints lag the host's, and composer update begins failing on unrelated work; mitigate by vendoring.

Ramp-up. Low individual cost, non-trivial organizational cost. A Laravel developer unfamiliar with PyroCMS needs roughly half a day to internalize the block-extension contract, Streams, and the admin block-picker flow — the API is small and idiomatic. The real ramp-up is institutional: the team inherits ownership of a dormant addon and its dormant dependency chain. Recommend a single named owner, a fork under the org namespace, and a one-line smoke test in CI before this goes anywhere near production.

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.
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus