Download the PHP package id/auto-sync-files without Composer

On this page you can find all versions of the php package id/auto-sync-files. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package auto-sync-files

Auto Sync Files

TYPO3 13.4 LTS and 14.3 LTS – Auto Sync Files Extension

Extension TYPO3 PHP Status
14.x 13.4, 14.3 8.2 – 8.5 current
13.0.x 13.4 8.2 – 8.5 replaced by 14.x
12.0.x 12.4 8.1+ no longer maintained (branch 12.x)

This extension periodically downloads external files via the TYPO3 Scheduler to your local webspace so that you always have the newest version available. It is especially useful for caching external resources and improving performance. Additionally, the extension offers an optional Download & Extract mode which downloads a compressed archive (ZIP, TAR, TAR.GZ) and extracts it into a target folder, either merging it with the existing files (default) or replacing them.


Requirements


Installation

Via Composer

The package is available on Packagist:

Version 14.x works with TYPO3 13.4 and 14.3. For TYPO3 12.4 use composer require id/auto-sync-files:^12.0.

Package renamed: up to version 14.0.0 the Composer package was named ingeniumdesign/auto-sync-files. That name is no longer available on Packagist; all versions (including 12.0.x and 13.0.x) are available as id/auto-sync-files. To switch:

  1. Pause the scheduler cron job (while the extension is not installed, TYPO3 disables due tasks of this extension).
  2. Run composer remove ingeniumdesign/auto-sync-files and composer require id/auto-sync-files:^14.0.
  3. Start the cron job again.

The extension key auto_sync_files, the scheduler tasks and their settings stay the same.

Classic mode (without Composer)

  1. Download the extension from the TYPO3 Extension Repository or take the file auto_sync_files_<version>.zip attached to a GitHub release. (The "Source code" archives that GitHub generates automatically cannot be uploaded in the Extension Manager.)
  2. Install it via Admin Tools > Extensions (upload the ZIP) or extract it into typo3conf/ext/auto_sync_files/.
  3. Activate the extension in Admin Tools > Extensions.

Features


Example 1: Download Only – Google Analytics 4 (gtag.js)

A classic use case for the Download Only mode is hosting the Google Analytics 4 tag library locally instead of loading it directly from Google's servers. This improves caching behavior and gives you full control over when the file is updated.

Setup

  1. Add a new Scheduler Task: In the TYPO3 backend, go to System > Scheduler and add a new task. Select "Auto Sync Files: Download only" as the task type.

  2. Configure the Task:

    • Download URL: Set this to the URL of the GA4 tag library, including your Measurement ID. Example: https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX
    • Local path: Set this to the absolute path where the file should be stored. It must be inside the TYPO3 public directory, and its folder must already exist; the field's placeholder shows the public path of your installation. Example: /var/www/html/public/fileadmin/Templates/Assets/JavaScript/gtag.js
    • Clear cache: Enabled by default. The frontend caches are flushed when a new version is detected (only if the downloaded file differs from the stored file).
  3. Include the Synced File in TypoScript:

  4. Initialize Google Analytics 4: Add the GA4 initialization snippet to your template. It uses the locally hosted gtag.js included above:

Note on local GA4 hosting: The gtag.js loader may dynamically request additional Google scripts at runtime, so local hosting reduces the initial third-party request but does not eliminate all external calls. For fully first-party tracking, consider a server-side tagging setup or a privacy-friendly alternative such as Matomo.


Example 2: Download & Extract – External Asset Archive

A common use case is to keep a folder in your TYPO3 project in sync with a remotely hosted archive — for example a third-party asset bundle, a corporate design package, or any other set of files that gets updated periodically on an external server.

Setup

  1. Add a new Scheduler Task: In the TYPO3 backend, go to System > Scheduler and add a new task. Select "Auto Sync Files: Download & extract" as the task type.

  2. Configure the Task:

    • Download URL: Set this to the URL of the compressed archive (ZIP, TAR, or TAR.GZ). Example: https://example.com/downloads/assets.zip
    • Local path: Specify the absolute path to the target folder where the archive should be extracted. Example: /var/www/html/public/fileadmin/sync/external_assets/

      ℹ️ The target folder itself is never deleted — only its contents are managed according to the Replace mode option below. If the folder does not exist yet, it will be created on first run; its parent folder must already exist and be writable (e.g. create fileadmin/sync/ first).

    • Replace mode: Controls how the existing contents of the target folder are handled.

      • Off (default): Merge mode — files from the archive overwrite same-named entries in the target folder; additional files already present in the target folder are kept untouched.
      • On: Replace mode — all existing files and subfolders inside the target folder are deleted and replaced by the archive contents, leaving a 1:1 copy of the archive. The deletion only happens after the archive has been extracted successfully; if extraction fails, the target folder is left untouched.

      ⚠️ Warning (Replace mode): Any files you may have placed manually in the target folder will be lost on the next run. Always use a dedicated subfolder — never set the local path to the root of /fileadmin/ or any other critical directory. Replace mode is refused for the TYPO3 public directory itself and for typo3temp/; Merge mode into the public directory is allowed.

    • Clear cache: Enabled by default. The frontend caches are flushed after the target folder has been updated.
  3. Result: On each scheduled run the archive is downloaded, hashed against the last successful run (skipped entirely if unchanged), extracted into a temporary directory, and then either merged into or replacing the contents of the target folder — depending on your Replace mode setting.

How It Works

Logging: Errors during execution are logged via the TYPO3 LogManager. With the default configuration they end up in var/log/typo3_*.log (classic mode: typo3temp/var/log/). Logging can be configured in config/system/additional.php (classic mode: typo3conf/system/additional.php). The log channel depends on the TYPO3 version: on TYPO3 13.4 the tasks log via the scheduler's channel TYPO3\CMS\Scheduler\Task\AbstractTask, so configure writers under $GLOBALS['TYPO3_CONF_VARS']['LOG']['TYPO3']['CMS']['Scheduler'] (this also affects other scheduler tasks); on TYPO3 14.3 they log via their own class names, so a configuration under $GLOBALS['TYPO3_CONF_VARS']['LOG']['ID']['AutoSyncFiles'] works there.


Important Notes


Known Limitations


Upgrading from TYPO3 13.4 to 14.3

Version 14.x supports both TYPO3 versions, so the extension can stay the same while you upgrade the core. TYPO3 14 stores scheduler tasks in a new format; an upgrade wizard converts existing tasks. Task UIDs and settings are kept.

  1. On TYPO3 13.4, update this extension to 14.x first (Composer: id/auto-sync-files:^14.0).
  2. Pause the scheduler cron job.
  3. Upgrade the TYPO3 core to 14.3 and run the database compare.
  4. Run the upgrade wizard "Migrate the contents of the tx_scheduler_task database table into a more structured form." (identifier schedulerDatabaseStorageMigration) in Admin Tools > Upgrade, or vendor/bin/typo3 upgrade:run schedulerDatabaseStorageMigration.
  5. Check the task list in System > Scheduler. Tasks that were due while the wizard had not run yet are disabled by TYPO3; enable them again, their settings are kept.
  6. Start the scheduler cron job again.

Upgrading from TYPO3 12.4 (extension 12.0.x)

Version 14.x supports TYPO3 13.4 and 14.3; upgrade from TYPO3 12.4 to 13.4 first. Existing scheduler tasks keep working: task classes and their settings are unchanged.

  1. Pause the scheduler cron job while you upgrade the TYPO3 core.
  2. Update TYPO3 and this extension in the same step (Composer: id/auto-sync-files:^14.0, see "Package renamed" above if your project still uses the old package name; classic mode: install 14.x before the scheduler runs on TYPO3 13.4 for the first time). The scheduler disables tasks whose class cannot be loaded, so the extension must be available before the first scheduler run.
  3. Flush all caches, then check the task list in System > Scheduler: all Auto Sync Files tasks should still be enabled.
  4. If a task shows up as disabled anyway, enable it again; its settings are kept.
  5. Download & Extract tasks created with 12.0.5 or older always replaced the contents of the target folder. Since 12.0.6 these tasks run in Merge mode. If you want the old behaviour, open the task and enable Replace mode before its first run after the upgrade (otherwise that run stores the archive hash, and later runs skip the unchanged archive).
  6. Download & Extract tasks that use TAR / TAR.GZ archives with paths starting with ./ fail since 12.0.7; see "Known Limitations".
  7. Tasks created with version 1.0.0 (class ID\AutoSyncFiles\Task\Task) cannot be loaded any more and must be created again.

License

This extension is released under the MIT License. See the LICENSE file for full details.


Contact & Communication

GitHub

Auto Sync Files on GitHub

Agency

INGENIUMDESIGN TYPO3 – Internetagentur 65510 Idstein https://www.ingeniumdesign.de/ [email protected]

Donate


Live References

We are searching for live references or live examples of the Auto Sync Files Extension. Please contact us if you're using it!

Links/References: https://www.baukasten-typo3.de/ – by INGENIUMDESIGN


All versions of auto-sync-files with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-zip Version *
ext-phar Version *
typo3/cms-core Version ^13.4 || ^14.3
typo3/cms-scheduler Version ^13.4 || ^14.3
typo3/cms-extbase Version ^13.4 || ^14.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package id/auto-sync-files contains the following files

Loading the files please wait ...