Apache Cocoon 2.1.7 Released ---------------------------- The Apache Cocoon Community is proud to announce the new release of Apache Cocoon. This release is licensed under the Apache License, Version 2.0, and builds/run under JDK 5.0.
Apache Cocoon is a web development framework built around the concept of separation of concerns (that is: allowing people to do their job without having to step on each other toes) and component-oriented web RAD. Cocoon implements these concepts around the notion of 'component pipelines' modelled after the 'process chain' concept where each worker specializes on a particular operation. This makes it possible to use a Lego(tm)-like approach in building web solutions where these components can be hooked together into pipelines without requiring further programming. We like to think at Cocoon as "web glue" for your web application development needs. But most important, a glue that can keep concerns separate and allow parallel evolution of the two sides, improving development pace and reducing the chance of conflicts. The latest version is downloadable from http://cocoon.apache.org/mirror.cgi (Please use the mirrors to download the release - it might take a little bit more time until the latest release is available on all mirrors, so give the mirrors some time - approx. 24h to update.) For more information about Apache Cocoon 2.1.7, please go to http://cocoon.apache.org. The Apache Cocoon Project Carsten Carsten Ziegeler Open Source Group, S&N AG http://www.s-und-n.de http://www.osoco.org/weblogs/rael/
Changes with Apache Cocoon 2.1.7 *) Updated hsqldb to 1.7.3.3. [AG] *) Fix caching of i18n bundles with expires validities. [VG] *) Implemented error handling for the internal requests. Error handling for the internal requests configured using when attribute on the handle-errors element. Supported values are: external: This error handler should be used only on external requests (default); internal: This error handler should be used only on internal requests; always: This error handler can be used for all requests. Currently, if internal error handling is enabled, only inner most error handler will be used for errors which happened during internal pipeline processing. [VG] *) Sitemap now properly throws ResourceNotFound exception for not matched requests even if last pipeline marked as an internal pipeline. [VG] *) Sitemap handle-errors now reports an error if generator is missing, or if type attribute (deprecated) specified and generator is present. [VG] *) Updated quartz to 1.4.5, jcs to 1.2.5-dev-20050313. [AG] *) Refactored the Deprecation class: the "forbidden-deprecation-level" parameter in web.xml allows to raise deprecation exceptions depending on the log level. For example, DEBUG allows no deprecations (strict mode), and FATAL_ERROR allows all (tolerant mode). Default is ERROR, allowing messages up to WARN. [SW] *) A flowscript's file encoding can now be specified by a comment on the script's very first line, in the form "// encoding = xxxx". Otherwise, the default platform encoding is used. [SW] *) Added QueryBean as a standalone block, copied over from 2.2.0. Removed the original from the Lucene Block. Stores Favourites using OJB in HSQLDB. [JQ] *) CForms: separate FormattingDateConvertor that uses java.text.SimpleDateFormat and Icu4jDateFormatter that uses ICU4J. There was previously an automatic switch to ICU4J if the library was present in the classpath, which sometimes caused some strange results are it behaves a bit differently. [SW] *) Tour block: fix "shapes" sample using if/else in flowscript instead of switch. [BD] *) Build: Added exclude.all.blocks and include.all.blocks properties to quickly toggle all blocks on or off. [VG] *) Updated antlr to 2.7.5, groovy to 1.0-beta-10, jetty to 4.2.23 [AG] *) OJB Block: Marked as stable. [VG] *) Make Cocoon compilable and buildable using JDK 5.0. [all] *) Remove scratchpad block - the scratchpad area is only available in trunk. [CZ] *) Deprecated Pizza compiler support in XSP. To be removed in Cocoon 2.2. [AG] *) CForms: JavaSelectionList implementations can now be Contextualizable and can build SelectionLists with XMLizable labels. [VG] *) Change the mime-type setting of a reader. See also bug #25121. [CZ] *) Fix thread safety problem in JXTemplateGenerator.setup() concerning template script reparsing. [LG] *) Polish i18n for CForms. [LG] *) OJB Block: Renamed JdoPMF component to JDO, OdmgImplementation to ODMG, and removed PBFactory component - please use OJB PersistenceFactory API directly. [VG] *) Runnable Manager: Fix bug preventing scheduling of two different jobs at the same time. [VG] *) Many changes in CForms block. Widgets: add Widget.getDefinition() to access the definition that was used to create the widget. make widget definitions immutable once setup. This is necessary with the previous change as a definition is shared by all of the widgets it creates and modifying it could lead to weird behaviors. new "output" widget state, where values are displayed but not read on the request. The difference with "disabled" is that "output" widgets are displayed as plain text and not as disabled inputs. add on-create event listeners that are called when a widget is created. deprecate "struct" in favor of "group" in definition, template and binding. More work is needed on the relation between ft:group and fi:group provided by forms-page-styling.xsl Field: a field's selection list can be removed by setting it to null. This previously re-installed the widget definition's selection list. a field can have an optional initial value defined using <initial-value locale="...">...</initial-value>. The "locale" attribute is used to convert the value text into an object as defined by the datatype's convertor. This feature is also available on AggregateField and BooleanField (for which locale is useless). Form.js : the argument of new Form(...) can now be either a String or a DOM Element. Accepting an Element allows the use of any kind of dynamic process to build the form definition. Form.showForm() now uses a single continuation, which saves memory and speeds up processing by shortening the continuation chain when the user has a long interaction with the form. "ttl" parameter added to Form.showForm(), which has the same meaning as for cocoon.sendPageAndWait(). new "cleanupHook" property on Form: this is a function that is called each time the form is displayed. This is similar to the "fun" parameter of cocoon.sendPageAndWait(). new "restoreHook" property on Form: this is a function that is called each time the continuation is called back, to restore if needed the execution environment before processing the request. Actions: the "action-command" attribute is deprecated and replaced by "command" which is now optional, except on repeater-action and row-action where it indicates what to do. new "insert-rows" repeater-action that insert new rows before the selected rows in a repeater Styling: styling "output" is deprecated and will be removed in 2.1.8. The "output" widget state should be used instead. [SW] *) Added best-fit-while-keeping-aspect-ratio option to the ImageReader [TC] *) Resource Reader: Make sure response is cacheable when expires parameter is not set. [VG] *) Mail Block: Add support for replyTo. [VG] *) CocoonBean can now process a URL to a SAX ContentHandler (skipping the serialiser), via cocoon.process(uri, handler). [UV] *) OJB Block: Integrated OJB logging with Cocoon logging. [VG] *) Add a deprecation logger that gives hint about used deprecated stuff. [CZ] *) Updated commons-transaction to 1.0.1, castor to 0.9.6, groovy to beta-9, quartz to 1.4.4. [AG] *) Remove restrictions on the flowscript object model (FOM): the objects available through the cocoon object (request, session, response, etc) now provide the full API of the corresponding Java classes. [SW] *) CForms: forms generator and template transformer now use the same object model as the JXTG: access to objects have to use the "cocoon" object, like "cocoon/continuation/id". [CZ] *) hsqldb: make name and path of database parameterizable - this way the database can be located outside of Cocoon [RP] *) Apply patch for a better exception handling in the Meta-InputModule when an input module is not found. [CZ] *) Fixed caching of i18n bundles when using multiple locations. [JH] *) Fix handling of environment context when returning from a pass-through sitemap mount. [SW] *) Portal Block: Add portal tools framework contribution. [CZ] *) Build system: External blocks can be built together with Cocoon. [CZ] *) Refreshing a page with a JSR-168 portlet in it could cause unexpected results. JSR-168 urls can now be configured to contain the data required to generated the required events. [RG] *) Add <compiler-compliance-level> parameter for java XSP compiler. This new parameter allow to specify the java code source version used to compile the XSP code. It is useful to run cocoon using java 1.5 while using source code for 1.4. Posible values: 1.3 = Java version 1.3 1.4 = Java version 1.4 1.5 = Java version 1.5 auto = The version of the JVM where cocoon is running. (Default value). NOTE: The parameter is optional to keep backward compatibility. The parameter currently works only with Sun Javac compiler. The eclipse compiler version 3.0.1 currently does not support java 1.5. The pizza compiler does not support java 1.5. [AG] *) PageLabel url's were not properly encoded. [RG] *) Updated quartz to 1.4.3, nekodtd to 0.1.11, nekohtml to 0.9.4 castor to 0.9.5.4, commons-digester to 1.6, groovy to 1.0-beta-8, asm to 1.5.2 and asm-util to 1.5.2. [AG] *) Added commons-transaction 1.0 and commons-codec 1.3. Both are needed by slide 2.1. [AG] *) Updated jakarta-slide-webdavlib to 2.1, jdom to 1.0, slide-kernel to 2.1, slide-stores to 2.1, slide-webdavservlet to 2.1. [AG] *) Portal now allows Cocoon to be deployed as a war (only supports local JSR-168 portlets) and allows external portlets to be in a war. [RG] *) CForms: the parser used to read form files now uses the EntityResolver defined in cocoon.xconf. [SW] *) Tiny typo in AbstractTextSerializer [AG] *) Modified PortletURLProviderImpl.toString() to create a copy of itself and register that with the event. [RG] *) ContinuationsManager default implementation can now store continuations in user session. Continuations are not available outside user session and invalidated automatically when session gets invalidated by servlet container. This is a good security option for web applications. [LG] *) Update Deli to x031104 (include over 300 vendor, operator and third party profiles) [AG] *) Updated hsqldb to 1.7.3, lucene to 1.4.3, ehcache to 1.1, log4j to 1.2.9. [AG] *) Paranoid: make the classloader implementation configurable [TC] *) Typo on the date-selector doc. [AG] *) xml2html.xslt does not work on IE. [AG] *) Portal: attributes "javax.portlet.request" and "javax.portlet.response" were not set for JSR-168 portlets running in the Cocoon webapp. [RG] *) CForms: added HTMLCleaning convertor (taken from Outerthought's Daisy) that cleans up the result by HTMLArea fields. The cleanup process, that is based upon Nekohtml can be configured. One confiugration is available at resource://org/apache/cocoon/forms/datatype/convertor/HtmlCleanerConfiguration.xml and guarantees valid XHTML Example: <fd:datatype base="string"> <fd:convertor type="htmlcleaner" config="resource://org/apache/cocoon/forms/datatype/convertor/HtmlCleanerConfiguration.xml"/> </fd:datatype> [RP] *) CForms: 'htmlarea' fields can be directly configured in cForms templates Example configuration (within the <conf> part the variable conf contains the configuration object of HTMLArea <fi:styling type="htmlarea" rows="8" style="width:100%"> <conf> conf.statusBar = false; conf.sizeIncludesToolbar = false; conf.fullPage = false; conf.toolbar = [ [ "bold", "italic", "separator", "subscript", "superscript", "separator", "insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator", "inserthorizontalrule", "separator", "copy", "cut", "paste", "space", "undo", "redo", "separator", "showhelp"] ]; </conf> </fi:styling> [RP] *) CForms: fields styled as 'htmlarea' can be used in tables (workaround for strange IE behaviour) [RP] *) CForms: add a new "link" styling for action widgets, that renders the action as an hypertext link. [SW] *) DateInputModule now accepts date format string when specified in a sitemap. [RG] *) Portal: Added support for storing JSR-168 Portlet preferences. [RG] *) Batik block: Fixed handling for empty extract URIs when matching on null namespace URIs. [JH] *) Allow attribute values to be matches as well for EncodeURLTransformer. [GP] *) Multipart requests: use container encoding for decoding requests, in order to have consistent handling between normal requests and multipart requests. [BRD] *) I18n (ParamSaxBuffer): handle case where substitution params like {0} are split over multiple character events. [BRD] *) Fix: Continuation can only be invoked for the interpreter it was originally created for. [LG]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]