Changelog

  • 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