Requirements

DownfilesSync sits between J2Commerce and your on-disk ZIP layout. If any layer below is wrong, Sync will faithfully update the wrong row or report no ZIP found while you stare at a folder that clearly has files in it.

What Joomla and PHP versions are supported?

The plugin targets Joomla 4, 5, and 6 with PHP 8.1 or newer per manifest. Run the same PHP version your live J2Commerce shop uses, not only what phpinfo shows on an unrelated vhost.

What commerce software must be present?

J2Commerce with downloadable products configured is required. The plugin reads and updates J2Commerce product file rows for mapped product IDs. It does not replace J2Commerce installation, licensing, or checkout configuration.

What disk tree does Sync expect?

J2Commerce configuration must set Attachment folder path to the downloads root — the parent directory that contains free/ and pro/, not a single package folder inside them.

Under that root, each extension package lives in its own folder:

  • {attachment_root}/free/{package}/ for free-tier builds
  • {attachment_root}/pro/{package}/ for pro-tier builds

Inside each package folder, versioned release ZIPs sit at the folder root with this exact naming pattern:

{package}_{version}.zip

The value {package} must match the last segment of the folder path (for example folder free/pkg_rca_arrowchat expects ZIP names like pkg_rca_arrowchat_1.0.21.zip).

The archive/ subfolder inside a package directory is never scanned. Move retired ZIPs into archive/ when you want them off the sync scanner but kept on disk.

Optional CHANGELOG.md in the same package folder can be registered as an extra product file when changelog sync is enabled for that map row.

Master SKU spelling and capitalization

In Full Auto mode, the plugin pairs a downloadable product to a folder whose name matches the master variant SKU. That pairing treats SKUs as the same when they differ only by letter case (for example pkg_rca_arrowchat and PKG_RCA_ARROWCHAT are the same SKU for matching).

Opening the folder on disk is a separate step. Auto builds the path as {attachment_root}/{tier}/{master SKU exactly as saved in J2Commerce}/. On typical Linux servers the filesystem is case-sensitive, so a folder named pro/pkg_rca_arrowchat/ is not found when the master SKU is saved as PKG_RCA_ARROWCHAT even though the names look alike. Fix mismatches by making the J2Commerce SKU and the on-disk folder basename identical, character for character.

RCA convention is all lowercase with underscores for both SKUs and folder names (pkg_rca_*, plg_system_*). Use that everywhere and you avoid capitalization surprises. Versioned ZIP prefixes are matched case-insensitively against the package slug used for scanning, but the folder basename and SKU should still match in the normal lowercase form so paths resolve reliably.

Practical shortcut in J2Commerce admin: On the product Files tab, the path looks like /free/{folder}/{folder}_{version}.zip or /pro/{folder}/…. Copy {folder} into the master variant SKU on the General tab. That is the same value Full Auto uses for mapping.

Manual map lines and Auto overrides use the folder segment you type in the map (pro/pkg_rca_feedfactory). That path must match the real directory name on a case-sensitive filesystem as well.

Package suites versus child folders on disk

RCA package releases often place child extension ZIPs (com_*, mod_*, plg_*) on the server for Joomla Updater feeds. Those child folders are not separate storefront products when you sell only the pkg_* bundle. Full Auto mode with Retail sellable folders only treats those child paths as updater-only and lists them under Ignored folders on the Sync panel, not as errors.

What access do I need in admin?

Super User access is required to configure the plugin, save options, and run Sync Now from the Sync panel. Optional cron uses a secret key you invent; anyone who knows the key can trigger sync, so treat it like a password.

What license tier applies?

This extension is Pro. You need Pro access from https://recreatinganew.com to download the package and receive private feed updates.