Broadleaf Microservices
  • v1.0.0-latest-prod

Release Notes for 1.0.0-M3

Important
The TMForum Extension Library is not available for general use. An extended commercial license is needed in order to obtain and use this functionality. Please contact a Broadleaf representative for more details
Warning

This is a MILESTONE release and not generally available. Contents may change prior to GA.

Requirements

Overview

This is the first release of the TMForum Extensions module. It includes the functionality necessary to achieve TMF conformance certification against the TMF 620 v5 Product Catalog Management API and the TMF 687 v4 Stock Management API.

Individual Module Changes

TMF Core Library

  • Introduced TMF entity classes (ex: ProductSpecification, ProductOffering, etc)

  • Introduced common components to support the following features

    • API Context resolution in service endpoints

    • TMF Attribute Selection

    • Polymorphic CharacteristicValueSpecification deserialization

    • Polymorphic ProductOfferingPriceRefOrValue deserialization

    • TMF Pagination

    • TMF Attribute Filtration

TMF TenantServices Extension Module

  • Introduced the API Context domain/endpoints

  • Introduced additional tenant metadata to manage API Contexts

TMF AdminNavigationServices Extension Module

  • Added seed data to introduce the API Context admin menu item

TMF AuthenticationServices Extension Module

  • Added a ClientTMFApiContextTokenEnhancer bean that can retrieve the TMF_API_CONTEXTS attribute from an AuthorizedClient and populate it on access tokens issued for that client

  • Added seed data to introduce various scopes/permissions

    • TMF_API_CONTEXT and TMF_API_CONTEXT_IGNORE_NARROWING scopes/permissions for API Context management

    • TMF_PRODUCT_STOCK scopes/permissions for ProductStock management

    • TMF_RESERVE_PRODUCT_STOCK scopes/permissions for ReserveProductStock management

    • TMF_PRODUCT_OFFERING_PRICE scopes/permissions for ProductOfferingPrice management

    • TMF_PRODUCT_SPECIFICATION scopes/permissions for ProductSpecification management

    • TMF_PRODUCT_OFFERING scopes/permissions for ProductOffering management

  • Introduced a new tmfcoreclient AuthorizedClient that each service can use to reach the TenantServices' API Context endpoint for API Context resolution

  • Introduced a new tmfcatalogclient AuthorizedClient that CatalogServices can use to get ProductOfferingPriceRefs from PricingServices

TMF CatalogServices Extension Module

  • Introduced support for ProductSpecification and ProductOffering APIs

  • Added a new JpaProductOfferingView entity backed by a DB view named BLC_PRODUCT_OFFERING_VIEW

TMF PricingServices Extension Module

  • Introduced support for ProductOfferingPrice APIs

  • Added a new JpaPriceDataProductOfferingPriceView entity backed by a DB view named BLC_PRICE_DAT_PROD_OFFER_PRICE

TMF InventoryServices Extension Module

  • Introduced support for ProductStock and ReserveProductStock APIs

  • Added a new JpaReserveProductStock entity backed by a DB table named BLC_RESERVE_PRODUCT_STOCK

  • Added a new JpaSkuInventoryProductStockView entity backed by a DB view named BLC_SKU_INV_PROD_STOCK

Migration Notes

Liquibase Changes

Please consult the Schema Changes and Required Data documentation for an overview of how Liquibase changes are applied.

Schema Changes

TMF CatalogServices Extension Module
Database Platform Create/Update Changelog File Name

PostgreSQL

db/changelog/catalog.tmforum.required.postgresql.changelog-master.xml

MariaDB

db/changelog/catalog.tmforum.required.mariadb.changelog-master.xml

MySQL

db/changelog/catalog.tmforum.required.mysql.changelog-master.xml

Oracle

db/changelog/catalog.tmforum.required.oracle.changelog-master.xml

YugabyteDB

db/changelog/catalog.tmforum.required.yugabytedb.changelog-master.xml

TMF InventoryServices Extension Module
Database Platform Create/Update Changelog File Name

PostgreSQL

db/changelog/inventory.tmforum.required.postgresql.changelog-master.xml

MariaDB

db/changelog/inventory.tmforum.required.mariadb.changelog-master.xml

MySQL

db/changelog/inventory.tmforum.required.mysql.changelog-master.xml

Oracle

db/changelog/inventory.tmforum.required.oracle.changelog-master.xml

YugabyteDB

db/changelog/inventory.tmforum.required.yugabytedb.changelog-master.xml

TMF PricingServices Extension Module
Database Platform Create/Update Changelog File Name

PostgreSQL

db/changelog/pricing.tmforum.required.postgresql.changelog-master.xml

MariaDB

db/changelog/pricing.tmforum.required.mariadb.changelog-master.xml

MySQL

db/changelog/pricing.tmforum.required.mysql.changelog-master.xml

Oracle

db/changelog/pricing.tmforum.required.oracle.changelog-master.xml

YugabyteDB

db/changelog/pricing.tmforum.required.yugabytedb.changelog-master.xml

TMF TenantServices Extension Module
Database Platform Create/Update Changelog File Name

PostgreSQL

db/changelog/tenant.tmforum.required.postgresql.changelog-master.xml

MariaDB

db/changelog/tenant.tmforum.required.mariadb.changelog-master.xml

MySQL

db/changelog/tenant.tmforum.required.mysql.changelog-master.xml

Oracle

db/changelog/tenant.tmforum.required.oracle.changelog-master.xml

YugabyteDB

db/changelog/tenant.tmforum.required.yugabytedb.changelog-master.xml

Required Seed Data

TMF AdminNavigationServices Extension Module
Database Platform Required Data Changelog File Name

All

db/changelog/adminnavigation.tmforum.required.data.changelog.xml

TMF AuthenticationServices Extension Module
Database Platform Required Data Changelog File Name

All

db/changelog/auth.tmforum.required.data.changelog.xml