Fluent Commerce Logo
Docs
Sign In

Implementing Fluent Order Management

External Mappings (Metadata for example; Locations, Products, Retailers, Users & Roles, etc.), Project Discovery, Out-Of-The-Box features, Ready for Launch process, Recommended Practices, Testing, and Project Checklists.

On Workflows and Workflow Fragments

Essential knowledge

Workflows are the backbone of the Fluent platform as they describe the lifecycle of an entity. Defining subsections or sub-processes within a workflow allows to manage and evolve them independently. Thus fostering loosely coupled and self-contained fragments with no duplication of shared or unchanged behavior of a baseline workflow.

On this page we will look at the different ways of structuring workflows into fragments and then how to optimally merge them into a final workflow that is used to orchestrate entities. Finally how to package both workflows and fragments into a module.

  • A Workflow defines behavior of an entity, such as order, fulfillment, or an inventory position.
  • A Workflow Fragment is a sub-process within a larger workflow, managed separately from the rest of the workflow.
  • Keeping workflow customizations in a workflow fragment and applying one or more fragments on top of a reference workflow reduces the duplication of rulesets and minimizes future maintenance.
  • At module deployment time, the Fluent CLI will combine multiple fragments into a final workflow and upload to the target retailer. More details on the CLI commands are in Working with Workflows and Fragments.
  • Asset execution order: `workflows` before `workflow-fragments`.

Utility Bundles Overview

Essential knowledge

The Fluent Commerce Utility Bundles are a set of libraries designed to accelerate Rule development, reduce boilerplate code, and improve the overall quality and maintainability of implementations. They are the cornerstone of writing maintainable, reusable, and easily upgradeable Rules for the Fluent Commerce platform.

  • Prerequisites: You should have knowledge of the Rules SDK, including Designing Rules, Rule Structure, Writing Rules, Rule Development Guidelines, General Principles, and Rules SDK - Getting Started.
  • Focus on Business Logic: The libraries handle common, repetitive tasks (like data fetching and JSON conversion), allowing developers to concentrate on writing the business logic that delivers value.
  • Three Specialized Bundles: The utilities are organized into three modules: `util-core` for essential daily tasks, `util-dynamic` for building runtime queries, and `util-test` for simplifying testing.
  • Easy Upgrades: Receive bug fixes and new features from Fluent Commerce by updating the dependency version in your `pom.xml`, ensuring your implementation stays current.
  • Built for Extensibility: The utilities are designed to be flexible, allowing you to inject your custom logic into standard processes.

About Reference And Extension Modules

Essential knowledge

Modules are the package structure used by Fluent Commerce to ship preconfigured features and functions. They are designed to be self-describing, isolated, but inter-dependent assets that can work together with other modules, or be extended by custom modules, all while remaining upgradeable.

Here we'll look at the different designations of Modules and describe the Module's Package Structure and Project Structure.