Future: Analysis & Insights
The current site shows raw release data. The goal is to transform this into a tool that surfaces meaningful patterns, trends, and actionable insights about the Drupal ecosystem.
Phase 1 — Module Health Profiles
Turn each module page into something worth bookmarking.
Module detail page (/modules/{name})
- Release timeline — visual chart of releases over time, colored by type (stable / pre-release / dev)
- Release cadence — average days between releases, and whether it’s speeding up or slowing down
- Stability ratio — percentage of stable vs pre-release vs dev releases
- Time in pre-release — average duration from first pre-release to stable for each major version
- Last activity — days since last release, flagged if unusually long compared to the module’s own history
- Version progression — show the dev → pre-release → stable pipeline for each major/minor version
Data needed: Already available. All of this can be computed from module_releases timestamps and version components.
Phase 2 — Ecosystem Dashboard
Replace the current stats cards with a richer overview that tells a story.
Release activity chart
- Time-series chart (weekly or monthly) of total releases across the ecosystem
- Stacked by type (stable / pre-release / dev) to show maturity trends
- Overlay markers for Drupal core releases to correlate ecosystem activity with core milestones
Top movers
- Modules with the biggest increase in release frequency (month-over-month)
- Modules that went quiet — previously active modules with no releases in 60+ days
- Newly tracked modules — first appearance in the last 30 days
Ecosystem health metrics
- Ratio of stable to total releases over time (is the ecosystem maturing?)
- Number of actively maintained modules (at least 1 release in the last 90 days)
- Average release cadence across all modules
Data needed: Already available. Aggregations over module_releases grouped by time periods.
Phase 3 — Support Lifecycle Insights
Make the Drupal/PHP version tables more useful for decision-making.
Support timeline visualization
- Gantt-style horizontal bars showing the full support window for each Drupal and PHP version
- Color-coded segments: active support → security only → EOL
- “You are here” marker on the timeline
Compatibility matrix
- Which Drupal versions are compatible with which PHP versions
- Highlight the safe overlap windows where both Drupal and PHP are supported
- Flag risky combinations approaching dual EOL
EOL countdown & alerts
- Prominent countdown for the next EOL event (already partially implemented)
- Historical view: past EOL dates and what replaced them
- Projected upgrade windows — when should teams start planning migrations
Data needed: Mostly available from drupals and phps tables. Compatibility matrix would need an additional data source (Drupal core’s composer.json requirements per version) or manual curation.
Phase 4 — Trend Analysis
Surface patterns that aren’t obvious from browsing individual releases.
Release day patterns
- Heatmap of releases by day-of-week and hour — when does the Drupal community ship?
- Identify if certain modules follow predictable release schedules
Version numbering analysis
- Distribution of major vs minor vs patch releases over time
- Patch-heavy modules (lots of bug fixes) vs minor-heavy (feature development)
- Modules stuck on 0.x vs those that have reached stable 1.0+
Pre-release pipeline
- Average time from first dev release to first stable release per module
- Modules currently in pre-release that are likely close to stable (based on historical patterns)
- Success rate: what percentage of dev releases eventually lead to a stable release
Seasonal patterns
- Release activity by month — are there slow periods (holidays, DrupalCon months)?
- Year-over-year growth trends
Data needed: Already available. All derivable from module_releases date and version fields.
Phase 5 — AI Module Ecosystem Deep Dive
The /ai page currently just filters by name prefix. Make it a proper ecosystem analysis.
AI ecosystem growth
- Chart showing the number of AI-related modules over time
- Release velocity of AI modules vs the rest of the ecosystem
- Which AI modules are most actively developed
Categorization
- Group AI modules by function (search, content generation, integration, etc.) — requires tagging, either manual or derived from
short_description - Track which AI providers/services the modules integrate with
Data needed: Partially available. Module descriptions are stored but categorization would need either keyword extraction from short_description or manual tagging via the admin panel.
Phase 6 — Notifications & Personalization
Let users get value without visiting the site.
Watch list
- Let users select modules to follow
- Email digest (weekly) with releases for watched modules
- RSS feed per module or per custom watch list
Threshold alerts
- Module went quiet (no release in X days, configurable)
- New stable release for a watched module
- EOL approaching for a Drupal/PHP version
Data needed: New infrastructure. Requires user accounts (or email-only subscriptions), a notifications table, and a scheduled job to check thresholds and send digests.
Implementation Notes
Charting
- Use Chart.js or a lightweight alternative — Alpine.js is already in the stack, so keep it simple
- Server-side aggregation, client-side rendering
- Consider caching computed metrics in a
module_statstable or similar, refreshed on each data sync
New data to collect
- Module download/usage counts from Drupal.org (available via their API but not currently fetched)
- Security advisory data (the
SecurityAdvisorymodel exists but isn’t populated) - Drupal core compatibility requirements per version
Performance
- Pre-compute expensive aggregations during the
drupal-org:releasescommand run - Store computed metrics rather than calculating on every page load
- Consider a
daily_snapshotstable for time-series data that can’t be reconstructed from release dates alone (e.g., total module count over time)
Priority Phases 1-2 deliver the most value with the least effort — they use only existing data and existing infrastructure. Phase 3 is a natural extension. Phases 4-5 are refinements. Phase 6 is a separate product surface.