adobe / helix-importer-ui

Apache License 2.0
20 stars 25 forks source link

feat: Express Import ruleset JSON #378

Closed arumsey closed 1 week ago

arumsey commented 2 weeks ago

Description

This pull request adds a new import ruleset feature to the AEM Importer. An import ruleset is an abstraction on top of the existing helix-importer import scripts that allows for an import to be fully defined using a JSON object. Such an object enables easier machine generation of import rules and can be used as input to a cloud based import API.

An import JSON can be used as input to Import - Workbench, just like an import.js. An import.js can even consume an import.json if it wants to perform more complex operations. This allows a less techical business owner to perform a large percentage of grunt work using section mapping to create an initial pass at importing. A developer could then be involved just to solve the more complicated edge cases.

Over time the intent will be that through a combination of ruleset logic and custom parsers there will never be a need to write any custom import.js. This should decrease the time needed to import a site to Edge Delivery as well as enable the import of a large site to be managed by the Spacecat import APIs.

Related Issue

355

Motivation and Context

Screenshots (if appropriate):

image

Types of changes

Checklist:

arumsey commented 1 week ago

@arumsey, overall LGTM. I commented some minor points. I see many changes in the js/dist/ folder, can you detail why they happened?

@catalan-adobe The import rules feature has been added as an addition to the helix-importer module which requires a rebuild (npm run build). This decision was made so that import rules could potnetially be moved to helix-importer for easier consumption by the importer service in Spacecat.

arumsey commented 1 week ago

Thanks for committing the requested changes @atopper. These look good to me as a first pass at integrating import rules with section mapping.

atopper commented 1 week ago

@catalan-adobe There's a good chance that Anthony and I do not have permission to merge this. Could you do it? We can discuss merge requirements & permissions next week or beyond.