inviqa / akeneo-e3 Goto Github PK
View Code? Open in Web Editor NEWEnhanced Enrichment Engine for Akeneo PIM
License: MIT License
Enhanced Enrichment Engine for Akeneo PIM
License: MIT License
test for windows
The goal of the commans(s) is to generate empty profiles
profile:etl:create
profile:connection:create
clean
action from Akeneo rules, add to the documentation pageActions will be more powerful if we add additional condition
actions:
-
type: set
field: name
locale: en_GB
scope: null
expression: 'trim(value("name", null, "en_GB"))'
apply_if: 'hasValue("name", null, "en_GB"))'
apply_if
is an expression.
Action is applied only if apply_if
is evaluated as true
.
Given there are 2 attributes:
When transform executed
Then ingredients from the description identified by a regex are copied to the ingredients field.
Problem
Duplicating ref.entity colours must happen after duplicating main colours otherwise it fails on finding main colours.
Possible solution
Try to order entities by their deps first which might be a hard task.
Workaround
Duplicate entities one-by-one: first main colours, then colours.
See details
https://api.akeneo.com/php-client/exception.html#
E.g.
See Akeneo Rules add
.
This action adds new items to arrays, like categories or multi-selects.
Create a doc example for add attribute to a family, link it to a main page if needed.
Improve transform by outputting the before/after info as a list.
The command should show a question In interactive mode:
You're connecting to http://akeneo-host to transform data. Continue?
[y,n]
where http://akeneo-host
is a destination connection host.
For add and remove actions it is important to see what is an actual patch that is send to PIM
Inroduce an interface like ParentAwareReppsitory or SubitemRepository or ComplexRepository or ParentChild or
with the method getParentFields(): array like family_cdoe for family options
replace PersistRepository::$groupFieldNames with that
Consider renaming x_code
to x
because it is how already used in Akeneo, see attribute
field in the option API
[] RepositoryFactory::createWriteRepository - wrap API automatically base on its supported interfaces
Add description of setting/adding associations from here
https://docs.akeneo.com/5.0/manipulate_pim_data/rule/general_information_on_rule_format.html#enrichment-rule-structure
Implement comparison in Resource::set to avoid diff if nothing changed
Assumption:
again by creation the main one didn't exist and theey had to be ordered first
Idea
new type of writer - collect all first without batching, order and save in batches (using same old?).
Try with clean data w/o ref. entites
Akeneo users are familiar with the concepts of the Rules Engine.
In order to make the tool more understandable for them, it is better to use same terms and same config.
Additionally, change --etl-profile
to --rules-profile
(or profile
or rules
)?
Rename main command from transform to "run-rules" or "run"?
See: https://docs.akeneo.com/5.0/manipulate_pim_data/rule/general_information_on_rule_format.html#remove
To achieve it, it needs to connect to the Categories API and fetch all children.
At the moment it returns an array that contain a data patch.
Using arrays - not good approach. Value array, patch - not clear terminology.
public function execute(Resource $resource): ?Resource
As same concept as now, but returns an object.
Pro:
Con:
public function execute(Resource $resource): void
Pro:
Con:
Save stats to yaml and load errors to CSV
Events
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.