Blossom: Spring Access to Magnolia
Magnolia's Blossom is the best solution to develop your virtual presence, i.e. to bring your business logic to the web and other channels. Blossom seamlessly integrates backend logic developed in the Spring framework with Magnolia. It cleanly separates the concerns of the developers from those of the marketing department and allows to update content independently from business logic updates.
Blossom Overview - Magnolia's Spring CMS Integration
The Spring framework is the de-facto standard to build Java business applications. Blossom is a Spring CMS module for Magnolia that allows you to leverage the Spring programming model when developing websites with Magnolia CMS.
Blossom works in two ways:
- From a Magnolia perspective, it's easier than ever to add even complex business logic to your web site by using the Spring CMS integration.
- For your custom business applications, it's now easier to provide an interactive web experience for your visitors.
Magnolia Blossom creates a Spring CMS integration from a Spring developer's perspective. It lets you write templates with a high level of dynamic behaviour that editors can compose to create truly interactive web pages. Magnolia Blossom simplifies integration with business systems to fetch information you wish to present on your website.
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.
How developers benefit from Blossom - Magnolia's Spring CMS integration
Magnolia Blossom seamlessly exposes Spring Web MVC-controllers as templating building blocks and it lets you build dialogs using code instead of configuration. You can leverage the full power of the Spring framework while still working within Magnolia as a first-class citizen.
Key functionality of Blossom - Magnolia's Spring CMS integration
- 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.
What is Spring
Spring makes it easy for developers to build powerful enterprise Java apps, increasing development productivity and product performance while improving test coverage and application quality.
Spring is the de facto standard programming model for enterprise Java applications, rich web, and enterprise integration applications, used by two thirds of all Java developers.
- 2.5 million Java developers use the Spring framework
- 400 of the Fortune 500 use Spring for building their Java apps
- 70% of companies cite improved productivity, faster project completion, improved portability and application quality as reasons for using Spring