Download Helper icon
Module Id
download-helper
Group Id
org.jahia.community
Updated
Requires Jahia
8.2.1.0
Author
Florent BOURASSE
Category
Tools and Utilities
Status
COMMUNITY info

Download Helper group_work

cloud

The purpose of this simple module is to execute a download from a Jahia instance in order to prevent any potential timeout that could occur when a big file is being uploaded.

This module has been mainly developed for Jahia Cloud customers that will want to download a file from https://ftp.jahia.com or ftp://ftp.jahia.com. Credentials for these tools can be asked through the Support space of Jahia.

Dependencies & Dependants

Dependants
  • NONE

Changelog 2.0.4

Highlights

  • Major security hardening of DownloadHelperService against SSRF, log injection, and related risks.
  • Comprehensive WCAG 2.1 AA accessibility fixes across the admin UI.
  • Dependency and CVE remediation (systeminformation, @babel/plugin-transform-modules-systemjs) plus Dependabot onboarding.
  • Test suite improvements and Cypress lint fixes.

Features

  • Added Dependabot configuration (.github/dependabot.yml) for automated dependency monitoring.
  • Added AGENTS.md and a CLAUDE.md reference to support AI-assisted development workflows.
  • Revised SECURITY.md policy and reporting guidelines.

Fixes

  • security: harden DownloadHelperService against SSRF, log injection, and related vulnerabilities (406ed1c).
  • a11y: darken info paragraph text to #434a56 for AA contrast (b32f488).
  • a11y: fix AAA contrast, AA contrast, and form labeling violations (17472d7).
  • a11y: fix all WCAG 2.1 AA violations in download-helper (c8bee4c).
  • fix: resolve WCAG 2.1 AA accessibility issues in admin UI (47683e4).
  • Fix CVE: upgrade systeminformation 5.31.5 → 5.31.6 via resolution (f257838).
  • Fix Dependabot alerts: upgrade @babel/plugin-transform-modules-systemjs (4733d2e).
  • Attempt to resolve additional Dependabot alerts (2e025c8).
  • Correct Linx-reported issues in Cypress tests (98c6257).

Refactoring

  • Substantial rework of DownloadHelper.jsx and DownloadHelper.scss (UI/accessibility refactor).
  • Backend service refactor in DownloadHelperService.java accompanying security hardening.
  • Locale updates in en.json for new/changed labels.
  • Renamed CLAUDE.md → AGENTS.md with a stub CLAUDE.md reference.
  • Added Yarn (.yarnrc.ymltests/.yarnrc.yml) and updated .gitignore to exclude .codegraph/.

Tests

  • Tests improvement (7b3fe03).
  • Lint/Cypress hygiene fixes in tests/cypress/e2e/01-downloadHelper.cy.ts (98c6257).
  • Updated tests/package.json and refreshed tests/yarn.lock.

Full Changelog2_0_3...2_0_4

FAQ

How to use?

  • Do not forget to configure the mail server settings if you want to be notified about the start/end/potential failure of the download
  • Go to "Administration --> Server settings --> System components --> Download helper"
    • Fill the different fields then click on the button Submit
    • The file will be downloaded in the folder /tmp

How To Install

  • In Jahia, go to "Administration --> Server settings --> System components --> Modules"
  • Upload the JAR download-helper-X.X.X.jar
  • Check that the module is started

Images

License

MIT License Copyright (c) 2020 - present Florent BOURASSÉ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.