Blossom module release notes

Magnolia 6 UI compatibility

The Blossom module is generally compatible with Magnolia 6 UI apps, including the 6 UI Pages app. For more details, see Blossom module: Updating to Magnolia 6.2.

Version 3.7.1

Released on April 15, 2024.

This version only updates Spring Framework to 5.3.34. See BLOSSOM-330 for details.

Version 3.7.0

Released on March 28, 2024.

You can resolve Blossom dialogs at render time to make use of the component’s model (its dialog fields in the template script or controller).

This is possible due to refactoring of the DialogDefinition creation by removing the DialogCreatorDefinitionDecorator.

See BLOSSOM-322 for more details.

Special thanks to Björn Eschle for his contribution.

Version 3.6.5

Released on April 15, 2024.

This version only updates Spring Framework to 5.3.34. See BLOSSOM-330 for details.

Version 3.6.4

Released on February 23, 2024.

This version only updates Spring Framework to 5.3.32. See BLOSSOM-328 for details.

Version 3.6.3

Released on July 26, 2023.

This version updates Guice to 5.1.0. See BLOSSOM-315 for details.

Version 3.6.2

Released on May 12, 2023.

This version only updates Spring Framework to 5.3.27. See BLOSSOM-312 for details.

Version 3.6.1

Released on March 23, 2023.

This version updates Spring Framework to 5.3.26 (BLOSSOM-311) and fixes in issue where the SpringNode2BeanTransformer referenced the removed parent constructor (BLOSSOM-308).

Version 3.6.0

Released on June 24, 2022.

Since this version, @DialogFactories and @TabFactories can inject Spring-managed beans, as well as parameters resolved through Spring HandlerMethodArgumentResolvers (including custom resolvers). See BLOSSOM-295 for details.

Special thanks to Björn Eschle for his contribution.

Version 3.5.1

Released on June 16, 2022.

This version only updates Spring Framework to 5.3.20. See BLOSSOM-301 for details.

Version 3.5.0

Released on April 28, 2022.

Since this version, @DialogFactories and @TabFactories support 6 UI definitions. See BLOSSOM-290 for details.

Version 3.4.7

Released on November 15, 2021.

This version merges the samples Git repository into the blossom repository and enables a regular, automatic CVE scan for known vulnerabilities.

The following dependencies have been updated:

  • Spring framework to 5.1.18.RELEASE.

  • Spring webflow to 2.4.8.RELEASE.

  • Hibernate validator to 6.1.5.Final.

See BLOSSOM-268 for details.

Version 3.4.6

Released on October 9, 2021.

This version fixes a critical issue affecting the 6 UI Pages app, injecting incorrect node and contextual information into dialogs. See BLOSSOM-282 for details.

Version 3.4.5

Released on August 3, 2021.

This version, brought about by BLOSSOM-276, expands support for the Magnolia 6 UI framework:

  • Node and node path are now available in DialogCreationContext, as well as for injection into dialog factories. This facilitates migration to 6.2 and the 6 UI Pages app.

  • DialogCreationContext#getItem() is now deprecated without replacement.

  • The formDialogPresenterClass in the configuration of the module remains ignored in the 6 UI apps.

Version 3.4.4

Released on November 12, 2020.

This version improves observation, by filtering out JCR changes in content versions. Read on in the 6.2.4 release notes.

  • BLOSSOM-278 CLONE - Version events fired in all workspaces

Version 3.4.3

Released on July 15, 2020.

This version furthers the improvements integrated in version 3.4.2 by enabling dialogs also in custom 5 UI content apps, in addition to support for dialogs in the 5 UI and 6 UI Pages apps. Previously, app names were used primarily due to missing APIs exposing the current AppDescriptor and its type. This limitation in the UI framework has been lifted with MGNLUI-5964 - Expose running app contexts via AppController.

This module version requires Magnolia 6.2.2 or later.
  • BLOSSOM-274 Dialog creation is no longer supported in custom content apps

Version 3.4.2

Released on June 11, 2020.

This version fixes an error with Blossom definitions in the Definitions app. In relation to definitions, DefinitionMetadata’s module name is now inferred as blossom when @Template and @DialogFactory’s id are not formed as <module>:<name>. This does not impact the coordinates in the registries. The id attribute is fixed and prevails in Blossom registrations. Finally, this module update removes a minor definition issue where a non-existing type property was configured (and ignored) in Blossom’s renderer configuration.

  • BLOSSOM-272 DialogCreatorDefinitionDecorator is wrongly applied in Definitions app, may produce NPEs

Version 3.4.1

Released on June 10, 2020.

Besides improving definition logging, this release fixes an issue affecting the DialogCreationContext attributes. The attributes were not initialized properly in the Magnolia compatibility Pages app.

  • BLOSSOM-267 Harmonize the definition logging for Blossom

  • BLOSSOM-269 DialogCreationContext attributes are not initialized

Version 3.4

Released on May 19, 2020.

  • BLOSSOM-257 The module has been adapted for the 6.2 branch of Magnolia.

    • It has been migrated to the 6 UI framework (non-compatibility), but old-style compatibility dialogs can still be registered.

    • The module provides support for simple dialogs configured by code.

    • Dialog factories are forward-compatible with Magnolia 6.2.

  • BLOSSOM-261 Usages of the SiteAwareFreemarkerRenderer extension (deprecated and removed) replaced with the equivalent site-aware wrapper.

    • SiteAwareFreemarkerTemplateViewRenderer is now deprecated and kept only for backward compatibility. The current equivalent is the FreemarkerTemplateViewRenderer. Use the SiteAwareFreemarkerTemplateViewRendererFactoryBean instead.

    • The FactoryBean does the wrapping of the FreemarkerTemplateViewRenderer with SiteAwareRendererWrapper and generalizes its generic typing to the Renderer interface.

    • Similarly for the non site-aware FreemarkerTemplateViewRenderer, it must now be registered by its respective factory-bean FreemarkerTemplateViewRendererFactoryBean. Its constructor now injects Magnolia’s FreemarkerHelper and RenderingEngine, and we don’t expose these to Spring by default.

Version 3.3.2

Released on June 2, 2020.

  • BLOSSOM-264, providing a security fix for the module.

Version 3.3.1

Released on March 27, 2020.

Version 3.3

Released on August 30, 2019.

  • BLOSSOM-256 Module compatibility with the 6.1 branch of Magnolia is restored

Version 3.2.2

Released on July 22, 2019.

As part of BLOSSOM-255, the Blossom sample webapp was moved to FreeMarker to remove the remaining dependencies on JavaServer Pages (JSP), deprecated with the release of Magnolia 6.0.

Version 3.2.1

Released on April 3, 2018.

This release fixes a bug that may appear when migrating to Magnolia 5.6.3:

  • BLOSSOM-249 Definitions app not opening up after migrating to 5.6.3

Version 3.2

Released on November 15, 2017.

The module has been updated to work with Vaadin 8, a part of the Vaadin 8 migration effort for the release of Magnolia 5.6.

Version 3.1.4

Released on May 12, 2017.

BlossomFormDialogPresenter is now configurable in BlossomModule (the formDialogPresenterClass property). This change was required to allow component personalization with Blossom.

If you want to use component personalization together with Blossom, you have to add the magnolia-personalization-blossom module to the webapp, otherwise it won’t be possible to manage personalized components.

Maven is the easiest way to install the module. Add the following dependency to your bundle:

Use version 1.4.4 or later.

Improvements:

Version 3.1.3

Released on April 29, 2016.

Adds support for declaring template parameters with @TemplateParam and for specifying on a template whether it can be changed, moved and deleted.

Improvements:

  • BLOSSOM-231 Blossom seems to have no location in metadata

  • BLOSSOM-233 Duplicate registration of templates with multiple @RequestMapping methods

  • BLOSSOM-234 Upgrade sample to Magnolia 5.4.6 and Spring 4.2.5

Added features:

  • BLOSSOM-235 Support for setting writable, movable and deletable with @Template

  • BLOSSOM-232 Annotations for declaring template parameters

Version 3.1.2

Released on November 20, 2015.

Fixes a problem with using certain arguments in @RequestMapping annotated methods and introduces two properties for controlling whether labels should are set on tabs and whether to sort tabs by label or name. These properties makes it easier to adopt the new I18n style in Magnolia.

Improvements:

  • BLOSSOM-226 Call to annotated method @RequestMapping on a template ends in Argument type mismatch

  • BLOSSOM-228 Compatibility with new I18n API

Version 3.1.1

Released on October 9, 2015.

Adds integration with the Magnolia Site module allowing Blossom templates to be merged with the template prototype. Blossom now requires the Site module to be installed but using the template prototype is still optional.

Improvements:

Version 3.0.7

Released on July 3, 2015.

Minor update that fixes a problem with permissions on components and a change to how the BlossomDispatcherServlet behaves on refresh allowing templates and dialogs to be reregistered.

Improvements:

  • BLOSSOM-208 Permissions on components have no effect

  • BLOSSOM-209 BlossomDispatcherServlet should send BlossomDispatcherInitializedEvent on ApplicationContext refresh

Version 3.0.6

Released on March 6, 2015.

Minor update that makes using Spring java config easier with new methods in BlossomModuleSupport for starting context and servlets, configuring template view renderers and ordering handler mappings. Also adds more arguments to annotated methods called to create dialogs and opens the tab ordering logic to extension.

Improvements:

  • BLOSSOM-201 Provide support for additional arguments in dialog construction callbacks

  • BLOSSOM-202 Customize tab sorting

  • BLOSSOM-203 Enhancements for spring java config

We’d like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to Frank Sommer.

Version 3.0.5

Released on January 30, 2015.

Adds post create callbacks for dialogs called after its tab factories have been run allowing post processing such as configuring fields and adding tabs. This release also adds a way of checking if handler is invoked during pre-execution, and performance improvements which should be especially notable when using freemarker or thymeleaf.

Improvements:

  • BLOSSOM-109 Add tool annotations and flag attributes as required in xsd

  • BLOSSOM-195 Performance improvements for forward and include wrappers

  • BLOSSOM-199 Exception thrown when dialog factory fails should include called method in message

Added features:

  • BLOSSOM-38 Add a mechanism for testing whether a controller is executed within pre-execution

  • BLOSSOM-47 Post create callbacks for template, area, component and DialogFactory classes

We’d like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to Declan Newman.

Version 3.0.4

Released on October 17, 2014.

Minor update that adds support for setting the node creation flag on areas, and for flash attributes when using placeholder and uuid redirects. To enable flash support the standard RequestMappingHandlerAdapter has to be replaced with the specialized BlossomRequestMappingHandlerAdapter. For more details see SPR-12054.

Improvements:

  • BLOSSOM-181 Flash attributes not working with uuid redirects

  • BLOSSOM-189 BlossomDispatcherServlet should implement all DispatcherServlet constructors

  • BLOSSOM-191 Area annotation should also support area node creation flag

We’d like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to Frank Sommer and Andreas Antener.

Version 3.0.3

Released on July 26, 2014.

Adds compatibility with DAM 2.x, a short-hand syntax for redirecting to the current content and adds a flag for exposing model attributes when doing uuid redirects.

Improvements:

  • BLOSSOM-184 Add support for DAM 2.x new package name of DamConfig.java

Added features:

  • BLOSSOM-182 Support short-hand syntax for redirecting to the current content

  • BLOSSOM-178 Add exposeModelAttributes property on UuidRedirectViewResolver

We’d like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to Dominika and Jean-Charles.

Version 3.0.2

Released on May 23, 2014.

Small feature release adding support for Spring 3.1 MVC handler methods, callbacks for auto generation of components in areas and post processing of definitions prior to registration.

Improvements:

  • BLOSSOM-175 MagnoliaMessageSource should have configurable basenames

Added features:

  • BLOSSOM-104 Support for inheriting areas from super class

  • BLOSSOM-111 Add support for auto generation of components in areas

  • BLOSSOM-167 Support Spring MVC 3.1 MVC handler methods

  • BLOSSOM-172 Add post processing callback prior to registration in templates, areas and dialogs

  • BLOSSOM-176 Placeholder for redirecting to the current page

Version 3.0.1

Released on March 12, 2014.

Small feature release adding support for limiting the number of components in an area and adds access to the Vaadin Item being used by a dialog.

Improvements:

  • BLOSSOM-152 DialogCreationContext now have methods for accessing the JCR Node directly

  • BLOSSOM-156 The Vaadin Item used by a dialog is now available in DialogCreationContext and methods building dialogs

Added features:

  • BLOSSOM-147 Support for specifying maximum components in an area

We’d like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to Francisco J. Giner.

Version 3.0

Released on October 9, 2013.

Major update for Magnolia 5 style dialogs, compatible with Magnolia 5.1 and later. In version 5, Magnolia has a brand new user interface and with it comes a new API for dialogs. This version of Blossom is an update for this API and also contains a few other improvements.

The new user interface is built using Vaadin. In previous versions of Magnolia you would create and configure controls, now you build an object model that defines how the dialog and its fields should appear and behave. This definition model is then used to create and configure vaadin components. The fields have better support for validation which is why @TabValidator and @DialogValidator have been removed in this version.

For composing the dialogs Blossom 3 uses a builder style API that creates a more fluent programming style. A new set of classes replaces the previous API. These classes include a new TabBuilder and DialogBuilder and provides builders for each of the built-in fields, making it easier to configure properties on the fields.

A new feature in this release is meta-annotations for component availability. It allows for creating custom annotations that can then be used on components to categorize them. They can then be used for specifying which components can go into an area with the @AvailableComponentClasses annotation. All components having a specified annotation will be available.

Using Springs freemarker macros for forms is now straight forward. When rendering freemarker views Blossom will expose a RequestContext object which these macros require, it will also expose everything in the model as request attributes. This feature is enabled by default but can be switched off on the FreemarkerTemplateViewRenderer.

The multipart support that bridges Springs multipart handling to the multipart support in Magnolia has been updated for API changes made in Spring 3.1.

The groupId changes for this version from info.magnolia to info.magnolia.blossom.

Improvements:

  • BLOSSOM-2 Spring macro helper and the model is now exposed as request attributes in freemarker templates

  • BLOSSOM-89 Multipart resolver now implements methods required in Spring 3.1

  • BLOSSOM-108 UUID redirects are not resolved in pre-execution

  • BLOSSOM-114 BeanFactoryUtils should use SLF4J instead of commons logging

  • BLOSSOM-115 BLOSSOM-121 Update for Magnolia 5.1

  • BLOSSOM-119 Add spring schema for Blossom 3.0

  • BLOSSOM-120 Update bootstrap files for metadata mixins

  • BLOSSOM-127 Change groupId to info.magnolia.blossom

  • BLOSSOM-130 Fix for using the same JSP nested multiple times

Added features:

  • BLOSSOM-106 Extension hooks in TemplateExporter and DialogExporter for post processing definitions

  • BLOSSOM-117 BLOSSOM-135 Add support for Magnolia 5 style dialogs

  • BLOSSOM-131 Meta annotations for component availability

  • BLOSSOM-133 Abstract support class for autowiring of rendering models

  • BLOSSOM-136 Log all registered templates after template export

  • BLOSSOM-142 Provide Node2BeanTransformer with autowiring support

We’d like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to Wolfgang Wachsmuth and TLN.

Version 2.0.8

Released on March 6, 2015.

Minor update that opens the tab ordering logic to extension.

Improvements:

We’d like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to Frank Sommer.

Version 2.0.7

Released on January 30, 2015.

Adds a way of checking if handler is invoked during pre-execution, and performance improvements which should be especially notable when using Freemarker or Thymeleaf.

Improvements:

  • BLOSSOM-195 Performance improvements for forward and include wrappers

Added features:

  • BLOSSOM-38 Add a mechanism for testing whether a controller is executed within pre-execution

Version 2.0.6

Released on August 1, 2014.

Adds a short-hand syntax for redirecting to the current content and adds a flag for exposing model attributes when doing uuid redirects.

Added features:

  • BLOSSOM-178 Add exposeModelAttributes property on UuidRedirectViewResolver

  • BLOSSOM-182 Support short-hand syntax for redirecting to the current content

Version 2.0.5

Released on May 23, 2014.

Small feature release adding support for inheriting areas from super class and a shortcut for redirecting to the current page.

Improvements:

  • BLOSSOM-175 MagnoliaMessageSource should have configurable basenames

Added features:

  • BLOSSOM-104 Support for inheriting areas from super class

  • BLOSSOM-176 Placeholder for redirecting to the current page

Version 2.0.4

Released on March 12, 2014.

Small feature release adding support for limiting the number of components in an area.

Added features:

  • BLOSSOM-147 Support for specifying maximum components in an area

Version 2.0.3

Released on January 29, 2014.

Maintenance release for a regression in version 2.0.2.

Regressions:

Thanks to Jean-Charles for reporting this.

Version 2.0.2

Released on January 14, 2014.

Maintenance release fixing a number of reported issues.

Added features:

  • BLOSSOM-112 Template and area definitions should be available for arguments to mvc handler methods

Improvements:

  • BLOSSOM-2 Expose spring macro helper and the model as request attributes in freemarker templates

  • BLOSSOM-96 Exception thrown when trying to export template without required Template annotation should include the class

  • BLOSSOM-101 TemplateDefinitionBuilder#resolveTemplateId throws IllegalStateException (with empty error string) when class is missing Template annotation

  • BLOSSOM-102 Configuration nodes for autodetected templates should be removed when updating from 1.x

  • BLOSSOM-108 UUID redirects are not resolved in pre-execution

  • BLOSSOM-130 Nesting the same JSP + Performance impact

  • BLOSSOM-152 DialogCreationContext now have methods for accessing the JCR Node directly

Thanks to everyone who has reported issues and provided feedback. Special thanks goes out to Tomas Brimor, TLN and Francisco J. Giner.

Version 2.0.1

Released on October 4, 2012.

Small feature release adding support for finding annotations on proxies and a message on update about migration.

Improvements:

  • BLOSSOM-88 Annotations are not found when using cglib proxies

  • BLOSSOM-94 Added message about migration from 1.2.x

Version 2.0

Released on March 13, 2012.

Major update for Magnolia 4.5 and its new rendering engine, page editor and templating concepts. With Magnolia 4.5 areas are explicit entities rather than implicit as node collections. The term paragraph is replaced with component. Components and templates have been streamlined and are internally identical, the only real difference is that they have different id formats which in turn controls where they’re applicable.

@Paragraph has been deprecated and removed. Instead use @Template and set an id of the form <moduleName>:components/*

@ParagraphDescription has been renamed to @TemplateDescription

Templates now have a dialog, use the dialog annotations in the same way as you did for paragraphs.

Ids for templates and components are no longer generated from their @RequestMapping paths. As of this version they need to be specified on the @Template annotation explicitly.

Paragraphs used to require a dialog even if there was nothing to set. This is no longer the case, a component or template that doesn’t use any of the annotations used to create a dialog will simply not have a dialog. A component is added to the page immediately without a dialog being shown.

Areas are defined using nested classes (public static class) within a template or another area in which it belongs. They are normal Spring Web MVC controllers the same as templates and you annotate them with @Area. You can configure which components are available in them using the @AvailableComponents or @AvailableComponentClasses annotations. Areas have their own dialog.

An area can inherit components from areas of the same name in the page’s parent pages. By default it will only inherit components marked for inheritance.

The content API, centered on info.magnolia.cms.core.Content, has been deprecated. It’s still around and fully backwards compatible and will be for some time. Instead we favour using the JCR API directly. Therefore in all the places where Blossom was giving you a Content object you can now instead choose to receive a javax.jcr.Node object. This includes all the methods you’ve annotated with blossom annotations as well as your @RequestMapping methods.

No longer necessary to use the ServletContextExposingContextListener as the functionality it provided is now part of Magnolia itself. The class has been removed, you need to update your web.xml.

The <blossom:configuration> that was previously required in your applicationContext.xml is no longer required and need to be removed.

Added features:

  • BLOSSOM-65 Templates are dialog factories for their own dialog

  • BLOSSOM-71 @TemplateDescription replaces @ParagraphDescription

  • BLOSSOM-72 @Paragraph is replaced with @Template

  • BLOSSOM-74 Templates are identified with id

  • BLOSSOM-78 Area configuration using nested classes

  • BLOSSOM-82 Areas can have available components set using the classes defining the components

  • BLOSSOM-87 @Available methods can receive the TemplateDefinition for the template

Improvements:

  • BLOSSOM-59 FactoryBeans for beans configured in JCR use JCR API

  • BLOSSOM-61 BlossomWebArgumentResolver supports passing object being rendered as JCR Node instances

  • BLOSSOM-79 ServletContextExposingContextListener is dropped

  • BLOSSOM-81 Empty dialogs are not displayed

  • BLOSSOM-83 Template ids needs to be set explicitly, generation from @RequestMapping is dropped

  • BLOSSOM-84 Template title is set with title field instead of value field

Behind the scenes:

  • BLOSSOM-58 Update for Java 6 and JCR 2.0

  • BLOSSOM-60 upgraded test to JUnit 4

  • BLOSSOM-62 UuidRedirectView and resolver use JCR terminology (workspace instead of repository)

  • BLOSSOM-63 MagnoliaComponentFactoryBean uses Components instead of FactoryUtil

  • BLOSSOM-64 Templates are registered in Magnolia using providers

  • BLOSSOM-67 Update rendering for Magnolia 4.5

  • BLOSSOM-69 TemplateExporter is customizable in beans xml and have full control of the created definition

  • BLOSSOM-70 DialogExporter is customizable in beans xml and have full control the the created definition

  • BLOSSOM-73 Dialog registry is a magnolia component

  • BLOSSOM-75 Dialogs are registered in Magnolia using providers

  • BLOSSOM-76 Update template availability callbacks for Magnolia 4.5

Version 1.2.4

Released on October 4, 2012.

Small feature release adding support for finding annotations on proxies.

Improvements:

  • BLOSSOM-88 Annotations are not found when using cglib proxies

Version 1.2.3

Released on November 22, 2011.

Extends the feature set of TabBuilder for adding multi select controls and introduces additional getters. Also makes it possible to directly add dialog descriptions to the dialog registry. This makes it possible to have new strategies for dialogs which is required by the new module magnolia-module-blossom-extension-data that adds support for using blossom dialogs with node types in the data module.

Added features:

  • BLOSSOM-43 Adds TabBuilder.addMultiSelect() addInclude() and addControl()

  • BLOSSOM-50 Adds TabBuilder.getContext()

  • BLOSSOM-53 Adds TabBuilder.getDialog()

Behind the scenes:

  • BLOSSOM-51 Dialog registry accepts dialog descriptions directly and DialogDescriptionBuilder is more open to extension

Version 1.2.2

Released on March 4, 2011.

Adds an enhancement to BlossomWebArgumentResolver that allows the content objects for both page and paragraph to be used as argument on annotated controllers. Also fixes two reported bugs.

Added features:

  • BLOSSOM-36 Support both page and paragraph content as arguments on controllers

Bug fixes:

  • BLOSSOM-37 Empty dialog when editing version 0.5 content or using Magnolia before 4.3.2

  • BLOSSOM-40 Model not emptied after rendering of paragraph completes

Version 1.2.1

Released on January 7, 2011.

Bug fix release. Fixes two issues related to context path and bridging from content rendering into Spring’s DispatcherServlet and an issue with context path and uuid redirects.

Bug fixes:

  • BLOSSOM-33 - Simulated forwards should use the webapps context path

  • BLOSSOM-34 - Simulated forward attributes are not visible after an include

  • BLOSSOM-35 - Redirects based on uuid should include contextPath

Version 1.2

Released on December 23, 2010.

Big enhancements to the feature set and fixes two important bugs. Most notably added support for having beans that are configured in the repository with support for reloading them transparently when their configuration changes. The feature builds on an extension to Content2Bean that allows dependency injection, lifecycle events and applying AOP proxies using the ApplicationContext. As for the ApplicationContext there’s a new feature that brings in singletons from Magnolia so that they can be specified as dependencies in bean definitions or used for autowiring. Also new in this release is a number of enhancements for working with content in controllers even easier.

Added features:

  • BLOSSOM-14 Make possible to set a SaveHandler for a dialog

  • BLOSSOM-19 Support for DI and AOP in Content2Bean

  • BLOSSOM-20 FactoryBeans for creating beans configured in repository with support for observed reloading

  • BLOSSOM-23 WebArgumentResolver for Content, User, MgnlUser, AggregationState and Context

  • BLOSSOM-24 FactoryBean that exposes magnolia singletons in ApplicationContext

  • BLOSSOM-29 ViewResolver for sending redirects based on uuid

  • BLOSSOM-30 Support for filter and servlet proxies that defer initialization until Magnolia has finished update/install phase

  • BLOSSOM-31 @Available should be overridable in subclasses

Bug fixes:

  • BLOSSOM-16 BlossomDispatcherServlet fails to render when handlerPath is a subset of the requestURI

  • BLOSSOM-18 Multipart support doesn’t work with Spring 3

Behind the scenes:

  • BLOSSOM-22 Move BlossomFilter deeper into filter chain to make sure that AggregationState is properly filled in during pre execution

  • BLOSSOM-28 Upgrade to parent POM version 19

  • BLOSSOM-32 Anonymous dialogs for paragraphs should be registered in repository like normal dialogs

Version 1.1.1

Released on September 29, 2010.

Small feature and bug fix release. You can now annotate a method in your templates to control where the template is available. Blossom now also support multipart requests by exposing Magnolias built in support through the Spring APIs. VirtualURIMappings are now discovered and automatically exported. There’s also support for declaring them using an annotation @VirtualURIMapper. Also, if you’ve done customizations to add more argument types to methods for creating and validating dialogs and tabs you’ll be pleased to see that this extension point is now more comprehensible and easy to use.

Added features:

  • BLOSSOM-1 Support for @Available to control where a template can be used

  • BLOSSOM-4 Support for exposing VirtualURIMappings and classes using @VirtualURIMapper

  • BLOSSOM-11 Support for multipart requests, bridges Springs abstraction onto Magnolia multipart processing

Bug fixes:

  • BLOSSOM-5 NPE while detecting dialog factories and encounters abstract bean

  • BLOSSOM-7 ContextLoader is not released correctly on module reload

  • BLOSSOM-12 The autodetected node is created only when needed so it won’t be considered as a dialog when its empty

  • BLOSSOM-13 Use of configNode when creating dialogs

Behind the scenes:

  • BLOSSOM-8 Upgrade POM expand javadoc and pass checkstyle tests

  • BLOSSOM-9 Improve package structuring and extract detection of templates, paragraphs and dialogs to separate classes

We’d like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to Danilo Ghirardelli, Thomas Duffey, Thomas Kalmar and Åke Argéus.

Version 1.1

Migrated to Magnolia International Ltd. on July 1, 2010.

Blossom is now maintained and supported by Magnolia International Ltd. Package names and XML namespace URIs change to reflect this. The Maven artifact is also changed to info.magnolia. Apart from this the release is a minor release with an important bug fix that prevented dialogs from working in Magnolia 4.3.2. Also adds support for initializing Spring within modules, adding radio button controls to dialogs and setting visibility on templates.

Added features:

  • Support for properly getting Spring initialization within module install and startup

  • Added radio button control to TabBuilder

  • Added support for visibility on templates

Bug fixes:

  • Fix for Magnolia 4.3.2, the paragraph edit dialog was broken due to changes in Magnolia

  • TabBuilder.addFile no longer throws RepositoryException

  • Methods in TemplateDescriptionBuilder changed from private to protected

  • Tabs added to dialogs have their name set to match their label

API Changes:

  • Maven artifact groupId is now info.magnolia

  • Package names changed from se.issi.magnolia. to info.magnolia.

  • Spring namespace changed from http://www.issi.se/schema/blossom to http://www.magnolia-cms.com/schema/blossom

Behind the scenes:

  • Custom paragraph select dialog is removed

  • Blossom pre-execution filter enabled by default on install

Version 1.0

Released on July 1, 2010 by Tobias Mattsson.

As of version 1.0 Blossom gives you a much bigger feature set and some of the functionality in the previous version has matured. Unfortunately this means that some changes have to be made when upgrading. But don’t worry, your content does not have to be touched.

Added features:

  • Support for exposing controllers as Templates

  • Support for creating all types of dialogs with code

  • Localization support for paragraphs, dialogs and templates

  • Rendering of views is performed using the Magnolia render chain, supports both JSP and Freemarker

  • Ordering of dialog tabs is customizable with @TabOrder

  • The locale used by Magnolia can be made visible to Spring using MagnoliaLocaleResolver

  • Magnolia’s localization mechanism can be bridged into Spring using MagnoliaMessageSource

  • JSP tag pecid-input is now also available as pecidInput

Behind the scenes:

  • Blossom now exposes controllers are normal paragraphs instead of using a placeholder paragraph that delegates rendering to the controller. This is a much cleaner design and allows migration of existing content and paragraphs into Blossom.

  • Customization of the paragraph select dialog is no longer necessary.

API Changes:

  • Paragraphs are no longer named after the handlerPath they’re mapped to. That is, a controller mapped to /text that was previously referred to in templates as /text is now simply text. This had to be done in order to support migration of existing configured paragraphs into Blossom. Using a forward slash / in a paragraph name was never a good idea in the first place. You don’t have to specify a name on your paragraph, it will automatically use the handlerPath stripped from any slashes as its name.

  • @ParagraphTitle is renamed to @Paragraph and moves to se.issi.magnolia.module.blossom.annotation

  • @ParagraphDescription moves to se.issi.magnolia.module.blossom.annotation

  • DialogTabBuilder is renamed to TabBuilder

  • DialogTabBuilder.addText changes to TabBuilder.addEdit

  • Methods in DialogTabBuilder no longer throw RepositoryException

  • Methods in DialogTabBuilder now return the control they create

  • @DialogTabFactory is renamed to @TabFactory and moves to se.issi.magnolia.module.blossom.annotation

  • Ordering of tabs in dialogs are now set using the @TabOrder annotation

  • <blossom:handler-mapping /> is deprecated and removed

  • <blossom:paragraph-registry /> is renamed to <blossom:configuration />

  • Extension hooks in DefaultBlossomParagraphRegistry have new arguments

  • ValidatingParagraph is removed and replaced with @DialogValidator

  • Interface DialogCreator has changed and DefaultDialogCreator changes accordingly.

Version 0.5

Initial release, released on October 29, 2009 by Tobias Mattsson.

Feedback

DX Core

×

Location

This widget lets you know where you are on the docs site.

You are currently perusing through the DX Core docs.

Main doc sections

DX Core Headless PaaS Legacy Cloud Incubator modules