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]