Skip to content
Snippets Groups Projects
Commit 82ed022e authored by Vadim Justus's avatar Vadim Justus
Browse files

Initial commit

parents
No related branches found
No related tags found
No related merge requests found
<?php
/**
* Copyright (c) 2020 TechDivision GmbH
* All rights reserved
*
* This product includes proprietary software developed at TechDivision GmbH, Germany
* For more information see http://www.techdivision.com/
*
* To obtain a valid license for using this software please contact us at
* license@techdivision.com
*/
declare(strict_types=1);
namespace TechDivision\OverwriteImportStep\Model\Executor;
use Magento\Framework\Exception\FileSystemException;
use TechDivision\PacemakerImportBase\Model\Executor\ImportExecutor;
use TechDivision\ProcessPipelines\Api\StepInterface;
use TechDivision\ProcessPipelines\Exception\ExecutorException;
/**
* @copyright Copyright (c) 2020 TechDivision GmbH (http://www.techdivision.com)
* @link http://www.techdivision.com/
* @author Vadim Justus <v.justus@techdivision.com>
*/
class CustomImportExecutor extends ImportExecutor
{
/**
* @param StepInterface $step
* @throws FileSystemException
* @throws ExecutorException
*/
public function process(StepInterface $step): void
{
$arguments = $step->getArguments();
$arguments['configuration'] = 'TechDivision_OverwriteImportStep::etc/import/config.json';
$step->setArguments($arguments);
parent::process($step);
}
}
# Pacemaker customization example
This example demonstrates
- how to create a new import pipeline
- how to extend file resolver to observer import directory
- how to create virtual conditions
- how to add system configurations and default settings
Please refer to [Pacemaker documentation](https://docs.met.tdintern.de/pacemaker/1.2/how-to-extend/import-processes/create-an-additional-import-process.html) for details.
{
"name": "techdivision/overwrite-import-step",
"description": "Example module for Pacemaker customizations",
"license": "proprietary",
"require": {
"magento/framework": "^101.0.9 | ^102.0.0 | ^103.0.0",
"techdivision/pacemaker-import-catalog": "*",
"techdivision/pacemaker-import-base": "*",
"techdivision/process-pipelines": "*"
},
"type": "magento2-module",
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"TechDivision\\OverwriteImportStep\\": ""
}
},
"repositories": [
{
"type": "composer",
"url": "https://repo.met.tdintern.de/"
},
{
"type": "composer",
"url": "https://repo.magento.com/"
}
]
}
{
"magento-edition": "CE",
"magento-version": "2.3.0",
"operation-name" : "add-update",
"archive-artefacts" : true,
"debug-mode" : false,
"entity-type-code" : "catalog_product",
"listeners" : [
{
"app.set.up" : [
"import.listener.render.ansi.art",
"import.listener.initialize.registry"
]
},
{
"app.tear.down" : [
"import.listener.clear.registry"
]
}
],
"databases" : [],
"loggers": [],
"operations" : [
{
"name" : "add-update",
"plugins" : [
{
"id": "import.plugin.cache.warmer"
},
{
"id": "import.plugin.global.data"
},
{
"id": "import.plugin.subject",
"subjects": [
{
"id": "import.subject.move.files",
"identifier": "move-files",
"file-resolver": {
"prefix": "product-import"
},
"ok-file-needed": true
},
{
"id": "import_product.subject.bunch",
"identifier": "files",
"file-resolver": {
"prefix": "product-import"
},
"params" : [
{
"copy-images" : true,
"clean-up-empty-columns" : [
"base_image",
"small_image",
"swatch_image",
"thumbnail_image",
"special_price",
"special_price_from_date",
"special_price_to_date"
]
}
],
"observers": [
{
"import": [
"import_product.observer.composite.base.add_update"
]
}
]
},
{
"id": "import_product_variant.subject.variant",
"file-resolver": {
"prefix": "variants"
},
"observers": [
{
"import": [
"import_product_variant.observer.composite.add_update"
]
}
]
},
{
"id": "import_product_bundle.subject.bundle",
"file-resolver": {
"prefix": "bundles"
},
"observers": [
{
"import": [
"import_product_bundle.observer.composite.add_update"
]
}
]
},
{
"id": "import_product_grouped.subject.grouped",
"file-resolver": {
"prefix": "grouped"
},
"observers": [
{
"import": [
"import_product_grouped.observer.grouped.product.relation.update"
]
}
]
},
{
"id": "import_product_media.subject.media",
"file-resolver": {
"prefix": "media"
},
"observers": [
{
"import": [
"import_product_media.observer.composite.add_update"
]
}
]
},
{
"id": "import_product_link.subject.link",
"file-resolver": {
"prefix": "links"
},
"observers": [
{
"import": [
"import_product_link.observer.composite.add_update"
]
}
]
},
{
"id": "import_product_url_rewrite.subject.url.rewrite",
"file-resolver": {
"prefix": "url-rewrite"
},
"observers": [
{
"import": [
"import_product_url_rewrite.observer.url.rewrite.update"
]
}
]
},
{
"id": "import_product_msi.subject.bunch",
"identifier": "files",
"file-resolver": {
"prefix": "inventory-msi"
},
"observers": [
{
"import": [
"import_product_msi.observer.composite.add_update"
]
}
]
}
]
},
{
"id": "import.plugin.archive"
}
]
}
]
}
<?xml version="1.0"?>
<!--
/**
* Copyright (c) 2020 TechDivision GmbH
* All rights reserved
*
* This product includes proprietary software developed at TechDivision GmbH, Germany
* For more information see http://www.techdivision.com/
*
* To obtain a valid license for using this software please contact us at
* license@techdivision.com
*
* @copyright Copyright (c) 2020 TechDivision GmbH (http://www.techdivision.com)
* @author Vadim Justus <v.justus@techdivision.com>
* @link http://www.techdivision.com/
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="TechDivision_OverwriteImportStep" setup_version="1.0.0">
<sequence>
<module name="TechDivision_PacemakerImportCatalog"/>
</sequence>
</module>
</config>
<?xml version="1.0"?>
<!--
/**
* Copyright (c) 2020 TechDivision GmbH
* All rights reserved
*
* This product includes proprietary software developed at TechDivision GmbH, Germany
* For more information see http://www.techdivision.com/
*
* To obtain a valid license for using this software please contact us at
* license@techdivision.com
*
* @copyright Copyright (c) 2020 TechDivision GmbH (http://www.techdivision.com)
* @author Vadim Justus <v.justus@techdivision.com>
* @link http://www.techdivision.com/
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:TechDivision_ProcessPipelines:etc/pipeline.xsd">
<pipeline name="pacemaker_import_catalog">
<step name="product_import" executorType="TechDivision\OverwriteImportStep\Model\Executor\CustomImportExecutor" />
</pipeline>
</config>
<?php
/**
* Copyright (c) 2020 TechDivision GmbH
* All rights reserved
*
* This product includes proprietary software developed at TechDivision GmbH, Germany
* For more information see http://www.techdivision.com/
*
* To obtain a valid license for using this software please contact us at
* license@techdivision.com
*/
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'TechDivision_OverwriteImportStep',
__DIR__
);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment