Magnolia Blossom is the Spring integration module for Magnolia. If you're familiar with Spring you'll find the programming model offered by Blossom intuitive and easy to use. In a way its Spring Web MVC with content. It lets you write reusable templates and components with a high level of dynamic behavior that editors can compose to create truly interactive web pages. Using the proven application stack of Spring Framework makes it easier to develop integrations with for instance business systems to fetch information you want to present in your pages. If you already know Spring you'll appreciate that Blossom gets you faster up to speed and lets you work in an environment that you're already familiar with.
- Annotation based API that builds on Spring Web MVC, it automatically detects annotated classes and registers them for use in Magnolia. Simply add @Template to your controllers and they're ready to be used as building blocks by editors.
- Exposes controllers as templates and components, allowing you to use the controller for building a model. Useful if you need to call a web service to get information to present or if you need to read it from a database.
- Having your templates, areas and components backed by an MVC framework has the benefit of a natural way of developing business logic also for the web.
- Allows you to reuse controllers that you've already developed when you take the leap onto using a CMS.
- Allows you to create dialogs with code instead of configuration. This has many benefits: you can populate the dialog at runtime with options detected at runtime, you get your dialogs out of the repository and into your source control (CVS, SVN, GIT).
- Dialog validation callbacks for custom validation of input.
- Execution of a components in front of Magnolia CMS so that it can choose to do a redirect and skip page rendering. Very useful for instance if you have a form that on post should either present an error message or do a redirect.
The latest version is 3.0.5.
Instructions for setting up maven with the Magnolia maven repository here.
Tutorials and Guides
- Accessing Spring beans from Magnolia components and vice versa
- Adding a DispatcherServlet to a Blossom module
- Auto generating components in areas
- Blossom and Content Translation Module
- Blossom - Fully working example
- Combining multiple modules using Blossom
- Extending the Blossom TabBuilder
- Migrating content created with Blossom 0.5
- Migrating content when upgrading to Blossom 2
- Multiple forms on the same page
- STK, Blossom and Multi site interoperability
- Tutorial for adding in-place templating in a Blossom project
- Using Blossom dialogs for types in Data module
- Using Spring Security with Magnolia and Blossom
Tobias Mattsson's Blog
Spring Framework and Magnolia CMS: Creating Complex Java-based Websites
Article from www.developer.com takes you step by step from setting up a project to writing templates and paragraphs.
Integrating Magnolia with Spring Framework using Blossom
This presentation by Tobias Mattsson from Magnolia Conference 2010 covers the features provided by Blossom and goes through examples of how they're used. Tobias also explains the benefits with using Spring Framework.
US Navy Integrates Spring Applications with Flying Colors Thanks to Web CMS
In this webinar Matt Dertinger, Solutions Architect at Campbell Ewald, shows how they used Magnolia and Blossom to deliver Navy.com and the integrations they needed. The webinar recording is available online.
Blossom 2.0 Feature Video
This video shows the new features and the updated API in Blossom 2.0
Blossom 2.0 Slide deck
Presentation slides updated for 2.0
Javadoc Version 3.0.5
Javadoc Version 3.0.4
Javadoc Version 3.0.3
Javadoc Version 3.0.2
Javadoc Version 3.0.1
Javadoc Version 3.0
Javadoc Version 2.0.4
Javadoc Version 2.0.3
Javadoc Version 2.0.2
Javadoc Version 2.0.1
Javadoc Version 2.0
Javadoc Version 1.2.4
Javadoc Version 1.2.3
Javadoc Version 1.2.2
Javadoc Version 1.2.1
Javadoc Version 1.2
Javadoc Version 1.1.1