PHPackages                             spryker-demo/import-process-feature - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. spryker-demo/import-process-feature

ActiveMetapackage[Utility &amp; Helpers](/categories/utility)

spryker-demo/import-process-feature
===================================

Import process \[feature\]

1.0.0(7mo ago)00proprietaryPHP &gt;=8.2CI passing

Since Sep 25Pushed 7mo agoCompare

[ Source](https://github.com/spryker-demo/import-process-feature)[ Packagist](https://packagist.org/packages/spryker-demo/import-process-feature)[ RSS](/packages/spryker-demo-import-process-feature/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

ImportProcessFeature Module
===========================

[](#importprocessfeature-module)

[![Minimum PHP Version](https://camo.githubusercontent.com/ec21f169d70b69344c67d6f18fa1a24d20476d2f0cd680e8c4a1534c22f34e5f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230382e322d3838393242462e737667)](https://php.net/)

Import Process Feature

Installation
------------

[](#installation)

### Add repositories to composer as they are not registered in packagist.org

[](#add-repositories-to-composer-as-they-are-not-registered-in-packagistorg)

```
composer config repositories.spryker-demo-import-process-feature vsc 'https://github.com/spryker-projects/import-process-feature.git'
composer config repositories.spryker-demo-import-process vsc 'https://github.com/spryker-projects/import-process.git'
composer config repositories.spryker-demo-import-process-gui vsc 'https://github.com/spryker-projects/import-process-gui.git'
composer config repositories.spryker-demo-import-process-google-sheets vsc 'https://github.com/spryker-projects/import-process-google-sheets.git'
composer config repositories.spryker-demo-import-process-google-sheets-gui vsc 'https://github.com/spryker-projects/import-process-google-sheets-gui.git'

```

### Install feature

[](#install-feature)

```
composer require spryker-demo/import-process-feature

```

### Add `SprykerDemo` namespace and Google Sheets API credentials to configuration

[](#add-sprykerdemo-namespace-and-google-sheets-api-credentials-to-configuration)

```
use SprykerDemo\Service\GoogleSheets\GoogleSheetsConfig;
use SprykerDemo\Shared\GoogleSheets\GoogleSheetsConstants;
...

$config[KernelConstants::CORE_NAMESPACES] = [
    ...
    'SprykerDemo',
];
...

$config[GoogleSheetsConstants::GOOGLE_SHEETS_CREDENTIALS] = [
    GoogleSheetsConfig::CREDENTIAL_FIELD_TYPE => 'service_account',
    GoogleSheetsConfig::CREDENTIAL_FIELD_PROJECT_ID => getenv('SPRYKER_GOOGLE_SHEETS_PROJECT_ID'),
    GoogleSheetsConfig::CREDENTIAL_FIELD_PRIVATE_KEY_ID => getenv('SPRYKER_GOOGLE_SHEETS_PRIVATE_KEY_ID'),
    GoogleSheetsConfig::CREDENTIAL_FIELD_PRIVATE_KEY => getenv('SPRYKER_GOOGLE_SHEETS_PRIVATE_KEY'),
    GoogleSheetsConfig::CREDENTIAL_FIELD_CLIENT_EMAIL => getenv('SPRYKER_GOOGLE_SHEETS_CLIENT_EMAIL'),
    GoogleSheetsConfig::CREDENTIAL_FIELD_CLIENT_ID => getenv('SPRYKER_GOOGLE_SHEETS_CLIENT_ID'),
    GoogleSheetsConfig::CREDENTIAL_FIELD_AUTH_URI => 'https://accounts.google.com/o/oauth2/auth',
    GoogleSheetsConfig::CREDENTIAL_FIELD_TOKEN_URI => 'https://oauth2.googleapis.com/token',
    GoogleSheetsConfig::CREDENTIAL_FIELD_AUTH_PROVIDER_X_509_CERT_URL => 'https://www.googleapis.com/oauth2/v1/certs',
    GoogleSheetsConfig::CREDENTIAL_FIELD_CLIENT_X_509_CERT_URL => getenv('SPRYKER_GOOGLE_SHEETS_CLIENT_X_509_CERT_URL'),
];

```

Make sure to also set the needed environment variables.

### Build transfers

[](#build-transfers)

```
console transfer:generate

```

### Register import process queue

[](#register-import-process-queue)

```
# src/Pyz/Client/RabbitMq/RabbitMqConfig.php

...
use SprykerDemo\Zed\ImportProcess\ImportProcessConfig;
...

protected function getQueueConfiguration(): array
{
    return [
        ...
        ImportProcessConfig::IMPORT_PROCESS_QUEUE,
    ];
}
```

### Wire gueue message processor plugin

[](#wire-gueue-message-processor-plugin)

```
# src/Pyz/Zed/Queue/QueueDependencyProvider.php

...
use SprykerDemo\Zed\ImportProcess\Communication\Plugin\Queue\ImportProcessQueueMessageProcessorPlugin;
use SprykerDemo\Zed\ImportProcess\ImportProcessConfig;
...

// ...

protected function getProcessorMessagePlugins(Container $container): array
{
    return [
        ...
        ImportProcessConfig::IMPORT_PROCESS_QUEUE => new ImportProcessQueueMessageProcessorPlugin(),
    ];
});
```

### Wire import process plugins

[](#wire-import-process-plugins)

```
# src/Pyz/Zed/ImportProcess/ImportProcessDependencyProvider.php

use SprykerDemo\Zed\ImportProcess\ImportProcessDependencyProvider as SprykerDemoImportProcessDependencyProvider;
use SprykerDemo\Zed\ImportProcessSpreadsheet\Communication\Plugin\ImportProcess\ImportProcessSpreadsheetPayloadCleanupPlugin;
use SprykerDemo\Zed\ImportProcessSpreadsheet\Communication\Plugin\ImportProcess\ImportProcessSpreadsheetPayloadDownloadPlugin;

// ...

protected function getImportProcessDataImportConfigurationBuilderPlugins(): array
{
    return [
        // ...
        new ImportProcessSpreadsheetDataImportConfigurationBuilderPlugin(),
    ];
}

protected function getImportProcessDataImportPostExecutePlugins(): array
{
    return [
        // ...
        new ImportProcessSpreadsheetDataImportCleanupPlugin(),
    ];
}

```

### Adjust Navigation configuration file

[](#adjust-navigation-configuration-file)

```

    ...

        ...

            ...

                Import processes
                Import processes
                import-process-gui
                index
                index

```

### Apply Twig customization

[](#apply-twig-customization)

```
# src/Pyz/Zed/ProductManagement/Presentation/Index/index.twig

{% block action %}
    {{ createActionButton('/import-process-spreadsheet-gui/index/select-sheet', 'import_process.google_sheets.data_import_from_spreadsheet' | trans) }}
    ...
{% endblock %}

```

### Add `synchronization` Propel behavior

[](#add-synchronization-propel-behavior)

```

```

### Build Propel classes

[](#build-propel-classes)

```
console propel:install

```

### Generate Backoffice translations

[](#generate-backoffice-translations)

```
console translator:generate-cache

```

### Build Backoffice frontend

[](#build-backoffice-frontend)

```
frontend:zed:install-dependencies
frontend:zed:build

```

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance67

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

225d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c6756c39a921146991fee6b4090f4130af143ee3aa7a776b688365c5f3d5b511?d=identicon)[spryker\_solution\_consulting\_demos](/maintainers/spryker_solution_consulting_demos)

---

Top Contributors

[![asaulenko](https://avatars.githubusercontent.com/u/20285714?v=4)](https://github.com/asaulenko "asaulenko (1 commits)")

### Embed Badge

![Health badge](/badges/spryker-demo-import-process-feature/health.svg)

```
[![Health](https://phpackages.com/badges/spryker-demo-import-process-feature/health.svg)](https://phpackages.com/packages/spryker-demo-import-process-feature)
```

###  Alternatives

[mtrdesign/krait

Krait provides an easy way to create Ajax Datatables.

101.9k](/packages/mtrdesign-krait)

PHPackages © 2026

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