FAQ

Short answers in full sentences, because one-word FAQ entries help nobody when folders, SKUs, and product IDs are involved.

What problem does this plugin solve?

J2Commerce Add Files stores a static path. When you ship versioned ZIPs into folder trees, that path goes stale after every release. This plugin syncs the primary product file to the newest ZIP and can register older ZIPs as extra files so you stop hand-editing product files for a living.

Do I still upload ZIPs myself?

Yes. Sync reads folders you maintain under the J2Commerce attachment root. It does not pull from RCA feeds, build ZIPs, or upload through FTP for you.

What is the folder and ZIP naming rule?

Each sellable package lives in free/{package}/ or pro/{package}/. Each release ZIP at the folder root must be named {package}_{version}.zip where {package} equals the folder basename. The archive/ subfolder inside a package directory is never scanned.

Does master SKU capitalization matter?

Pairing treats SKUs as the same when they differ only by letter case. Auto still opens the folder path built from the master SKU exactly as saved in J2Commerce. On case-sensitive Linux hosts, pro/pkg_rca_foo/ is not found when the SKU is saved as PKG_RCA_FOO. Match SKU text to the folder basename character for character; RCA uses all lowercase for both.

What is the easiest way to pick the correct SKU?

With Auto SKU from file path on (default), open the product Files tab and choose or save a download path under free/ or /pro/. The plugin sets the master variant SKU to the folder name in that path and updates the General tab while the popup is open. If Auto SKU is off, copy the folder segment from the path (for example mod_addmenuitem from /free/mod_addmenuitem/mod_addmenuitem_1.0.11.zip) into the SKU on the General tab and save.

Does every product need a line in the Product folder map?

No, when Full Auto is on and the master variant SKU matches the folder name. Use map lines for Manual mode, for overrides, or when SKU and folder name intentionally differ.

Why does the Sync panel list folders with ZIPs but no SKU?

Sellable unmapped folders have valid ZIPs but no downloadable product whose master SKU equals that folder name. Align the SKU to the folder basename or add an override line. Child folders under a package suite are usually listed under Ignored folders instead when retail sellable-only is enabled.

Can I sync individual child extension ZIPs to separate products?

Yes, with Auto plus Product folder map overrides pointing at pro/com_* or similar paths. Retail sellable-only does not block override lines. RCA’s own storefront normally sells only the pkg_* product.

How do I disable one product without deleting the map line?

In Manual mode, start the line with # or ;. In Auto mode, fix or remove the SKU match or unpublish the product.

Does this replace RCA J2C DirectDownload?

No. DirectDownload serves free products from articles with the rcadownload shortcode. DownfilesSync keeps J2Commerce product file rows honest for catalog downloads.

What does Sync change in the database?

It updates managed J2Commerce product file rows for mapped products, primarily the lowest-id row for the latest ZIP, and adds rows for prior ZIPs up to keep_prior when configured.

Is cron required?

No. Super Users can run Sync Now. Cron is optional for hands-off sync after releases. Append &force=1 to ignore change-only skips for one run.

What if my paths used a leading slash?

Legacy paths that start with slash are treated like paths without the leading slash since version 1.0.2. Sync rewrites the lowest-id row to the canonical no-leading-slash form.

What should I see after Sync Now?

From version 1.2.4 onward, the Sync panel shows an in-progress notice, then green, yellow, or red summary text with synced, skipped, and error counts. Expand the JSON log under the button for per-folder messages.

What should I send support?

Send Joomla version, J2Commerce version, plugin version 1.2.4 or newer, one example SKU and folder path, any map override line, and the exact Sync panel or log message.