Synqup 1.0.0

Synqup 1.0.0

MD5 56d08ee986f28577a05f7fccf3bb1627 / SHA1 174e4e0cdbf404c62d443962daad452ed632d161

  • Initial Release of our User Interface
    • Local Authentication with Password Reset
    • Dashboard with Entity Statistics
    • Flow- and JobDispatcherMapping configuration
    • FlowExecution Progress View
    • Entity Browser (CRUD via JSON for arbitrary transfer entities)
    • Log Browser
    • User
    • Cronjobs
  • CI/CD
    • Single docker image for non-production instances
    • Automated testing of core and standard module functionality (smoke testing)
  • Shopware 6 module
    • complete revision of the module configuration
      • fallbacks and sanity checks for misconfiguration – missing values do not break the module anymore
      • deactivating subsections is now possible via configuration
      • dependency checks between subsections to prevent misconfigurations
      • json schema
      • internal: unified config access via configuration-object to provide config-auto-completion (prevent config-access errors) for developers and extension-developers
      • Implemented an internal module-context that contains the configuration-object as well as information about system language, target version etc.
    • API-Client rewrite
      • Event-Support, error-handling & -logging, …
    • Cache-Refactoring
      • caches are now context-aware which provides the possibility to run the module in parallel for different target shops & prevents errors due to non-empty caches (which was a pretty common error)
    • Improved translations-/locale-mapping
      • automatic detection of the system language of the target shop
      • added configuration for locale mapping: configure which transfer-locale will be mapped to which shopware-locale to support different locale-formats
    • Internal: Refactored the handling of embedded documents
      • implemented a more generic logic to extract, cache, validate, upsert and delete embedded documents that are handled as single entities by shopware. This was necessary to support validation messages for extracted documents.
    • Implemented new subsections for salutations, units and taxes
    • Automatic discovery of the version of the target shop
    • Extendibility for third-party modules to customize mapping-behaviour
      • the module dispatches events that provide the possibility to …
        … manipulate entities that are mapped by the module (add/remove/update attributes)
        … manipulate api requests before they are sent to shopware
    • Mapping Extension – provide a json-config to map custom documents to custom shopware tables – e.g. for „elioMyAccount“ contact persons or other simple plugin tables – without having to develop a new module
    • Removed customer specific behaviour from the module – this behaviour has been extracted to an extension that uses the event-system and mapping extension
    • Total rewrite of the system to map entities
      • switched to DTO-based entity generation which is based on the models of the shopware core
      • implemented annotation-based mapping:
        • ~70% of all attributes are now mapped and validated automatically
        • version-aware mapping: support different mapping behaviour for different shopware versions
    • Implemented a validation-system that analyzes each attribute of every source object and generates validation-messages. Those messages contain the json-path to the source value as well as a message why a value may contains a problem or cannot be mapped to shopware.
    • Bugfixes and general improvements
      • html content bug (using < in fields Shopware considers non-HTML breaks API request)
      • case sensitive identifier bug (search requests are by default case-insensitive in Shopware)
    • removed hard coded „elio_base_identifier“ field as well as other „elioBase“ references
    • Order-Import:
      • Order-State-Updates via Action-API – the plugin to update the API-Scope is not necessary anymore
      • Order-Import is supported now, but there are still some restrictions: only one segment, transaction, delivery is supported, no voucher-support, no state history for transactions and deliveries (coming soon)
    • Developer-/Debug-Mode
      • (re-)start module at specific subsections
      • reuse cache from previous runs
  • Faker module
    • Make compatible with SW6 module again
  • Development tools
    • Module maker: module creation (incl. Composer package) with a single command
  • Developer documentation
    • Module discovery
  • Dependencies
    • Replaced MariaDB with MySQL 8
    • Updated All Dependencies
      • PHP8
      • Symfony 5.3
      • RabbitMQ 3.9.5
      • MongoDB 4.4
  • Core
    • Add API for all endpoints supported in user interface right now
      • oAuth 2 Default, supports Static Token Auth for legacy systems as well
      • not officially supported as an external interface yet – will change once documentation is available
    • Validation trait
      • Module developers may add ValidationInfo to any BaseDocument which will show up in the UI in a future release
    • Time Series recorder
      • MongoDB based storage for time-series data which will be added as graphs to the UI in a future release
    • PSR16 compatible module cache
      • New Caching layer tags Cache entries based on flow/jdm/flow+jdm, so the same module can run multiple times concurrently with a very simple key-value interface and a trait
      • Deprecated the old caching system