PHPackages                             nicolas-souffleur/archiver-step-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. nicolas-souffleur/archiver-step-bundle

ActiveSymfony-bundle[File &amp; Storage](/categories/file-storage)

nicolas-souffleur/archiver-step-bundle
======================================

Add this step to a connector and manage by yourself where to stock the imported files

20PHP

Since Nov 7Pushed 7y ago1 watchersCompare

[ Source](https://github.com/nicolasfl/ArchiverStepBundle)[ Packagist](https://packagist.org/packages/nicolas-souffleur/archiver-step-bundle)[ RSS](/packages/nicolas-souffleur-archiver-step-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

[![ArchiverStepBundle](doc/ArchiverStep.png)](doc/ArchiverStep.png)

ArchiverStepBundle
==================

[](#archiverstepbundle)

Plug this step to a connector and manage by yourself where to stock the imported files. To make it easier for you, the connector will create a directory everyday to organize the files. You can also use it as a product import job.

Requirements
------------

[](#requirements)

ArchiverStepBundleAkeneo PIM Community EditionAkeneo PIM Enterprise Editionv1.1.\*v3.\*v3.\*Installation
------------

[](#installation)

Enter the following command line:

```
$php composer.phar require "nicolas-souffleur/archiver-step-bundle":"1.1.*"
```

Then enable the bundle in the `app/AppKernel.php` file in the registerProjectBundles() method:

```
$bundles[] = new \Extensions\Bundle\ArchiverStepBundle\ExtensionsArchiverStepBundle()
```

Usage
-----

[](#usage)

Two ways are possible :

- Use it as a product import job directly
- Plug it to another connector

### As a product import job

[](#as-a-product-import-job)

- It's easy, go to the Import Profiles Management page and click on "Create Import Profile"
- Then, select the 'CSV Product Import with Archiver Step' profile.
- Configure it like a classic product import job.
- In the field "Archives directory path" configure the directory where you want to archive your files.

### Plug it to a connector

[](#plug-it-to-a-connector)

- In the edit form\_extension file of your own connector, add the following lines at the end of the file :

```
    pim-job-instance-csv-product-import-archiver-edit-properties-archiver-enabled:
        module: pim/job/common/edit/field/switch
        parent: pim-job-instance-csv-product-import-archiver-edit-global
        position: 125
        targetZone: properties
        config:
            fieldCode: configuration.archiverEnabled
            readOnly: false
            label: archiver.form.job_instance.tab.properties.archiverEnabled.title
            tooltip: archiver.form.job_instance.tab.properties.archiverEnabled.help

    pim-job-instance-csv-product-import-archiver-edit-properties-dir-archive:
        module: pim/job/common/edit/field/text
        parent: pim-job-instance-csv-product-import-archiver-edit-global
        position: 130
        targetZone: properties
        config:
            fieldCode: configuration.dirArchive
            readOnly: false
            label: archiver.form.job_instance.tab.properties.dir_archive.title
            tooltip: archiver.form.job_instance.tab.properties.dir_archive.help
```

- In your JobParameters file, add the two following declarations :

```
use Symfony\Component\Validator\Constraints\NotNull;
use Symfony\Component\Validator\Constraints\Type;
```

Then add those two functions to add the two new fields to your configuration :

```
/**
     * {@inheritdoc}
     */
    public function getDefaultValues()
    {
        return array_merge($this->baseDefaultValuesProvider->getDefaultValues(), [
                'archiverEnabled' => true,
                'dirArchive'     => './var/archives/'
            ]);
    }

    /**
     * {@inheritdoc}
     */
    public function getConstraintCollection()
    {
        $baseConstraints  = $this->baseConstraintCollectionProvider->getConstraintCollection();
        $constraintFields = array_merge($baseConstraints->fields, [
            'archiverEnabled' => new Type('bool'),
            'dirArchive'     => new NotNull()
        ]);

        return new Collection(['fields' => $constraintFields]);
    }
```

Roadmap
-------

[](#roadmap)

- \[DONE\] Archive the files depending on the import status

Don't hesitate to send me a message if you would like other features :)

About me
--------

[](#about-me)

Specialized in Akeneo since its launch in 2014, I'm helping companies to implement this efficient and essential solution, to integrate it into their workflow and to structure their data. Feel free to contact me through my contact form on my website () or directly by email ().

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/eebb9cec110f6185d56b48c2a92de975a505c223f2862399b43a34d31bda4fb3?d=identicon)[Nicolasfl](/maintainers/Nicolasfl)

---

Top Contributors

[![nicolasfl](https://avatars.githubusercontent.com/u/7324147?v=4)](https://github.com/nicolasfl "nicolasfl (3 commits)")

### Embed Badge

![Health badge](/badges/nicolas-souffleur-archiver-step-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/nicolas-souffleur-archiver-step-bundle/health.svg)](https://phpackages.com/packages/nicolas-souffleur-archiver-step-bundle)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M125](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
