Oroneo for OroCommerce

  
Oroneo for OroCommerce
  • 0.00 / 5 5
0 votes

Short Overview

Oroneo is an OroCommerce extension allowing to import catalogs and product data, from the Akeneo standard CSV files into OroCommerce.

How it works

Oroneo reads standard CSV files from the Akeneo exports in order to import data into your OroCommerce database. These data exchanges allow to import:

  • Categories
  • Attributes, attributes' groups & attributes' options
  • Families
  • Products
  • Media (Images, PDF files...)

Requirements & Notes

Requirements

ATM Oroneo is designed to work on OroCommerce v1.1 and based on generated CSV files from Akeneo 1.3+ No support for Akeneo Enterprise Edition yet.

If you're working with Akeneo PIM < 1.6, Synolia recommends to work with the Akeneo Enhanced Connector Bundle in order to be more efficient in your interfaces. This bundle allows you to go further to select the right data to export.

Important notes

There is some limitations that you have to take care of:

  • If you plan to import a lot amount of data you may want to use PostgreSQL instead of MySQL. You will encounter some limitation with MySQL and you will have to recompile your MySQL to increase those limitations. So we recommand to use PostgreSQL if you have more than 40 attributes and/or about 1M products.
  • ATM, due to a glitch in OroPlatform, we can only support the comma (,) delimiter so see to export your akeneo files with this delimiter.
  • OroCommerce Products doesn't support multiple categories associations. Only the first category assigned will be taken.
  • Products without families won't be imported !
  • Products' attributes that are not included in their family won't be imported.
  • Products without a proper label won't be seen on the Product datagrid.

How to install

Oroneo's installation is rather simple ! You only need to use composer:

Add those lines to the repositories array in composer.json :

"repositories": [ "oroneo": { "type": "vcs", "url": "https://github.com/synolia/oroneo.git" } ]

And add this line in the require array:

"synolia/oroneo": "1.0.0"

Then,

composer require synolia/oroneo

Bundle installation in a working OroCommerce environment

If you already have an OroCommerce application and you want to add this bundle, you need an extra step:

php app/console oro:platform:update

Configuration and usage

Configuration

A new navigation tab is available with a link to the settings page. There is a default configuration but you can adjust it to match your requirements and fields mappings.

Global

Useful to define your own delimiter (but currently we support only the comma), enclosure and locales mapping. There is also the possibility to define your FTP or SFTP connection informations. That will permit to direcly download your CSV files from a remote server.

Field mapping

It is possible to map custom fields in those panels.

Usage

The import process is available in the UI but also with the CLI. It uses the MessageQueueBundle from OroPlatform. Refere to this bundle's documentation to learn how it works. tl;dr It is necessary to create the oro message queue with this command:

php app/console oro:message-queue:create-queues

And it is preferable to launch the Oro cron:

php app/console oro:cron

Then, to consume message sent, it is needed to launch the message consumer:

php app/console oro:message-queue:consume

Read the documentation to see how to handle this command and which arguments and options you can pass.

Import order

The imports should be done in the following order :

  • Category
  • Product Attribute
  • Product Attribute Option
  • Product Family
  • Product Attribute group
  • Product
  • Product Files & Images

UI import

It is possible to load CSV files directly with the import form. The import process is devided in two steps : a file validation and the import itself which is sent to the Message Queue Consumer.

Note: if your file is larger than 500kb, the UI validation won't run. But you can still send the message import anyway. The import itself will check the CSV file you sent and you will receive an email with a link to the log and a summary of the process.

FTP/SFTP import (via UI only)

If you leave the checkbox Manual import empty, the process will try to connect and remotely download the file from the server specified in the Remote configuration panel.

CLI import

php app/console synolia:akeneo-pim:import importType filePath

Replace importType by one of this values:

  • category
  • attribute
  • attribute_group
  • family
  • option
  • product
  • product-file

Replace filePath by the current path of your CSV file. If you leave this argument, the command will search in this folder: app/import_export/ The default mapping can be found here.

It is also possible to make a mass import with the same command but without any argument specified:

php app/console synolia:akeneo-pim:import

It is possible to define an email to be notified and get the import results

php app/console synolia:akeneo-pim:import --email=test@exemple.com
php app/console synolia:akeneo-pim:import category app/import_export/export_category.csv --email=test@exemple.com

Notes

Attributes Import

  • This is the list of all Akeneo's attribute types supported by this bundle:
    • pim_catalog_identifier
    • pim_catalog_text
    • pim_catalog_textarea
    • pim_catalog_metric
    • pim_catalog_boolean
    • pim_catalog_simpleselect
    • pim_catalog_number
    • pim_catalog_multiselect
    • pim_catalog_date
    • pim_catalog_image
    • pim_catalog_file
  • It is necessary to update the Translations to have the correct attributes' labels diplayed in the UI for newly created attributes.To do this you can update the cache with the button in this page "System > Localization > Translations" or by a classic cache:clear :php app/console cache:clear --env=prod
    In OroCommerce, attributes have to be in the product family to be displayed. This means that, though you can use any attributes in any of your products in Akeneo, every attribute that is not in the product family will no be rendered in OroCommerce.

Products Import

The product label is mandatory. Again, no label results to no product shown in the datagrid.

Product files Import

Take care of your ZIP file's size when you try to upload it with the form. We suggest to use this import with the CLI.

Attributes Options Import

Note that it is not possible to import 2 options with the same label for one attribute even if they do have a different code.

All the releases are detailled on our public Github repo. More informations available on Github

All the previous versions are detailled on our public Github repo. More informations available on Github

1.0.1 (2017-09-21)

Fix:

  • Code fixes

1.0.0 (2017-09-08)

Fix:

  • Code Refactoring.
  • Added notification to clear cache after attribute import.
  • Use UTC datetime.
  • Removed hardcoded values.
  • Todos fixed and removed.
  • Removed unused dependencies.
  • Default value set at 'import_all' for the CLI import command.
  • Added error notification for FTP/SFTP issues.
  • Added a test connection button for FTP/SFTP configuration form.
  • Zip extension is now mandatory to install this package.
  • Removed services calls from constuct functions.
  • And other things...

Implemented enhancements:

  • Usage of Gaufrette to handle FTP and SFTP connections.

0.3.1 (2017-06-27)

Fix:

  • Shorten job alias to be compatible with PostgreSQL.
  • Update README with more informations.
  • Fix attribute labels handling and import.
  • Fix attribute groups names.
  • Fix error with the multi-select attribute pages.
  • Fix re-import of deleted attribute. Attributs were disabled.
  • Fix product import error with PostgreSQL. It was impossible to store values grater than 1.
  • Fix FTP import.
  • Added a translatable label in the import form.
  • Fix the product import for the "enable" status.
  • Fix some typos.
  • Fix some CSS.

Implemented enhancements:

  • PostgreSQL compatibility
  • It is now possible to import product files such as images and attachments.

0.3.0 (2017-01-13)

Fix:

  • Issue #9 : Revert Mapping Migrations to the default locale at the install.
  • Issue #11 : Fix multi-enum import.
  • Added some unit tests (still in progress for functional tests).
  • Rework on PR #7 to fix attribute import.

Implemented enhancements:

  • Added the possibility to import directly from an FTP or SFTP connection.
  • Added a CLI command to import all CSV files at once.

0.2.2 (2016-12-14)

Fix:

  • PR #3 : Fixed a fatal error when the default localization isn't set up.
  • PR #7 : Fix #6 the system attributes config were erased by the import system.
  • PR #8 : Refactored attribute types list to a container parameter.
  • PR #10 : Precision about EnhancedConnector bundle.
  • Rewrite ZipFileReader to make it more simple.
  • Some renames to fit with the bundle's name oroneo.

0.2.1 (2016-12-07)

Implemented enhancements:

  • Categories import under a "master category" defined in the Category Configuration panel
  • Category Configuration panel : added the possibility to choose the default parent category.

Fix:

  • Removed unecessary injections
  • Fix beta5 upgrade : getAll() function replaced with getLocalizations()

0.2.0 (2016-12-05)

Upgrade to support OroCommerce-beta5 version

0.1.1 (2016-11-29)

Cleaning:

  • Removed useless files
  • Renamed Classes and files to match the name Oroneo
  • composer.json adjusted
  • README updated

0.1.0 (2016-11-25)

  • Initial release : It's just you and me OroCommerce!

Akeneo

  • v1.7.14
  • v1.7.13
  • v1.7.12
  • v1.7.11
  • v1.7.10
  • v1.7.9
  • v1.7.8
  • v1.7.7
  • v1.7.6
  • v1.7.5
  • v1.7.4
  • v1.7.3
  • v1.7.2
  • v1.7.1
  • v1.7.0
  • v1.6.20
  • v1.6.19
  • v1.6.18
  • v1.6.17
  • v1.6.16
  • v1.6.15
  • v1.6.14
  • v1.6.13
  • v1.6.12
  • v1.6.11
  • v1.6.10
  • v1.6.9
  • v1.6.8
  • v1.6.7
  • v1.6.6
  • v1.6.5
  • v1.6.4
  • v1.6.3
  • v1.6.2
  • v1.6.1
  • v1.6.0
  • v1.5.27
  • v1.5.26
  • v1.5.25
  • v1.5.24
  • v1.5.23
  • v1.5.22
  • v1.5.21
  • v1.5.20
  • v1.5.19
  • v1.5.18
  • v1.5.17
  • v1.5.16
  • v1.5.15
  • v1.5.14
  • v1.5.13
  • v1.5.12
  • v1.5.11
  • v1.5.10
  • v1.5.9
  • v1.5.8
  • v1.5.7
  • v1.5.6
  • v1.5.5
  • v1.5.4
  • v1.5.3
  • v1.5.2
  • v1.5.1
  • v1.5.0
  • v1.4.28
  • v1.4.27
  • v1.4.26
  • v1.4.25
  • v1.4.24
  • v1.4.23
  • v1.4.22
  • v1.4.21
  • v1.4.20
  • v1.4.19
  • v1.4.18
  • v1.4.17
  • v1.4.16
  • v1.4.15
  • v1.4.14
  • v1.4.13
  • v1.4.12
  • v1.4.11
  • v1.4.10
  • v1.4.9
  • v1.4.8
  • v1.4.7
  • v1.4.6
  • v1.4.4
  • v1.4.3
  • v1.4.2
  • v1.4.1
  • v1.4.0
to submit a support request

ssossossosso