yasm
YASM (Yet Another Statistics Module) provides detailed statistics about your Drupal site:
content, users, files, entities, groups and historical reports — all in one place, with sortable
data tables, charts and fine-grained permission control.
Compatible with Drupal 10.3 and 11.
Features
- Statistics dashboard integrated into the native Drupal reports section (/admin/reports)
- Clean tab navigation: 4 primary tabs (Site statistics, My statistics, Reports, Settings) with sub-page navigation rendered inside the content area
- Summary dashboard with counts for contents, users, files, entities, groups and more
- Monthly evolution of nodes, users and files (creation and updates)
- Year filter on content, users and file pages to narrow statistics to a specific year
- Sortable, searchable and exportable data tables powered by DataTables 2.x (no jQuery dependency)
- DataTables interface automatically translated to the site language (80+ languages supported)
- Configurable pagination: choose 10, 25, 50, 100 or 1000 rows per page
- Export data to CSV, Excel or PDF via integrated DataTables buttons
- Charts integration via the Charts module (optional submodule)
- Icons powered by FontAwesome 6.x on all cards and panels
- Personal statistics: each user can see their own content, files, groups and creator ranking
- Embeddable blocks to display counts anywhere on your site (optional submodule)
- Fine-grained permission control for site-wide, personal statistics, reports and settings
- Smart cache: counts refresh automatically when content changes; aggregated data refreshes every 24 hours
- Compatible with Group module versions 1.x, 2.x and 3.x
- Yearly report: cumulative totals per entity and bundle for any year since the first content, with diff vs. previous year; covers nodes, comments, users, taxonomy terms, files, media, groups and webform submissions
- Monthly report: cumulative totals for the last 12 months with diff vs. previous month; same entity coverage as the yearly report
- Scheduled email reports: automatically send the yearly and/or monthly report by email to a configurable list of recipients
- Demo report button in settings to preview email output before enabling automated sends
- Full Catalan translation included
Requirements
- Drupal 10.3 or 11
- Core modules: user, datetime
- yasm_charts additionally requires the Charts module
- yasm_blocks additionally requires the core block module
Installation
Install only what you need:
Core statistics only (tables and counts):
composer require 'drupal/yasm' --prefer-dist
With charts support:
composer require 'drupal/yasm' 'drupal/charts' --prefer-dist
Then enable the modules at /admin/modules or via Drush:
drush en yasm yasm_charts yasm_blocks
Statistics pages
Site statistics — /admin/reports/yasm/site-summary
- Summary: counts for nodes (published and unpublished), comments, media, files
(with total disk space), webforms, webform submissions, users (active and blocked),
taxonomy vocabularies and terms, groups, menus, blocks, custom blocks, views, roles,
image styles, content types, paragraph types, fields, languages and enabled modules. - Site contents — /admin/reports/yasm/site-contents (all time or filtered by year):
- Nodes by content type, published vs. unpublished breakdown
- Nodes by language (when the Language module is enabled)
- Nodes created and updated monthly
- Top content creators globally, by year and by month
- Last 20 created nodes with author, type and publication status
- Site users — /admin/reports/yasm/site-users (all time or filtered by year):
- Users by status, role, last access, email domain and preferred language
- Recently registered users with role and status
- Recent users who have accessed the site
- Top content creators
- New users created monthly
- Site files — /admin/reports/yasm/site-files (all time or filtered by year):
- Total files, total disk space and average file size
- Files by status (permanent vs. temporary)
- Files by stream wrapper (public, private, temporary...)
- Files by MIME type group and full MIME detail
- Top 20 largest files
- Top 20 uploaders by file count and total size
- New files uploaded monthly
- Site groups — /admin/reports/yasm/site-groups (requires Group module — versions 1.x, 2.x and 3.x):
- Group contents by content type for every group
- Group members by group role for every group
- Top 20 groups by content count
- Top 20 groups by member count
- Site entities — /admin/reports/yasm/site-entities:
- Total records per entity type with bundle breakdown
- Summary cards for the top entity types by record count
My statistics — /admin/reports/yasm/my-summary
- My summary: personal counts for authored nodes (by type), comments, media, files,
disk space used, webform submissions and overall creator ranking (globally, by year and by month). - My contents — /admin/reports/yasm/my-contents (all time or filtered by year):
- My nodes by content type, published vs. unpublished breakdown
- My nodes created and updated monthly
- Last 20 nodes I created
- My top co-authored content types
- My groups — /admin/reports/yasm/my-groups (requires Group module):
- Contents and members in each of my groups
- Members by group role and by email domain
- Members by last access period
- Group content created monthly
- Per-group drill-down by clicking on a specific group tab
Reports — /admin/reports/yasm/report-yearly and /admin/reports/yasm/report-monthly
- Yearly report: cumulative totals per entity type and bundle for any year from the first content up to the current year, plus a diff column showing items created that year (new in that year vs. previous year). Navigate between years via year tabs.
- Monthly report: cumulative totals for each of the last 12 months with diff vs. the previous month. Navigate via month tabs.
- Both reports cover: nodes (by content type), comments, users, taxonomy terms (total only — no creation date), files, media, groups and webform submissions — only for modules that are actually enabled.
- Entities without a creation date (e.g. taxonomy terms) show current totals only; the diff column displays — (not applicable).
- Both tables are exportable to CSV, Excel and PDF.
Settings — /admin/reports/yasm/settings
- Enable or disable scheduled email delivery of the yearly and/or monthly report
- Configure the list of recipient email addresses
- Send a demo report immediately to preview the email output
- Reports are sent automatically via cron (once per year / once per month)
- Email subject includes site name: Site name – Yearly report: 2024
- Emails are sent as HTML with a styled table; UTF-8 encoded and safe for all mail clients
- Optionally enable FontAwesome CDN loading for icons in blocks
Submodules
yasm_charts
Adds visual charts to all statistics pages using the
Charts module.
Supports any Charts-compatible library: Google Charts, Chart.js, Highcharts, etc.
Charts are automatically appended next to each data table without any configuration.
yasm_blocks
Provides three embeddable blocks configurable via the standard Drupal block layout UI:
- YASM site counts: total nodes, comments, files, users and groups
- YASM current user counts: the logged-in user's authored nodes, comments and files
- YASM group counts: contents and members of a specific group or the group resolved from the current route
All blocks support three display styles: list, cards and animated counters.
Optionally load FontAwesome from CDN if not already provided by your theme.
Permissions
- Access site statistics summary — main dashboard
- Access site contents statistics — requires Node module
- Access site users statistics — requires User module
- Access site files statistics — requires File module
- Access site entities statistics
- Access site groups statistics — requires Group module
- Access my statistics summary — personal dashboard
- Access my contents statistics — requires Node module
- Access my groups statistics — requires Group module
- Access yearly and monthly reports — historical reports
- Access YASM settings — configure scheduled emails and display options
Assign permissions at /admin/people/permissions to control who sees what.
Contrib modules supported
- Group — group statistics and per-group blocks (versions 1.x, 2.x and 3.x)
- Webform — webform and submission counts in the summary, personal dashboard and reports
- Charts — visual charts (required by the yasm_charts submodule)
- Core Media, Comment, Taxonomy, Language, Views, Block, Image, Paragraphs — all detected automatically; counts appear only when the module is enabled