A document has been updated: http://cocoon.zones.apache.org/daisy/documentation/1420.html
Document ID: 1420 Branch: main Language: default Name: New in 2.2 (previously $$ New in 2.2 $$) Document Type: Cocoon Document (unchanged) Updated on: 10/27/07 3:33:12 PM Updated by: Reinhard Pötz A new version has been created, state: publish Parts ===== Content ------- This part has been updated. Mime type: text/xml (unchanged) File name: (unchanged) Size: 3701 bytes (previous version: 791 bytes) Content diff: (2 equal lines skipped) <p>While developing Cocoon 2.2 the main goal was simplicity, modularity and consistent configuration. This page is a summary of all the new features and --- improvments.</p> +++ improvements.</p> --- <p class="fixme">Refer to the migration guide</p> +++ <p class="fixme">Refer to the migration guide as soon as it is available</p> <h1>General</h1> <ul> --- <li>Spring</li> --- <li>component configuration</li> --- <li>split-up into smaller modules</li> +++ <li>Cocoon 2.2 doesn't use an Avalon-based component manager but Spring 2 +++ instead.</li> +++ <li>Cocoon components (sitemap components as well as general components) can be +++ defined as Spring beans now. This brings all the power of Spring (Dependency +++ Injection, AOP framework, etc.) to the core of Cocoon without having to rely on +++ some kind of bridging mechanism. Avalon component configurations are still +++ supported but deprecated.</li> +++ <li>Cocoon core has been split up into a bunch of smaller modules (pipeline +++ api/impl, sitemap api/impl, components, etc.). This is an important step in +++ order to make Cocoon easily embeddable in the future and to define clear +++ contracts.</li> +++ <li>Additional validation of sitemaps based on XML schema definitions.</li> </ul> <h1>Modularity</h1> <ul> --- <li>Servlet-Services</li> +++ <li>In order to make Cocoon applications more modular, the +++ Servlet-Service-Framework was introduced. The Servlet-Service-Framework is a +++ general-purpose framework that makes it possible to establish contracts between +++ sub-applications.</li> +++ <li>The Servlet-Service-Framework introduces polymorphic relationships between +++ services.</li> +++ <li>The Servlet-Service-Framework is a general-purpose framework for web +++ applications. There is no dependency on the 'traditional' Cocoon +++ (sitemap/pipeline machinery) and can be used together with any +++ JavaServlet-compatible web application.</li> </ul> <h1>Configuration and Deployment</h1> <ul> --- <li>Cocoon 2.1 was configured at build time. This means that you had to build --- Cocoon yourself in order to get the Cocoon that you need. ...</li> --- <li>Cocoon Configuration & Cocoon Spring Configurator</li> +++ <li>Cocoon 2.1 was configured at build time. This means that you have to build +++ Cocoon 2.1 yourself in order to get the Cocoon that you need for your +++ application. There was no simple upgrade path from one minor/patch release to +++ the next. Cocoon 2.2 expands the meaning of blocks. Blocks have become binary +++ deployment units which follow a particular directory structure and can provide +++ Servlet-Services, Java services, Java classes and resources and Cocoon specific +++ files (templates, stylesheets, etc.).</li> +++ <li>Cocoon blocks express their dependencies using project object model +++ descriptors (POM 4.0) defined by the Maven project. This makes it easy to build +++ Cocoon 2.2 based projects with Maven 2 though it's no hard requirement.</li> +++ <li>Cocoon 2.2 provides a consistent way of configuration based on the Cocoon +++ Spring Configurator - a new Cocoon sub project. It supports the configuration of +++ components based on the Spring property placeholder configurer and the property +++ overrider configurer and is aware of running modes, i.e. you can provide special +++ properties for different environments (e.g. development, test, production).</li> +++ <li>Cocoon 2.2 uses Jakarta Commons Logging 1.1 as logging framework and Log4j +++ as default implementation.</li> </ul> <h1>Tools</h1> <ul> --- <li>Cocoon Maven plugin</li> +++ <li>The Cocoon Maven 2 plugin makes is very easy to use Cocoon together with +++ Maven 2 as build system. The main features are</li> +++ <ul> +++ <li>starting a block as web application (+ support for the automatical reload of +++ Java classes and all other resources)</li> +++ <li>rewritting web.xml to weave in a shielding classloader that reverses the +++ classloading hierarchy in order to avoid classloader problems (e.g. with XML +++ libraries)</li> </ul> +++ <li>Schema files for sitemaps</li> +++ </ul> +++ <h1>Deprecation</h1> --- <p>to be discussed</p> +++ <ul> +++ <li>Avalon-style component configurations</li> +++ </ul> +++ <p class="fixme">Deprecation is subject of an ongoing dicussion.</p> +++ +++ <h1>Incompatible changes</h1> +++ +++ <p class="fixme">Is there anything? (Logging?)</p> +++ </body> </html>