Magnolia 5.6 reached end of life on June 25, 2020. This branch is no longer supported, see End-of-life policy.
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.
Download
Javadoc
Source cross-reference
Source repository
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.
Download
Javadoc
Source cross-reference
Source repository
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.
Download
Javadoc
Source cross-reference
Source repository
The module provides support for simple dialogs configured by code.
SiteAwareFreemarkerRenderer
extension (deprecated and removed) replaced with the equivalent site-aware wrapper.FactoryBean
does the wrapping of the FreemarkerTemplateViewRenderer with SiteAwareRendererWrapper and generalizes its generic typing to the Renderer
interface.Download
Javadoc
Source cross-reference
Source repository
Download
Javadoc
Source cross-reference
Source repository
Download
Javadoc
Source cross-reference
Source repository
Module compatibility with the 6.1 branch of Magnolia is restored. (BLOSSOM-256)
Download
Javadoc
Source cross-reference
Source repository
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.
Download
Javadoc
Source cross-reference
Source repository
This release fixes a bug that may appear when migrating to Magnolia 5.6.3:
Download
Javadoc
Source cross-reference
Source repository
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.
Download
Javadoc
Source cross-reference
Source repository
The
BlossomFormDialogPresenter
is now configurable in the
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.
Improvements:
Download
Javadoc
Source cross-reference
Source repository
Adds support for declaring template parameters with @TemplateParam and for specifying on a template whether it can be
changed, moved and deleted.
Improvements:
Added features:
Download
Javadoc
Source cross-reference
Source repository
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:
Download
Javadoc
Source cross-reference
Source repository
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:
Download
Javadoc
Source cross-reference
Source repository
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:
Download
Javadoc
Source cross-reference
Source repository
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
We'd like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to
Frank Sommer.
Download
Javadoc
Source cross-reference
Source repository
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
Added features:
We'd like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to
Declan Newman.
Download
Javadoc
Source cross-reference
Source repository
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 https://jira.spring.io/browse/SPR-12054.
Improvements:
BLOSSOM-181 Flash attributes not working with uuid redirects
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.
Download
Javadoc
Source cross-reference
Source repository
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:
Added features:
We'd like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to
Dominika and Jean-Charles.
Download
Javadoc
Source cross-reference
Source repository
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:
Added features:
Download
Javadoc
Source cross-reference
Source repository
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:
Added features:
We'd like to thank everyone that has invested time in testing and providing feedback. Special thanks goes out to
Francisco J. Giner.
Download
Javadoc
Source cross-reference
Source repository
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:
Added features:
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.
Download
Javadoc
Source cross-reference
Source repository
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.
Download
Javadoc
Source cross-reference
Source repository
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:
Added features:
Download
Javadoc
Source cross-reference
Source repository
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:
Download
Javadoc
Source cross-reference
Source repository
Small feature release adding support for inheriting areas from super class and a shortcut for redirecting to the current page.
Improvements:
Added features:
Download
Javadoc
Source cross-reference
Source repository
Small feature release adding support for limiting the number of components in an area.
Added features:
Download
Javadoc
Source cross-reference
Source repository
Maintenance release for a regression in version 2.0.2.
Regressions:
Thanks to Jean-Charles for reporting this.
Download
Javadoc
Source cross-reference
Source repository
Maintenance release fixing a number of reported issues.
Added features:
Improvements:
Thanks to everyone who has reported issues and provided feedback. Special thanks goes out to Tomas Brimor, TLN and Francisco J. Giner.
Download
Javadoc
Source cross-reference
Source repository
Small feature release adding support for finding annotations on proxies and a message on update about migration.
Improvements:
Download
Javadoc
Source cross-reference
Source repository
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:
Improvements:
Behind the scenes:
Download
Javadoc
Source cross-reference
Source repository
Small feature release adding support for finding annotations on proxies.
Improvements:
Download
Javadoc
Source cross-reference
Source repository
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:
Behind the scenes:
Download
Javadoc
Source cross-reference
Source repository
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:
Bug fixes:
Download
Javadoc
Source cross-reference
Source repository
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:
Download
Javadoc
Source cross-reference
Source repository
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:
Bug fixes:
Behind the scenes:
Download
Javadoc
Source cross-reference
Source repository
Small feature and bug fix release. The javadoc documentation has been greatly improved and extended. 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:
Bug fixes:
Behind the scenes:
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.
Download
Javadoc
Source cross-reference
Source repository
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:
TabBuilder
Bug fixes:
TabBuilder.addFile
no longer throws RepositoryException
TemplateDescriptionBuilder
changed from private to protectedAPI Changes:
groupId
is now info.magnolia
se.issi.magnolia.
to info.magnolia.
http://www.issi.se/schema/blossom
to
http://www.magnolia-cms.com/schema/blossom
Behind the scenes:
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:
@TabOrder
MagnoliaLocaleResolver
MagnoliaMessageSource
pecid-input
is now also available as pecidInput
Behind the scenes:
API Changes:
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
DialogTabBuilder
no longer throw RepositoryException
DialogTabBuilder
now return the control they create@DialogTabFactory
is renamed to @TabFactory
and moves to se.issi.magnolia.module.blossom.annotation
@TabOrder
annotation<blossom:handler-mapping />
is deprecated and removed<blossom:paragraph-registry />
is renamed to <blossom:configuration />
DefaultBlossomParagraphRegistry
have new argumentsValidatingParagraph
is removed and replaced with @DialogValidator
DialogCreator
has changed and DefaultDialogCreator
changes accordingly.Initial release.
2 Comments
Sivakumar Periasamy
magnolia-personalization-blossom version 1.4.3 is not there in magnolia nexus.
Christoph Meier
Hi
magnolia-personalization-blossom
has been introduced with personalization version 1.4.4.Apparently the note above here on this page was wrong. Hence, you should use at least version 1.4.4 of Magnolia personalization.
Thanks for the heads-up, and sorry for this inconvenience.
Kind regards,
Christoph