[ANN] Apache Cocoon 2.1.7 Released

Carsten Ziegeler dev@cocoon.apache.org
Fri Mar 25 00:41:05 2005


This is a multi-part message in MIME format.
--------------010007000704010601000501
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 7bit

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/



--------------010007000704010601000501
Content-Type: text/plain;
 name="changes.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
 filename="changes.txt"

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 f=
or the internal requests configured using when attribute on the handle-er=
rors element. Supported values are: external: This error handler should b=
e 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 enable=
d, only inner most error handler will be used for errors which happened d=
uring 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" pa=
rameter in web.xml allows to raise deprecation exceptions depending on th=
e log level. For example, DEBUG allows no deprecations (strict mode), and=
 FATAL_ERROR allows all (tolerant mode). Default is ERROR, allowing messa=
ges 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 =3D 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 HSQLD=
B. [JQ]

*) CForms: separate FormattingDateConvertor that uses java.text.SimpleDat=
eFormat and Icu4jDateFormatter that uses ICU4J. There was previously an a=
utomatic switch to ICU4J if the library was present in the classpath, whi=
ch sometimes caused some strange results are it behaves a bit differently=
=2E [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 q=
uickly 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 tru=
nk. [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 te=
mplate 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 a=
ccess the definition that was used to create the widget. make widget defi=
nitions 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 disable=
d inputs. add on-create event listeners that are called when a widget is =
created. deprecate "struct" in favor of "group" in definition, template a=
nd binding. More work is needed on the relation between ft:group and fi:g=
roup provided by forms-page-styling.xsl Field: a field's selection list c=
an be removed by setting it to null. This previously re-installed the wid=
get definition's selection list. a field can have an optional initial val=
ue defined using <initial-value locale=3D"...">...</initial-value>. The "=
locale" attribute is used to convert the value text into an object as def=
ined by the datatype's convertor. This feature is also available on Aggre=
gateField and BooleanField (for which locale is useless). Form.js : the a=
rgument of new Form(...) can now be either a String or a DOM Element. Acc=
epting an Element allows the use of any kind of dynamic process to build =
the form definition. Form.showForm() now uses a single continuation, whic=
h saves memory and speeds up processing by shortening the continuation ch=
ain when the user has a long interaction with the form. "ttl" parameter a=
dded to Form.showForm(), which has the same meaning as for cocoon.sendPag=
eAndWait(). new "cleanupHook" property on Form: this is a function that i=
s called each time the form is displayed. This is similar to the "fun" pa=
rameter of cocoon.sendPageAndWait(). new "restoreHook" property on Form: =
this is a function that is called each time the continuation is called ba=
ck, to restore if needed the execution environment before processing the =
request. Actions: the "action-command" attribute is deprecated and replac=
ed by "command" which is now optional, except on repeater-action and row-=
action where it indicates what to do. new "insert-rows" repeater-action t=
hat insert new rows before the selected rows in a repeater Styling: styli=
ng "output" is deprecated and will be removed in 2.1.8. The "output" widg=
et state should be used instead. [SW]

*) Added best-fit-while-keeping-aspect-ratio option to the ImageReader [T=
C]

*) Resource Reader: Make sure response is cacheable when expires paramete=
r 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 obje=
ct 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 wh=
en 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 compi=
le the XSP code. It is useful to run cocoon using java 1.5 while using so=
urce code for 1.4. Posible values: 1.3 =3D Java version 1.3 1.4 =3D Java =
version 1.4 1.5 =3D Java version 1.5 auto =3D The version of the JVM wher=
e 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 sup=
port 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 t=
o 0.9.5.4, commons-digester to 1.6, groovy to 1.0-beta-8, asm to 1.5.2 an=
d asm-util to 1.5.2. [AG]

*) Added commons-transaction 1.0 and commons-codec 1.3. Both are needed b=
y slide 2.1. [AG]

*) Updated jakarta-slide-webdavlib to 2.1, jdom to 1.0, slide-kernel to 2=
=2E1, 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 continuation=
s in user session. Continuations are not available outside user session a=
nd invalidated automatically when session gets invalidated by servlet con=
tainer. This is a good security option for web applications. [LG]

*) Update Deli to x031104 (include over 300 vendor, operator and third pa=
rty profiles) [AG]

*) Updated hsqldb to 1.7.3, lucene to 1.4.3, ehcache to 1.1, log4j to 1.2=
=2E9. [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/HtmlCleanerConfi=
guration.xml and guarantees valid XHTML Example: <fd:datatype base=3D"str=
ing"> <fd:convertor type=3D"htmlcleaner" config=3D"resource://org/apache/=
cocoon/forms/datatype/convertor/HtmlCleanerConfiguration.xml"/> </fd:data=
type> [RP]

*) CForms: 'htmlarea' fields can be directly configured in cForms templat=
es Example configuration (within the <conf> part the variable conf contai=
ns the configuration object of HTMLArea <fi:styling type=3D"htmlarea" row=
s=3D"8" style=3D"width:100%"> <conf> conf.statusBar =3D false; conf.sizeI=
ncludesToolbar =3D false; conf.fullPage =3D false; conf.toolbar =3D [ [ "=
bold", "italic", "separator", "subscript", "superscript", "separator", "i=
nsertorderedlist", "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 sit=
emap. [RG]

*) Portal: Added support for storing JSR-168 Portlet preferences. [RG]

*) Batik block: Fixed handling for empty extract URIs when matching on nu=
ll namespace URIs. [JH]

*) Allow attribute values to be matches as well for EncodeURLTransformer.=
 [GP]

*) Multipart requests: use container encoding for decoding requests, in o=
rder to have consistent handling between normal requests and multipart re=
quests. [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 origi=
nally created for. [LG]


--------------010007000704010601000501--