Documentation Home
This version of the framework is no longer supported. View the latest documentation.

Broadleaf 4.0.0-GA Release

Thymeleaf Layout Dialect

We now support the Thymleaf Lay Dialect. With this enhancement, pages can be designed from a heirarchical approach without needing external libraries. Now you are able to utilize Thymeleaf Layouts which allow you to style the content and pass entire fragments to included pages, increasing reusability and code comprehension of your UI.

To enable the use of the Thymeleaf Layout Dialect, add the following to your runtime properties files.
thymeleaf.useLayoutDialect=true

For further information about the Thymeleaf Layout Dialect, please refer to the Thymeleaf Layout Dialect section here.

We do not recommend using the Out of Box Broadleaf LayoutMap configuration anymore.

New Features:

Better i18N AddressImpl compatibility #775

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/775

Feature, Requires Migration

Create mechanism in BroadleafCommonAddressValidator to customize validation based on a new BroadleafFormType #1097

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1097

Enhancement, Feature

Update to the latest Spring 4.1 version #1116

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1116

Feature

Support for Spring 4 Integration Testing Framework with Spock tests #1127

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1127

Feature, Testing

Added support for easier and quicker development of integration testing/RESTful services testing. Documentation can be found here.

Add Account Domain to framework #1166

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1166

Feature

New Features Requiring Migration:

Better i18N AddressImpl compatibility #775

New Enhancements:

--UNKNOWN--

Field for search should have a friendly name that is translatable. Also, should have more reasonable properties for prominent. #1098

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1098

Enhancement

"this was addressed in enterprise 3.2", so should this be here?

--UNKNOWN--

--CORE RELATED--

Remove or refactor org.broadleafcommerce.core.web.order.model.AddToCartItem. #617

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/617

Enhancement

Moved AddToCartItem from broadleaf-framework-web to broadleaf-framework.

Add save method to Store service/dao #770

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/770

Enhancement

Speed up PersistenceManager resolution #918

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/918

Enhancement

Allow merged applicationContexts to declare different Spring schemaLocation XSDs #936

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/936

Enhancement

Add more methods for looking up admin sections/menus/permissions #966

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/966

Enhancement

Add External ID to Category and SKU #999

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/999

Enhancement, Requires Migration

Remove the enum value HANDLED from ExtensionResultStatusType #1089

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1089

Enhancement

Done to remove ambiguity for implementors of the extension handler. (Value was deprecated instead of removed.)

Add method in CountrySubdivisionService/DAO to find by country and subdivision category #1096

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1096

Enhancement

copyBillingToShipping and copyShippingToBilling should copy phonePrimary in Checkout #1100

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1100

Enhancement

Refactor ManageCustomerAddressesController and move convenience methods into Abstract class #1103

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1103

Enhancement

"Refactor and move views/init bindings/service declarations into an AbstractCustomerAddressController to provide inheritance capabilities for other modules."

Default analytics properties to blank #1110

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1110

Enhancement

Add loggedIn check to customer rule builder #1013

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1013

Enhancement

Fix logging in PaymentGatewayAbstractController #1017

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1017

Enhancement

Add extension handler for query refinement #1072

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1072

Enhancement

CustomerPayment additionalFields cannot handle raw responses from payment gateways #1188

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1188

Enhancement, Requires Migration

Changed mapping type of additionalFields to map to a database large object type. (Added @Lob annotation to achieve this)

--CORE RELATED--

--ADMIN RELATED--

Add hint, helpText, and tooltip to dynamic form fields #759

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/759

Enhancement

Add support for hiding top level errors on admin forms via system property #808

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/808

Enhancement

"Default to FALSE but this will allow implementors to set to TRUE and not have the errors show on the top part of the form."

Add sortable support in admin to BasicEntityCollection #863

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/863

Enhancement

Add base support for admining FieldDefinition #911

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/911

Enhancement

Provide an easier mechanism to obtain admin metadata about a ceiling entity #1000

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1000

Enhancement

Clean up and refactor the extension managers in AdminAbstractController #1003

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1003

Enhancement

Allow a full URL override for EntityFormAction buttons #1066

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1066

Enhancement

Make Translations a Top-Level Admin Entity #1078

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1078

Enhancement

Add support for a lookup for update collection lookup type #1086

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1086

Enhancement

Change menu organization #1120

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1120

Enhancement, Requires Migration

Convert the admin change password screen to a popup based one #1161

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1161

Enhancement, Requires Migration

--ADMIN SEARCH--

Add friendlyName to Field entity for search, to be used by admin #1029

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1029

Enhancement

Make FieldImpl implement AdminMainEntity #1092

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1092

Enhancement

Done to allow management of search fields in admin.

--ADMIN SEARCH--

--ADMIN RELATED--

--HIBERNATE RELATED--

Change the Hibernate sequence generator behavior to use the database value as the 'low' value #786

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/786

Enhancement, Requires Migration

Officially remove HibernateToolTask #1169

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1169

Enhancement, Requires Migration

No longer supporting HibernateToolTask dependencies, and as such, removed them.

Order/Order Item Hibernate Query Optimizations #1209

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1209

Enhancement

Optimized Hibernate query of order items by changing the fetch type to lazy so that the query doesn't fail due to exceeding the max number of select columns.

--HIBERNATE RELATED--

--DATABASE ORDER LOCK--

Provide a database-managed version of OrderLockManager #1044

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1044

Enhancement

Implement max retries for Order locking in the database #1105

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1105

Enhancement

Implement more robust error state handling for DatabaseOrderLockManager #1141

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1141

Enhancement

Enhancement adds a ttl for order locks, helps to avoid MySql deadlock, and implements a way for a user to regain a lock if the order lifecycle is killed while the request is still in process.

--DATABASE ORDER LOCK--

--TEST RELATED--

Change over from Cobertura to Jacoco for code analysis #1131

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1131

Enhancement

Made this change due to Cobertura modifying compiled release code, which Jacoco leaves untouched.

--TEST RELATED--

--STATIC ASSETS/RESOURCES RELATED--

There is no way to tell what a resource name is after uploading files via the FileServiceFileProvider #1081

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1081

Enhancement

Add support for StaticAssetDaoQuery and SaticAssetService extension handler patterns #1109

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1109

Enhancement

Allow the StaticAssetStorage services to work better with files outside of Spring web #1128

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1128

Enhancement

Refactored the static asset services to support normal file use cases alongside MultipartFile, instead of only supporting MultipartFile.

--STATIC ASSETS/RESOURCES RELATED--

--MULTI TENANT--

Add Multi-Tenant Support for Transparent Redirect Payment Gateway Solutions #1014

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1014

Enhancement

Add framework support for catalog/site cloning #1126

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1126

Enhancement

--MULTI TENANT--

--SOLR RELATED--

Add support for Maps, Collections, and arrays for Solr indexing and searching #1084

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1084

Enhancement

Need to add a hook for someone to add additional fields to the Solr document when indexing #1085

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1085

Enhancement

--SOLR RELATED--

--PAGE PROCESSING/CMS--

Add required validation for the page name #828

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/828

Enhancement

Page / PageTemplate / PageField refactoring #914

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/914

Enhancement, Requires Migration

Provide framework basis for Advanced Page support #943

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/943

Enhancement

Page refactorings for AdvancedCMS support #987

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/987

Enhancement

Show generated URLs for Product/Category/Page in admin #1039

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1039

Enhancement

Add extension handler for page processing #1041

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1041

Enhancement

"Refactored to support for advanced cms extensions."

Add support for the Thymeleaf Layout Dialect #1095

https://github.com/BroadleafCommerce/BroadleafCommerce/issues/1095

Enhancement, Requires Migration

--PAGE PROCESSING/CMS--

New Enhancements Requiring Migration:

Better i18N AddressImpl compatibility #775

Change the Hibernate sequence generator behavior to use the database value as the 'low' value #786

Page / PageTemplate / PageField refactoring #914

Add External ID to Category and SKU #999

Add support for the Thymeleaf Layout Dialect #1095

Change menu organization #1120

Convert the admin change password screen to a popup based one #1161

Officially remove HibernateToolTask #1169

CustomerPayment additionalFields cannot handle raw responses from payment gateways #1188