Skip to content

Conversation

@oliverde8
Copy link
Owner

@oliverde8 oliverde8 commented Nov 16, 2025

Library used php arrays until now to be configured. This was "logical" at the time with limiting typing in php and most frameworks using similar patterns with yaml being transformed into array.

The main issue with the array was/is writing it, keys and data are not easily identifiable without having to look into documentation. This means no autocomplete and no validation without running the code.

The purpose of here is to switch to a new pattern that will enable typing and auto completion from the IDE. This MR works on the Etl and not on the Rule engine which remains hard to configure.

V1 V2
v1 v2

TODO

  • Migrate operations to new patter
    • Extract
      • CsvExtract
      • ExternalFileFinder
      • JsonExtract
    • Grouping
      • SimpleGrouping
    • Load
      • FileWriterOperation
    • Transform
      • CallBackTransformer
      • ExternalFileProcessor
      • FilterData
      • LogOperation
      • RuleTransform
      • SimpleHttp
      • SplitItem
    • Other
      • ChainMerge
      • ChainRepeat
      • ChainSplit
      • FailSafe
  • Adapt builders for backwards compatibility. Builders should handle the modified constructors. They also need to be deprecated.
    • Extract
      • CsvExtract
      • ExternalFileFinder
      • JsonExtract
    • Grouping
      • SimpleGrouping
    • Load
      • FileWriterOperation
        [ ] Transform
      • CallBackTransformer
      • ExternalFileProcessor
      • FilterData
      • LogOperation
      • RuleTransform
      • SimpleHttp
      • SplitItem
    • Other
      • ChainMerge
      • ChainRepeat
      • ChainSplit
      • FailSafe
  • Update unit tests
    • Update test on operation
    • Add new tests for the new V2 Builder
    • Add new tests for the GenericFactory
  • Update documentation 😩

Any merge request are welcomed

You can drop a comment on what

Additional Changes not related to this MR

  • Update the symfony bundle
  • Update the sylius bundle
  • Update the easyadmin bundle
  • Update the rule engine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants