agencednd / module-pimgento

agencednd/module-pimgento

Module Pimgento for Magento 2

magento2-module Compatibility: Not yet tested Code Quality: Fail Tests: N/A Security: Pass OSL-3.0, AFL-3.0

Are you the maintainer of agencednd?

Packagento pulls agencednd's Composer packages from the public registry so buyers can find them here.

Claim the namespace to take ownership, publish new releases directly, and start charging for premium versions.

Claim this namespace →

PIMGento2

This version of PIMGento2 connector will not be maintained anymore by the end of 2018.
We kindly invite you to visit the Github repository of the new PIMGento2 (API) connector (https://github.com/Agence-DnD/PIMGento-2-API).

PIMGento2 is a Magento 2 extension that allows you to import your catalog from Akeneo CSV files into Magento.

You can discover PIMGento on the official website (https://www.pimgento.com/).

Documentation

PIMGento complete documentation is available here.

Upgrade from Magento 2.1 to 2.2

Please refer to Compatibility.

How it works

PIMGento reads CSV files from Akeneo and insert data directly in Magento database.

In this way, it makes imports very fast and doesn't disturb your e-commerce website.

With PIMGento, you can import :

  • Categories
  • Families
  • Attributes
  • Options
  • Variants (Akeneo < 2.0)
  • Product Model (Akeneo >= 2.0)
  • Family Variant (Akeneo >= 2.0)
  • Products

Requirements

  • Akeneo PIM >= 1.3 (CE & EE)
  • Magento >= 2.0 CE & EE
  • Database encoding must be UTF-8

Only for MySQL LOAD DATA INFILE statement:

  • Set local_infile mysql variable to TRUE
  • Add "driver_options" key to Magento2 default connection configuration (app/etc/env.php)
'db' =>
  array (
    'table_prefix' => '',
    'connection' =>
    array (
      'default' =>
      array (
        'host' => '',
        'dbname' => '',
        'username' => '',
        'password' => '',
        'active' => '1',
        'driver_options' => array(PDO::MYSQL_ATTR_LOCAL_INFILE => true),
      ),
    ),
  ),

If LOAD DATA INFILE statement is not authorized for security reasons, insertion row by row is possible.

Installation, Configuration and Usage

If you want to know how to install, configure or use PIMGento, please check how to... section. We advise you to start here!

Roadmap

We have updated our roadmap. Just go here.

About us

Founded by lovers of innovation and design, Agence Dn'D assists companies in the creation and development of customized digital (open source) solutions for web and E-commerce since 2004.

Change Log

All notable changes to this project will be documented in this file.

[100.4.0] - 2019-07-18

  • compatibility: Add Magento 2.3 compatibility
  • fix: error on getAttribute function when empty

[100.3.4] - 2018-12-04

  • fix: error on file deletion

[100.3.3] - 2018-05-15

  • fix: Missing call for pimgento_family_attribute_relations table
  • fix: columns added for upsell / crosssell / related links

[100.3.2] - 2018-02-02

  • update: uploaded file timestamp

[100.3.1] - 2018-01-12

  • update: Improved image import performance

[100.3.0] - 2017-12-05

  • update: Sample files updated with Akeneo 2.0 demo data
  • update: Akeneo 2.0 compatibility (Product model and Variant Family)
  • update: New module for upgrade from Magento 2.1 to 2.2 added (use only for upgrade)
  • update: Magento 2.2 compatibility (compatibility preserved with previous versions)
  • update: fix magic number
  • update: fix SQL error in option import for non existing attribute

[100.2.23] - 2017-10-25

  • update: set query number for rows insertion in configuration
  • fix : avoid warning with website matching

[100.2.22] - 2017-09-27

  • fix: Url Key localized

[100.2.21] - 2017-09-25

  • fix: Variant table engine for big data
  • fix: Attribute attached to a lot of families

[100.2.20] - 2017-09-05

  • update: disabled media importation if needed

[100.2.19] - 2017-08-30

  • update: EnhancedConnectorBundle requirement is now useless
  • fix: remove product from old categories

[100.2.18] - 2017-07-31

  • fix: import on table with prefix
  • fix: table engine with big data

[100.2.17] - 2017-07-21

  • fix: notice on table variable

[100.2.16] - 2017-07-20

  • fix: URL rewrite with ignored URL key

[100.2.15] - 2017-07-18

  • fix: incompatibility with EE staging content
  • fix: url_key erased when category url key update is set to NO

[100.2.14] - 2017-07-05

  • fix: event names
  • fix: static values for entity
  • fix: clean System Urls Before Insertion
  • fix: category URL key increment on multi-store

[100.2.12] - 2017-07-04

  • fix: overwriting of existing category product positions when importing products
  • fix: set Magento value data to NULL for empty Pim value

[100.2.11] - 2017-06-29

  • fix: Generate image cache
  • fix: localized, multiselect attribute import

[100.2.10] - 2017-06-28

  • fix: area code in CLI
  • fix: data overwritten by last language
  • fix: url rewrite suffix for product and category

[100.2.9] - 2017-06-22

  • add: New configuration for not erase category url key on update

[100.2.8] - 2017-06-06

  • add: channel configuration for default values

[100.2.7] - 2017-05-30

  • fix: avoid duplicate URL key

[100.2.6] - 2017-05-24

  • fix: channel added in url_key column

[100.2.5] - 2017-03-17

  • fix: fix image import with staging mode

[100.2.4] - 2017-02-21

  • fix: Error during URL rewrite updates with multiple locales

[100.2.3] - 2017-02-21

  • fix: Integrity constraint violation when importing in a shop with multiple store views

[100.2.2] - 2017-02-21

  • fix: Avoid error on products without family

[100.2.1] - 2017-02-21

  • fix: avoid duplicate URL keys for categories

[100.2.0] - 2017-02-03

  • add: code refactoring for media and related
  • add: compatibility with staging modules

[100.1.2] - 2017-02-01

  • fix: load model import
  • fix: Use the configured category suffix instead of hardcoded.html
  • fix: Open up PHP version constraints
  • add: refactoring all the "AddPimgentoImportObserver" observers to add generic events on classname and additionnal steps
  • add: add position to media during product import
  • fix: get url suffix from config for url rewrite
  • fix: composer version in composer.json file
  • fix: error on loading import model

[100.1.1] - 2016-11-03

WARNING: break compatibility on pimgento_attribute_get_specific_columns_add_after observer

  • fix: clean EAV cache on attribute import
  • fix: refactoring on attribute import
  • fix: issue #48 invalid website_id for stock_item for magento 2.1
  • fix: better performance for related product import (x4 faster)
  • fix: pb on url rewrite duplication row in url_rewrite table
  • add: new event pimgento_attribute_get_specific_columns_add_after that allows to add other columns for attribute definition
  • add: error message when import file with an invalid row (too many columns)
  • add: media import
  • add: can define the columns of attribute import that can be updated, or that can only be set on attribute creation

[100.1.0] - 2016-07-04

  • Magento 2.1 compatibility

[100.0.13] - 2016-06-30

  • fix: multi-select attribute options

[100.0.12] - 2016-06-21

  • fix: Import of Related / Cross-Sell / UP-Sell

[100.0.11] - 2016-06-21

  • fix: DataSetup Constructor argument error when di is generated
  • fix: use Magento2 factories to avoid bug when launching 2 imports during the same php execution
  • fix: Channel and language Inversion
  • add: Import of Related / Cross-Sell / UP-Sell for products
  • add: management of frontend_model on attribute import
  • add: events on attribute types
  • add: events on product import steps

[100.0.10] - 2016-06-03

  • add: Website tax class configuration
  • fix: Duplicate label for attributes
  • fix: wrong value for attribute when unit association exists

[100.0.9] - 2016-06-02

  • add: Some documentations (changelog, license, contributing)
  • add: Ability to use full path filename on setFile method, in order to import files that are not in the upload folder.
  • add: New config option Pimgento\General\data_insertion_method with 2 values : "Load Data Infile" and "By 1000 rows"
  • add: Default configurable attribute values configuration (Example: force status to enabled)

[100.0.8] - 2016-05-20

  • add: Add virtual product support. You can use a column type_id in the product csv file, and using simple/virtual values
  • fix: Fix columns matching (all case) for configurable products
  • fix: Disable the demo module
  • fix: Better readme for compatibility with akeneo 1.5

[100.0.7] - 2016-05-13

  • fix: Better attribute type mapping for price attribute
  • fix: Init stock infos for configurable product
  • fix: Do not create stock infos per website, but only on the main website.
  • fix: Bad translation
  • fix: Bad default price type

[100.0.6] - 2016-04-29

  • add: Import directory configuration
  • add: French translation
  • add: Admin ACL
  • fix: Sample data

[100.0.5] - 2016-04-22

  • add: Command line execution

[100.0.4] - 2016-04-12

  • fix: Column duplication improvement

[100.0.3] - 2016-04-12

  • fix: Allow multiple columns matching
  • fix: Match localizable and scopable columns

[100.0.2] - 2016-04-08

  • add: LOAD DATA INFILE request configuration. You can add LOCAL option to request

[100.0.1] - 2016-04-06

  • First version of PimGento2 for Magento 2
Versions
Version Stability QA Status Compatibility Released
100.4.0 stable Fail Not yet tested Details 2019-07-18 09:44:11
100.3.4 stable Not tested Not yet tested Details 2018-12-04 16:25:36
100.3.3 stable Not tested Not yet tested Details 2018-05-15 14:02:56
100.3.2 stable Not tested Not yet tested Details 2018-02-02 12:09:35
100.3.1 stable Not tested Not yet tested Details 2018-01-12 08:58:53
100.3.0 stable Not tested Not yet tested Details 2017-12-07 08:27:31

Requires 6

Package Constraint
php ^7.0
magento/framework >=100.0.1
magento/module-backend >=100.0.1
magento/module-catalog >=100.0.1
magento/module-eav >=100.0.1
magento/module-store >=100.0.1

Compatibility

Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 not tested not tested
2.4.8 not tested not tested
2.4.9 not tested not tested

Code Quality

Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge. A phpcs finding can't make a module incompatible.

Static analysis

Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.

Static analysis results
Tool Status Findings Summary
PHPCS Fail 715 30 errors, 685 warnings (ruleset: Magento2) — 508 auto-fixable with phpcbf
PHPMD Warning 45 45 rule violations (NPathComplexity:9, CyclomaticComplexity:8, UnusedLocalVariable:7, ExcessiveMethodLength:6, MissingImport:6)
Cpd Warning 2 2 duplicated chunks spanning 90 total lines (min-lines=5, min-tokens=70)
Composer validate Info 6 valid; 6 advisory notes (composer validate --strict)

PHPStan

Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Tests

Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.

Unit tests

Unit tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Integration tests

Integration tests results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 N/A N/A
2.4.8 N/A N/A
2.4.9 N/A N/A

Security

Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.

Security results
Tool Status Findings Summary
Composer audit Pass 0
Malware scan Pass 0
License
OSL-3.0, AFL-3.0
Authors
  • Agence DnD — Developer
Make it pay

Turn an existing module into recurring revenue.

If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.