WM Open · Drupal 11 / 12

WM Downloads for Drupal

Free v1.0.0

Free download manager module

The Drupal counterpart of the Joomla wmDownloads component: files and external links, categories, a public catalogue, CSV import and a latest-downloads block. Files sit in Drupal’s private file system and are served only after publication, window and role checks.

Requires Drupal 11.2+ or 12 · PHP 8.3+ · private file path for uploads · GNU General Public License version 2 or later · Package wmdownloads

Why this package?

Sites that only need a simple, reliable way to:

  • Store documents securely (not as open media URLs)
  • Organise downloads by category
  • Track download counts
  • Mix real files with external links
  • Present everything in a polished front-end list

WM Downloads focuses on that job — without the weight of a full document management suite.

Capabilities

What’s included

Package contents

  • wmdownloads — Drupal module — download entity, catalogue, import, settings and latest block

Current version: 1.0.0

Features

  • Files or links — private storage or an http/https URL
  • Protected delivery — no direct /system/files; /downloads/{id}/file checks access and counts the hit
  • Categories — Download categories vocabulary, with Uncategorised on install
  • Hit counting on file delivery and counted link redirects
  • Publish window and states: Published, Unpublished, Archived, Trashed
  • Role visibility per download; administrators bypass the check
  • Public catalogue at /downloads — search, sort, subcategory filter
  • Instant in-browser filter below a size threshold; larger lists page on the server
  • CSV import from a private inbox (same columns as the Joomla package)
  • Core Search tab and a Views entity (wmdownload) when Search is enabled

Admin

  • wmDownloads in the admin menu — list, add, bulk actions, CSV import, settings
  • File uploads require $settings['file_private_path'] before files will save
  • Author is a public byline, separate from the Drupal account
  • Allowed extensions match the Joomla component by default
  • HTML and SVG uploads are sent as application/octet-stream

Front end

  • Catalogue path /downloads — place a menu link to it
  • Folder-tab type labels (PDF, DOC, XLS, PPT, IMG, ZIP, URL)
  • Themeable Twig: catalog, item and latest templates
  • CSS variables on .wmdownloads — the module does not load a web font

Block & API

  • wmDownloads latest block: category, file/link, order, list or cards
  • Hide when empty, or a short note and a link back to the catalogue
  • Service: wmdownloads.repository; event wmdownloads.deliver before a hit is recorded
  • composer require webmasterstudios/wmdownloads from a path repository

Best suited for

  • Drupal 11/12 sites that need a document library without a heavy DAM
  • Public-sector catalogues of reports, factsheets and submissions
  • Anyone who wants the same idea as the Joomla package, native in Drupal

Documentation

Install, configure & use

WM Downloads for Drupal is a free Drupal 11/12 module: files and external links, categories, a public catalogue, CSV import and a latest-downloads block. Files are stored privately and served only after access checks.

Requirements

  • Drupal 11.2 or later (Drupal 12 compatible)
  • PHP 8.3 or newer
  • Private file path in settings.php for file uploads

Install

  1. Download wmdownloads-drupal-1.0.0.zip from this page.
  2. Extract so the folder is modules/custom/wmdownloads.
  3. Enable wmDownloads and rebuild caches.
  4. Confirm $settings['file_private_path'] if you will upload files.

Quick start

  1. Place a menu link to /downloads.
  2. Add downloads (file or link) and categories under wmDownloads.
  3. (Optional) Place the wmDownloads latest block.
  4. (Optional) Copy files into the private inbox and import the CSV template.

More detail

CSV columns: filename,title,description,category_alias,author,created_date,hits

Install grants View the download catalogue to anonymous and authenticated users. External links work without a private path; file uploads do not. Uninstalling removes downloads, the vocabulary, configuration, and files under private://wmdownloads.

License

GNU General Public License version 2 or later

GPL-2.0-or-later

This software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A copy of the license is included in the package as LICENSE.txt. Full text: gnu.org · GPL v2.

  • GPL-2.0-or-later — free for the community
  • Install on as many of your own Drupal sites as you like
  • Support and custom development available on request

Support & custom work

Built for real production use — including document-heavy resource libraries. For support, branding tweaks or custom features, contact WM Studios.