Skip to content

Commit 9343e43

Browse files
committed
[With or With IDs][Export] export without IDs (id, parentsId); optionally IDs included
1 parent 96224c5 commit 9343e43

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+165
-50
lines changed

config/pimcore/export/assets/converters_populators.yaml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ neusta_converter:
88
###########################################################
99
neusta_pimcore_import_export.export_asset_folder:
1010
target: Neusta\Pimcore\ImportExportBundle\Model\Asset\Asset
11+
populators:
12+
- Neusta\Pimcore\ImportExportBundle\Populator\IdsPopulator
1113
properties:
12-
id: ~
1314
key: ~
1415
type: ~
1516
path: ~
16-
parentId: ~
1717

1818
services:
1919
_defaults:
@@ -87,6 +87,8 @@ services:
8787
###########################################################
8888
# Export Populator (Pimcore Asset -> Asset)
8989
###########################################################
90+
Neusta\Pimcore\ImportExportBundle\Populator\IdsPopulator: ~
91+
9092
neusta_pimcore_import_export.asset.filename.populator:
9193
class: Neusta\ConverterBundle\Populator\PropertyMappingPopulator
9294
arguments:

config/pimcore/export/documents/converters_populators.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,12 @@ neusta_converter:
1212
- neusta_pimcore_import_export.page.property.language.populator
1313
- neusta_pimcore_import_export.page.property.navigation_title.populator
1414
- neusta_pimcore_import_export.page.property.navigation_name.populator
15+
- Neusta\Pimcore\ImportExportBundle\Populator\IdsPopulator
1516
properties:
16-
id: ~
1717
key: ~
1818
type: ~
1919
published: ~
2020
path: ~
21-
parentId: ~
2221
controller: ~
2322

2423
neusta_pimcore_import_export.editable_converter:
@@ -75,6 +74,8 @@ services:
7574
###########################################################
7675
# Export Populator (Page -> Page)
7776
###########################################################
77+
Neusta\Pimcore\ImportExportBundle\Populator\IdsPopulator: ~
78+
7879
neusta_pimcore_import_export.page.title.populator:
7980
class: Neusta\ConverterBundle\Populator\PropertyMappingPopulator
8081
arguments:

config/pimcore/export/elements/converters_populators.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,16 @@ neusta_converter:
88
###########################################################
99
neusta_pimcore_import_export.export_element:
1010
target: Neusta\Pimcore\ImportExportBundle\Model\Element
11+
populators:
12+
- Neusta\Pimcore\ImportExportBundle\Populator\IdsPopulator
1113
properties:
12-
id: ~
1314
key: ~
1415
type: ~
1516
path: ~
16-
parentId: ~
17+
18+
services:
19+
_defaults:
20+
autowire: true
21+
autoconfigure: true
22+
23+
Neusta\Pimcore\ImportExportBundle\Populator\IdsPopulator: ~

config/pimcore/export/objects/converters_populators.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,15 @@ neusta_converter:
99
neusta_pimcore_import_export.export_object:
1010
target: Neusta\Pimcore\ImportExportBundle\Model\Object\DataObject
1111
populators:
12+
- Neusta\Pimcore\ImportExportBundle\Populator\IdsPopulator
1213
- neusta_pimcore_import_export.export_object.fields.populator
1314
- neusta_pimcore_import_export.export_object.relations.populator
1415
properties:
1516
className: ~
16-
id: ~
1717
key: ~
1818
type: ~
1919
published: ~
2020
path: ~
21-
parentId: ~
2221

2322
neusta_pimcore_import_export.export_object.without.relations:
2423
target: Neusta\Pimcore\ImportExportBundle\Model\Object\DataObject
@@ -47,6 +46,8 @@ services:
4746
$typeToConverterMap:
4847
Pimcore\Model\DataObject\Concrete: '@neusta_pimcore_import_export.export_object'
4948

49+
Neusta\Pimcore\ImportExportBundle\Populator\IdsPopulator: ~
50+
5051
neusta_pimcore_import_export.export_object.fields.populator:
5152
class: Neusta\Pimcore\ImportExportBundle\Populator\DataObjectExportFieldsPopulator
5253

phpunit.xml.dist

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<ini name="display_startup_errors" value="On"/>
1616
<ini name="display_errors" value="On"/>
1717
<ini name="error_reporting" value="-1"/>
18+
<env name="KERNEL_CLASS" value="\TestKernel"/>
1819
</php>
1920

2021
<testsuites>

public/js/exportAsset.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ neusta_pimcore_import_export.plugin.asset.export = Class.create({
2121
iconCls: "pimcore_icon_asset pimcore_icon_overlay_download",
2222
handler: function () {
2323
let defaultFilename = asset.data.key + '.yaml';
24+
let includeIds = !confirm(t('neusta_pimcore_import_export_exclude_ids_question')); // Yes = false, No = true
25+
2426
let filename = prompt(t('neusta_pimcore_import_export_enter_filename'), defaultFilename);
2527
if (filename) {
26-
pimcore.helpers.download(Routing.generate(route, {asset_id: asset.data.id, filename: filename, format: 'yaml'}));
28+
pimcore.helpers.download(Routing.generate(route, {asset_id: asset.data.id, filename: filename, format: 'yaml', ids_included: includeIds}));
2729
}
2830
}
2931
}));

public/js/exportDataObjects.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ neusta_pimcore_import_export.plugin.object.export = Class.create({
2121
iconCls: icon,
2222
handler: function () {
2323
let defaultFilename = object.data.key + '.yaml';
24+
let includeIds = !confirm(t('neusta_pimcore_import_export_exclude_ids_question')); // Yes = false, No = true
25+
2426
let filename = prompt(t('neusta_pimcore_import_export_enter_filename'), defaultFilename);
2527
if (filename) {
26-
pimcore.helpers.download(Routing.generate(route, {object_id: object.data.id, filename: filename, format: 'yaml'}));
28+
pimcore.helpers.download(Routing.generate(route, {object_id: object.data.id, filename: filename, format: 'yaml', ids_included: includeIds}));
2729
}
2830
}
2931
}));

public/js/exportDocument.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ neusta_pimcore_import_export.plugin.document.export = Class.create({
2121
iconCls: icon,
2222
handler: function () {
2323
let defaultFilename = document.data.key + '.yaml';
24+
let includeIds = !confirm(t('neusta_pimcore_import_export_exclude_ids_question')); // Yes = false, No = true
25+
2426
let filename = prompt(t('neusta_pimcore_import_export_enter_filename'), defaultFilename);
2527
if (filename) {
26-
pimcore.helpers.download(Routing.generate(route, {doc_id: document.data.id, filename: filename, format: 'yaml'}));
28+
pimcore.helpers.download(Routing.generate(route, {doc_id: document.data.id, filename: filename, format: 'yaml', ids_included: includeIds}));
2729
}
2830
}
2931
}));

src/Command/Base/AbstractExportBaseCommand.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ public function __construct(
3737
protected function configure(): void
3838
{
3939
$this
40+
->addOption(
41+
'includeIds',
42+
null,
43+
InputOption::VALUE_NONE,
44+
'If set, the export will include asset/document/object IDs and ParentIDs - be aware with re-importing'
45+
)
4046
->addOption(
4147
'output',
4248
'o',

src/Command/ExportAssetsCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ protected function configure(): void
7979

8080
protected function exportInFile(array $allElements, InputInterface $input): bool
8181
{
82-
$yamlContent = $this->exporter->export($allElements, $input->getOption('format'));
82+
$yamlContent = $this->exporter->export($allElements, $input->getOption('format'), ['includeIds' => $input->getOption('includeIds')]);
8383

8484
$zipFilename = $input->getOption('output');
8585
try {

0 commit comments

Comments
 (0)