History of Changes
Index
News
License
Download
Documentation
Introduction
Installing
Overview
User Guide
Dev Guide
Tutorials
FAQs
How-Tos
Performance
Snippets
ToC
Status
Changes
Todo
Planning notes
Patch queue
Community
Cocoon Bylaws
Hall of Fame
Contributing
Mail Lists
Mail Archives
Project
Bug Database
Code Repository
Dev Snapshots
Links
Cocoon Links
Live Sites
Cocoon Hosting
Other Releases
Cocoon 1.x
Cocoon 2.1
2.0.5-dev (July 10 2003)
Removed deprecated notification classes in org.apache.cocoon and in org.apache.cocoon.sitemap packages. Removed deprecated methods in EventPipeline and in org.apache.cocoon.components.notification.Notifier. (VG)
Decouple core XSP logicsheet from database classes to allow XSP deployment without excalibur datasource JAR file. If your XSP pages use datasources directly (and not through ESQL logicsheet), add xsp:include. (VG)
Build script updated: build properties extracted into build.properties file, database.properties file removed. Override build.properties with local.build.properties or with ~/cocoon.build.properties (VG)
Fixed return of different DirValidity objects on multiple calls on getValidity() in the DirectoryGenerator. (JH) Thanks to
Wolfgang Kowarschick
. Fixes
bug 20682
.
Backported the caching from Cocoon 2.1, fixed cache key generation, fixed the root pattern handling (if not matching directory found leave out the ancestors), fixed empty src attribute handling. (JH) Thanks to
Jorg Heymans
. Fixes
bug 20911
.
Added/fixed internationalization support for HSSFSerializer by setting the output encoding hardcoded to UTF-16. It's obviously only a hack, but so it's at least usable for more people. (JH) Thanks to
Maciek Kaminski
. Fixes
bug 15365
.
Fixed usage of deprecated(?)/possibly removed method XSPUtil.include() in ESQL logicsheet <esql:get-xml/> by usage of convenience methods (bug 20658). (JH) Thanks to
Alfred Nathaniel
. Fixes
bug 20658
.
Fixed NPE in SQLTransformer.serializeData(). (JH) Thanks to
Tony Culshaw
. Fixes
bug 14977
.
Updated the XML libs to latest releases: Xalan 2.5.1, Xerces 2.4.0, xml-apis.jar. Added XSLTC configuration to cocoon.xconf and main sitemap, but Xalan is still the default XSLT processor. (JH)
Encoding-related change to the JSP engine: the response charset is now retrieved from the Content-Type, and if not found ISO-8859-1 is used as default (previously UTF-8 was the default). (DC) Fixes
bug 14327
.
Removed some 2.1 documentation stuff from 2.0 documentation, now that we have separate documentation websites. (JH) Fixes
bug 15614
.
For non-existant files XSPUtil.relativeFilename() now throws FileNotFoundException instead of NPE. (JH) Fixes
bug 15302
.
Logicsheets: Changed scope of and renamed temporary 'soap:call' XScript variable in <soap:call>. Fixed compilation problem with <xscript-get expression. (VG) Thanks to
Hugh Leather
. Fixes
bug 20159
.
XIncludeTransformer: handle null systemid's in setDocumentLocator event. (BRD) Fixes
bug 8379
.
Fixed namespace handling in XMLDBSource. (VG) Thanks to
Ciro Mondueri
. Fixes
bug 19978
.
Added XHTML 1.1 DTD to the entity catalog. Added XHTML 1.1 serializer into the sitemap. Explained different XHTML 1.0 serializer options. (VG) Fixes
bug 16003
.
Fixing NPE in JspEngineImpl. (CZ) Fixes
bug 14564
.
Obtain handler and application name from parameters for internal requests if handler could not be resolved from the request object. (CZ) Fixes
bug 14117
.
Delaying getting of the output stream from the http response until it is really needed. (CZ) Fixes
bug 17612
.
Fixing the problem with eating spaces in custom transformers. (CZ) Fixes
bug 19683
.
When an exception occured in a pipeline containing an XSL, the contents of the pipeline was appended to the error page. Now this only happens anymore when the incremental-processing of Xalan is enabled (which is unavoidable for now). (BRD) Fixes
bug 13186
.
Disabled incremental-processing of Xalan by default. (BRD) Fixes
bug 13186
.
Fixed NPE if ESQL does not get a connection (TC) Thanks to
John R. Daily
. Fixes
bug 15820
.
Ported from 2.1 branch: Updated the XML:DB Source. Now it will accept, in cocoon.xconf, optional authentication attributes, called "user" and "password". (VG)
TextSerializer now can handle absence of root element in the incoming XML. (VG) Fixes
bug 10242
.
The CVS repository for Cocoon 2.0 is now called "cocoon-2.0" (no branches, just HEAD). (PF)
Do not specify a default to the "class-loader" parameter in JavaLanguage (PAR)
Add a NonStaticClassLoaderManager that does not keep internal static variables. Useful when putting cocoon.jar outside the WEB-INF/lib directory and have multiple XSP pages of the same name in multiple webapps (PAR)
Improve default exception handling behavior in CocoonServlet: show exception stacktrace only when log level is INFO or DEBUG, and add exception message to "Not Found" page. (VG) Fixes
bug 16267
.
Use Environment.tryResetResponse() instead of HttpServletResponse.reset() in CocoonServlet to avoid IllegalStateException if response was already committed. (VG) Fixes
bug 16264
.
DatabaseReader: optionally read mimetype from database (CH)
modular.DatabaseActions: added ability to store FileParts from uploads to "ascii", "clob", "blob", and "binary" columns. Added getSize() method to FilePart. (CH) Thanks to
Geoff Howard
.
(modular) DatabaseAction: added ability to use arbitrary path separators instead of "." (e.g. "/"), added ability to count rows from 1, added documentation. (CH)
Created additional isolation level for some OutputModules. (CH)
Modify DeltaTimeCacheValidity toString method so it returns same value during some time (approximately equal to timeInCache parameter). This makes it possible to cache sources with delta validity. Note: 2.1 replaces it with Excalibur's TimeStampValidity. (VG) Fixes
bug 16240
.
Postgresql 7.3: LIMIT x,y no longer supported. postgresql-old limit method still uses LIMIT x,y while postgresql uses the LIMIT x OFFSET y syntax which has been used by postgresql for some time now. (CH) Thanks to
Michael Enke
. Fixes
bug 15064
.
Extension to sendmail.xsp: lists for sendmail:cc (CH) Thanks to
Frank Ridderbusch
. Fixes
bug 15005
.
Added container/form-encoding init-params to web.xml (CH) Thanks to
Artur Bialecki
. Fixes
bug 14835
.
Fixing various inefficient logging calls. (CH) Thanks to
Stuart Roebuck
. Fixes
bug 15136
.
The "mime-type" attribute on <map:read> and <map:serialize> is now expanded if it contains sitemap variables. (SW)
ZipArchiveSerializer now accepts inline content for entries of the zip archive and not only source URLs. (SW)
Update XML Serializer, HTML Serializer , and Text Serializer documentation, added XHTML Serializer documentation in the serializer user documentation section. (BH)
Update SVG Serializer, SVG JPEG, and SVG PNG documentation, added SVG TIFF documentation in the serializer user documentation section. (BH)
Fixed "build test" (was missing tools/lib/excalibur-testcase-1.0.jar). The Junit tests now work again. (DC)
The resource reader now checks if for the same URI the same source is read in order to test the if-last-modified header. This behaviour can be turned of (for more performance) by the quick-modified-test. (CZ) Fixes
bug 12915
.
AbstractJXPathModule / JXPathMetaModule default to lenient mode i.e. do not throw an exception on unsupported attributes but return null instead. Made this a configuration option. (CH)
SimpleMappingMetaModule: added feature to remove a prefix / suffix. (CH)
"meta" input modules: configuring a different module locally did not override the default one in all circumstances. (CH)
input.xml: renaming mixed up called template names from logicsheet-util.xsl (CH)
SimpleFormTransfomer: fixed error tags when no validation data available. (CH)
2.0.4 (December 06 2002)
The HTMLGenerator now accepts a JTidy configuration file for fine-grained control on the generated document. (SW)
New Logicsheet for use with InputModules. (CH)
xsp.xsl now includes all xsp:init-page tags. Additional xsp:exit-page tag for cleanup operations. (CH)
New InputModule to map parameter names to / from another name. Uses translation table and additional prefix / suffix. (CH)
Fixed SimpleFormTransformer: Malformed XML with textarea elements. (CH) Fixes
bug 14739
.
Allow to set the i18n transformer's locale from the sitemap as a parameter (ported from 2.1-dev). The old behavior, based on LocaleAction is preserved only for 2.0.x versions and will be removed from the further releases (2.1 and higher). (KP)
New build target "validate-config" to conduct build-time validation of some core important configuration files using RELAX NG (call it manually with:
./build.sh validate-config
). Currently doing: all sitemap.xmap, all cocoon.roles, all *.xsl stylesheets, all book.xml files. (DC)
Extend the syntax of sitemap variable substitution : variables can have a prefix which indicates an InputModule where to get the value from. For example, the expression "{request-param:foo}" will evaluate to the value of the "foo" request parameter (provided of course that the "request-param" InputModule is correctly defined in cocoon.xconf). (SW)
RequestLifecycleComponents were not handled properly when the cocoon: protocol is used (CZ) Fixes
bug 12293
.
Changed SimpleFormTransformer to use InputModules. (CH)
Changed InputModules to return Iterator instead of Enumeration. New abstract "meta" module to make new meta modules easier. Stripped "meta" from defaults module. Added JXPathMetaModule. Added extension classes and packages to all modules that are based on JXPath. (CH)
Improved support for CLOB and BLOB columns in modular database actions. (CH)
New chaining InputModule that allows to use additional modules when an attribute is not present or null. (CH)
Changed defaults of InputModule names in many places to new names. (CH)
Fixing namespace handling of SQLTransformer. (CZ) Thanks to
Luca Morandini
. Fixes
bug 14466
.
New ZipArchiveSerializer to build zip files aggregating various sources as archive entries. Can be used to generate zip files, sxw files (OpenOffice), jar files, etc. (SW)
CocoonServlet upload behavior now configurable from the web.xml. Configuration parameters are: autosave-uploads, overwrite-uploads, upload-max-size. See web.xml for description. (VG) Thanks to
Geoff Howard
. Fixes
bug 13648
.
Remove the static factory variable in RequestFactory, and instead pass it to the HttpRequest via the environment. (VG) Thanks to
Leo Sutic
. Fixes
bug 13643
.
ReadDOMSessionTransformer now can work with any types of object (same mechanism as in <xsp:expr> now used). Configuration parameter dom-name renamed to attribute-name. (VG)
Src attribute can be used now with SessionAttributeGenerator to specify session attribute name. Old syntax preserved. (VG)
Local parameters in SessionStateAction still do override global parameters, but do NOT change global parameters. (VG)
Src attribute can be used now with ResourceExistsAction. Old parameter syntax preserved. (VG)
Fixed prefix mapping for the sql transformer. (CZ)
FOP user configuration can now be specified as URL or relative path as the value of the <user-config> element. (VG)
Load default FOP configuration only once, do not overwrite any user configuration. (VG) Fixes
bug 6533
.
Remove unnessesary code in SVGBuilder. This also fixes intermittent ClassCastExceptions in Batik code. (VG) Thanks to
Stefan Seifert
. Fixes
bug 11856
.
Fix issue with cross-platform uploads. Uploaded file's name converted to match destination platform's path separator. (VG)
Absolute path now can be specified for work, cache, and upload directory. Read comments in web.xml, and verify your settings. (VG) Fixes
bug 12131
.
Set URI resolver for XSLT handler every time time templates are used, because XSLT templates might reference disposed instance of XSLT processor. Fixes some NPEs in XSLT processor when templates cache is used. (VG) Fixes
bug 12328
.
Fix sitemap reloading bug: When parent sitemap is modified, it is recompiled and reloaded. All sub-sitemaps of this sitemap also has to be reloaded because they have references to the parent sitemap's ComponentSelectors. This bug is the cause of some NPEs in the XSLT processor. (VG)
Improve backward compatibility: FilePartFile needs toString() method to work with code written for Cocoon 2.0. (VG) Fixes
bug 11401
.
AbstractServerPages used static fields for dependency tracking, which caused either non-modified XSPs to be recompiled, or modified XSPs not to be recompiled. (SW)
SearchGenerator now includes <field name=""/> elements into <hit/> element. These elements contain stored fields of a found Document, making it possible to provide additional info about document in the search result list (only when index created with some stored fields). (VG)
In addition to attributes in same namespace with elements, link serializer reacts on non-namespaced attributes too. This allows processing of (strict) XHTML. (VG)
Backport usage of InputModules to compiled sitemap. (CH)
Sync modules and related components between 2.0.x and HEAD. (CH)
Added some more types understood by modular database actions. (CH)
Request logicsheet: Fix session tags. (CH)
Added some more InputModules. (CH)
Changed existing OutputModules to not use ":" to separate key prefix from suffix if prefix is an empty string. (CH)
Simple Formvalidation: FormValidatorAction sets attribute "*" to indicate overall validation status. Added SimpleFormTransformer that fills XHTML form fields with values from request parameters and allows conditional error tags depending on validation result. This removes the requirement for XSP. Changed ordering of error levels: "notpresent" (indicates that no validation result is present for this parameter) moves between "ok" and "error". New error level "maxerror" used in conjunction with the transformer, is never set, used as upper bound. (CH)
(Modular) DatabaseActions: select produced wrong result if no rows were found, query action returned broken result. (CH)
ESQL: Allow arbitrary types for prepared and callable statements via dynamically loading classes like the SQLTransformer does. Is-null now uses dynamic colum specification. Fixed skip-row feature, which was off by one. Added tag to get connection meta data. (CH)
Fixed NPE in the recycling phase of content aggregation. (CZ)
Fixed bug in cocoon pseudo protocol involving aggregation of aggregated resources spanning several sitemaps. (VG) Fixes
bug 9288
.
Conect to the XML:DB once, from the XMLDBSourceFactory. (VG)
Added cocoon-docs mailinglist to mail-archives.xml. (BH) Thanks to
Torsten Knodt
. Fixes
bug 11447
.
<xsp-util:include-expr/> includes any object, converting it to string. (VG)
XSP now verifies that value of attribute name on xsp:element does not contains ':'. To create namespaced elements, uri and prefix attributes must be used. (VG)
Request, response, and session logicsheet were incorrectly returning result when as="xml" is specified. (VG)
XScript now has better variable management: variables of request, session, global, and page scope are stored not in the XScriptManager, but as request, session, context attributes, or as XSP page field (respectively). Chances of memory leaks are highly reduced. (VG)
Include all warnings and errors reported by the XSLT engine into the TransformerException if transformation fails or terminated by the stylesheet. (VG)
Update HSQLDB to version 1.7.0. Now it properly shuts down with Cocoon. (VG)
All log messages from FOP now go into the logs instead of printing them to the screen. (CZ)
Applied patch for MaybeUploadRequestFactoryImpl which sets the timeout for a session to infinite during an upload and restores it afterwards. (CZ) Thanks to
Stuart Roebuck
. Fixes
bug 10254
.
2.0.3 (July 15 2002)
When Cocoon is built, the build system automatically detects the current jvm and builds a target for this virtual machine. This is eiter JVM 1.4 or JVM 1.2 upto 1.3. (CZ)
Fixed current page indication in documentation menu (synced with HEAD). (KP)
Internationalization and JSP samples are refactored. (KP)
When building Cocoon it is required to set the targetted JVM (either 1.3 (means 1.3 or lower) or 1.4. (CZ) Thanks to
Stuart Roebuck
. Fixes
bug 10505
.
Fixed NullPointerException in Notifier. (VG) Thanks to
Joachim Piketz
. Fixes
bug 10311
.
Multiple results seem not to be supported by some DBMSs (i.e. Oracle and Informix). Therefore this is made optional in ESQL. A new parameter (esql:allow-multiple-results) to esql:connection re-enables it. See EsqlConnection for details. (CH)
Properly escape (national) characters included in element's attributes in XSP page. (VG) Thanks to
Vladimir Kralik
. Fixes
bug 9693
.
Add connect-attempts and connect-waittime parameters to the SQLTransformer. Transformer tries to get a connection to the DB several times before returning an error. (VG) Fixes
bug 6934
.
Fixed sitemap compilation error when matchers are used within view or resource. (VG) Thanks to
Michael Melhem
. Fixes
bug 8658
.
Fixed sitemap compilation error when actions are used within view. (VG) Thanks to
Michael Melhem
. Fixes
bug 8509
.
TraxTransformer and XSLTProcessor components now correctly handle dependecies on imported (via xsl:include) XSLT stylesheets. (VG) Fixes
bug 3782
.
Removed Java 1.3+ only method (URL.getPath()) from LinkStatusGenerator. (NKB)
CocoonServlet no longer builds its own classloader. Also, it no more sets the thread's context classloader unless the "init-classloader" parameter is true. To have Cocoon use its own classloader, use the ParanoidCocoonServlet. (SW)
ResourceReader incorrectly advertised byte ranges support. (VG) Thanks to
Stuart Roebuck
. Fixes
bug 9539
.
Added a "handle-exceptions" init argument in web.xml, used by CocoonServlet for the exceptions that the core Cocoon class throws. If true or not set, this class will try to catch and handle all Cocoon exceptions. If false, it will rethrow them to the servlet container. (NKB)
Changed the Notifier notify() methods to accept a mimetype instead of returning it. There is no way in which this method could understand what mime/type to use from the notification info and the stream. It was added to the method using a ContentHandler, since it could output svg for example. The old methods were deprecated. (NKB)
Fixed error reporting in CocoonServlet: stream is now closed at the end of the service method, the content-type is sent before sending the error and the notification messages are now more descriptive. (NKB) Thanks to
J.Pietschmann
.
Support Parameterizable URLFactories. (VG) Fixes
bug 8639
.
Fixed multipart request problems with IE6. (GF) Thanks to
Jeroen ter Voorde
. Fixes
bug 9064
.
Added ability to run Cocoon on Novell OS. (VG) Fixes
bug 3372
.
Make the multipart/form-data parser aware of the encoding used by the processed request. (SM)
Added support for StreamGenerator to read from 'multipart/form-data' as well. (SM)
Started new documents for
Documentation To Do List
and
Documentation History of Changes
. (DC)
Fixed NPE in DefaultNotifyingBuilder. (GF) Thanks to
Peter Royal
. Fixes
bug 8881
.
Fixed NPE in I18nTransformer. (GF) Thanks to
Michael Enke
. Fixes
bug 8743
.
i18n transformer changed to use shorter syntax for number formatting. Now 'type' attribute with 'number', 'currency' and 'percent' should be used instead of 'type' and 'sub-type'combination. (KP) Thanks to Michael Enke.
New documents on databases and Cocoon, database actions and modules. (CH)
Additional input modules: Date, Digest, ConstantString, Random, NullInput, Collection (CH)
Sendmail logicsheet works again. (CH) Thanks to Jürgen Ehms.
Array support for original form validation and new constraint for strings: "one-of" lists all allowed values, separated by "|"s. List should start and end with "|". (CH)
Aliases in modular database actions now work correctly. All of them return the number of affected rows as sitemap variable. (CH)
added new Selector component. (GF) Thanks to
Maciek Kaminski
.
Updated commons-httpclient. (GF) Fixes
bug 6740
.
Fixing bug in NetUtils that altered in some cases the link reference in command-line mode. (CZ) Fixes
bug 5772
.
XScript works now (and all XScript SOAP samples). (VG)
XSP engine now correctly processes pages with any encoding. (VG)
Fixed error (NPE) in AbstractValidatorAction introduced in the 2.0.2. (VG)
Fixing ClassCastException when a multipart/form-data form is posted. (CZ) Thanks to
Jeroen ter Voorde
. Fixes
bug 7510
.
Rewrote SQLTransformer and added capability to store/fetch XML. (CZ)
Added AbstractSAXTransformer for much easier implementation of custom transformers. (CZ))
Small optimization to XConfTool to check if the file is actually an XConfTool file. (NKB) Thanks to
Marcus Crafter
. Fixes
bug 7251
.
Added LinkStatusGenerator donated by Michael Homeijer and accompanying sample sitemap to scratchpad. (NKB)
Moved castor scratchpad sample from /samples to /mount as other samples. Now the refactored sample page points to the mount dir, thus showing available scratchpad components to test. (NKB)
When including the scratchpad libs in the build, all the scratchpad samples are copied too. (NKB)
2.0.2 (March 26 2002)
New BootstrapServlet to allow Cocoon to run in non-compliant servlet engines that don't handle correctly servlet contexts. This servlet builds a class loader with the contents of WEB-INF/classes and WEB-INF/lib and manages resource resolution. (SW)
Updated error reporting to add line, column and location attributes specified in SAXException and TransformerException. The error page in the webapp examples shows the new extra info. (NKB)
Added new "gump" target to the build, to be used as a general test of Cocoon code. To be used by Gump. It calls docs, javadocs, test and package. Gump descriptor has been modified to use it; now we also have automatic javadoc creation. (NKB)
cocoon.xconf is moved in WEB-INF for security reasons. The documentation has been updated to reflect the change. (NKB)
Partial commit of new samples structure. Samples go in samples/ dir with their own sitemap. All scratchpad samples that are in the samples/ subdir are copied in webapp samples automatically by installscratchpadwar target. (NKB)
New "set-content-length" configuration for FOPSerializer to allow streaming of large PDFs (default is true for backwards compatibility). (SW)
The docs now have svg stuff removed and these enhancements: menu items are in text, page title is in text, pages have new clean style courtesy of Stefano, added Stefano's explanation on how to write mails, the docs are generated with the TreeProcessor, the docs generation uses JispStore. (NKB)
Added new targets: "installwar" asks for the directory in which to put the war and makes it. "installscratchpadwar" does the same but incudes scratchpad libs ans samples. (NKB)
New POI HSSF Serializer; outputs to the .xls (not .xsl) file format. Added samples as legacy file format support. (NKB)
New module structure for input, output, and database specifica in scratchpad. Thus it is possible to write generic components for one task and replace input and output dynamically. As an example a generic version of a WildcardMatcher is provided as well as a sample action that uses it. DatabaseActions in scratchpad use this structure as well. (CH)
Moved ModularDatabase*Actions to new home in scratchpad and reworked them. They now use new module structure. For sample application, copy mod-db directory to cocoon/mount. (CH)
Changed jdbc datasource to ResourceLimitingJdbcDataSource because it does not require to be able to contact the datasource on startup. Thus race condition with HSQLDB startup is eliminated. (CH)
Added new Jisp based persistence cache, to improve (1) performance and (2) to solve the problem with long filenames on Windows OS flavours. (VG)
Added new Jisp based persistence cache, to improve (1) performance and (2) to solve the problem with long filenames on Windows OS flavours. (GF)
Removed explicit System.gc() call from StoreJanitor, because this caused performance leaks. (GF)
Added support for input type=image buttons (TC)
Deprecated the old cocoon-action=ACTION syntax in favor of the new cocoon-action-[ACTION]=whatever. Still supported though. (TC)
Added encodeURL transformer for encoding URIs. (BH)
Using migrated XPath Processor from Avalon Excalibur instead of own component. (CZ)
Fixed endless loop bug in IncludeXMLConsumer. (CZ)
Added <xsp:page attribute now processed correctly, as described in the xsp-session logicsheet documentation. Variable 'session' declared and could be used in XSP page code. (VG)
New implementation of the sitemap engine based on an evaluation tree. This provides super-fast load times (no more compilation), and a slight gain in request processing speed compared to the compiled engine thanks to the HotSpot VM. (SW)
Added matchers: HeaderMatcher, ParameterMatcher. (VG)
Added CookieSelector. (VG) Thanks to
Matteo Di Giovinazzo
.
Added CookieMatcher. (VG) Thanks to
Maciek Kaminski
.
Request, response, and session XSP logicsheets in Javascript language are added. (VG)
Added Cocoon link page. (SM) Thanks to
Andreas Hartmann
.
Added 'cocoon.ico'. (SM) Thanks to
Maxim Dominichenko
.
Cleaned up documentation and refactored it a little. (SM)
Started to clean up the XML:DB stuff. The XML:DB generators have been deprecated, and a note has been written in the docs suggesting to switch to the XML:DB pseudo-protocol. Configurations have been switched from dbXML to Xindice. (GR)
New WriteableSource interface that extends Source. Just as Source for reading, it allows to transparently write to various destinations. The first implementation is FileSource to write to files. (SW)
Added FileWritingTransformer and sample file editor to scratchpad. (JQ)
Fixed some bugs in the file URI resolving on windows plattforms. (CZ)
Using migrated entity resolver from Avalon Excalibur instead of own component. (CZ)
Javascript language now supported by the XSP pages. Samples of Javascript XSP pages are added. (VG)
Using migrated XML Parser from Avalon Excalibur instead of own component. (CZ)
Added subprotocol "raw" to the cocoon: protocol. When the subprotocol is appended, the request parameters of the original request are not forwarded to the internal pipelines. Suggested by Michael Hartle [mhartle.at.hartle-klug.com]. (CZ)
Added Pizza Java compiler as another alternative to Sun javac and Jikes. (VG)
ProgramLanguage is decoupled now from the languages compiled into Java. Instead of Class object representing a program, Program interface has been introduced. (VG)
Text located in XSP language logicsheets now properly quoted. (VG)
SQL Transformer did enter Infinite Loop. This is fixed now. (CZ) Fixes
bug 6242
.
Sitemap engine verifies that root element is the <sitemap> element in the '' namespace. (VG) Fixes
bug 4117
.
Move commonalities between sitemap markup language and XSP markup language into CocoonMarkupLanguage. (VG)
Minor rewrite of the LogTransformer. The logfile is now resolved using the standard source resolver. The component is now recycled properly. (CZ)
Minor rewrite of the SQLTransformer. Removed several parameters tests and the use of Properties objects - instead the Parameters object is used directly. (CZ)
Action LangSelect has been deprecated in favor of LocaleAction. (VG) Thanks to
Konstantin Piroumian
.
Allow sitemap components to be declared in the cocoon.xconf. Enhance SitemapComponentSelector to store label information provided in the configuration. (VG)
Added the XPath-enabled DirectoryGenerator (XPathDirectoryGenerator) to scratchpad. (GR)
XSP engine verifies that root element is the <page> element in the '' namespace. (VG) Fixes
bug 4117
.
Markup language logicsheets in general and XSP logicsheets in particular are now looked up by their namespace URI, not prefix. (VG)
xsp-request and xsp-response logicsheets got more tags, and now are (almost) backward compatible with the logicsheets in Cocoon 1.8. (VG)
Cache relies on two types of store components: (1) transient cache, with cache-transient shorthand, and (2) persistent cache, with cache-persistent shorthand. (VG)
FilesystemStore (used as programs repository) now is created as all other components from the cocoon.xconf, and can be configured to use working directory, cache directory, or any other directory. (VG)
Calling getInputStream() on a "cocoon:" source now returns the same output as an external call instead of always using an XML serializer. This also allows to get internally data produced by a Reader. (SW)
Fixed memory leaks in XScript engine. Fixed global and session scope variables: now they are shared between XScript pages as it should be. Page scope variables now visible for all instances of the same page. (VG)
Added size() method to the Store interface. (VG)
Prevent PostInputStream from looping if the available() method of the base InputStream is returning 0. (GP)
Added X-Cocoon-Version header to all responses generated by Cocoon. (VG)
SystemID for cocoon: pseudo-protocol URIs changed from the form of <schema>:\\<host>:<port>\path\to\resource\from\the\root\sitemap to the form cocoon:\\path\to\resource\from\the\root\sitemap. This provides portability for compiled resources generated from the cocoon: sources. (VG)
Stored Procedure support for esql plus ability to obtain and use a result set from any column just like a nested query. (CH)
2.0.1 (January 31, 2002)
The FragmentExtractorTransformer is now configurable to extract any fragment identified by an element name and namespace URI, and no more limited to SVG images only. (SW) Thanks to
Stephan Michels
.
XSP engine now correctly works with dynamically generated sources with last modification date of 0, and it is correctly reloaded on Cocoon reload. (VG)
Logicsheets are resolved using instance of url factory source resolver (URLFactorySourceResolver), and not the current request resolver (which is temporary object). (VG)
Improve Lucene indexing. Only one Lucene document is created for one Cocoon resource. Document consists from 'body' field with all the text, 'element' field for every <element>, and 'element@attribute' for every attribute of the <element>. (VG)
Fixed performance issues in the Store implementation: (1) removed the FilesystemQueueImpl, one thread less now, (2) changed swapping alghorithm in the MRUMemoryStore towards less serialization, (3) Cache entries will be saved to the filesystem, when the System is shutdown cleanly, (4) fixed bug submitted by Peter Hargreaves [pdh.at.totalise.co.uk] in StoreJanitor (GC hangs in endless loop). (GF)
Serializers do not write namespace attributes for prefixes starting with xml anymore (these are reserved by XML spec). (VG)
Removed Event Cache and Stream Cache. For all possible Caching Piplines there is only one Store implementation behind. (GF)
Added new log targets. (1) access.log, (2) core.log, (3) error.log and (4) sitemap.log. (GF)
Perform substitution in the sitemap only when it is required (improves performace). (VG)
Additions to sitemap syntax: (1) allow all elements at root level, not only matchers, (2) perform some validation checks, (3) perform attribute substitution on all attributes except @type and @label. (VG)
Added "List of Docs" which automatically generates a list of all Cocoon documentation by aggregating each xdocs/**/book.xml (DC)
The Catalog Entity Resolver is now fully operational on all platforms in both the webapp context and the commandline context of build docs. The verbosity level is now set low - if you want to see messages, then raise the verbosity via cocoon.xconf or CatalogManager.properties (DC) Fixes
bug 5060
.
Separated the jars into core and optional. For compiling only the core jars are necessary. However, the sample webapp still needs some optional jars. (CZ)
Added matchers: RegexpHeaderMatcher, RegexpRequestAttributeMatcher, RegexpRequestParameterMatcher, RegexpSessionAttributeMatcher, RequestAttributeMatcher, SessionAttributeMatcher, WildcardHostMatcher, WildcardRequestAttributeMatcher. (VG)
Address issue about how RegexpURIMatcher matches the "" pattern. Because it is so different from WildcardURIMatcher, the "" pattern is rewritten as "^$" which matches an empty string. The event is logged, along with the hint that if you really want to match everything, the pattern ".*" works as advertised. (BL) Fixes
bug 5791
.
Fix command line generation so that a broken link was not a fatal error, and processing will continue after the link is reported as bad. (BL)
Add ability to serialize all broken links to a file when running in command line mode. This helps debug sites. (BL)
Rename some of the matchers/serializers (new added, old deprecated): RequestSelector to RequestParameterSelector, RequestParamMatcher to RequestParameterMatcher, WildcardParameterValueMatcher to WildcardRequestParameterMatcher, RegexpTargetHostMatcher to RegexpHostMatcher. (VG)
Wap serializer renamed to wml serializer in the sitemap shipped with Cocoon, to be consistent with the names of other serializers. (VG)
FilterTransformer is now Cacheable. (CZ)
Added CACHE_VALIDITY singleton object to NOPCacheValidity and changed all components to use constant instead of creating new instances each time. (CZ)
Fix lifecycle related bugs in i18n transformer. Now transformers handles only lifecycle of resource bundle factory, which handles lifecycle of all resource bundles. (VG)
Added special lifecycle interface for Cocoon components: RequestLifecycle. A component marked by this interface has the lifecycle of one request, so looking up the role twice during the same request results in the same component. (CZ)
The "namespace-prefixes" feature is no more set on parsers. It can be set if needed in the configuration. (SW)
Added ability to use XPath expressions to query XML:DB collections using XML:DB pseudo protocol. URL should be in form: xmldb:dbxml://host:port/db/collection/#/xpath (VG)
Enabled XML:DB support (generators and pseudo protocol) by default. (VG)
JSPEngine returns result in UTF-8 charset. (VG) Fixes
bug 4239
.
Changed invokation syntax of sitemap resources. Now <call resource/> is used instead of <redirect-to resource/>. Affects only resources, other redirections still use "old" syntax. New syntax does not take "target" attribute but allows to set arbitrary parameters by using <map-parameter/> Always creates new map while old syntax only did when "target" was present. Old syntax still available but deprecated. (CH)
XSP page were called twice if used as a source of XSLT stylesheet due to multiple calls to Source.getInputSource() in XSLProcessorImpl. (VG) Thanks to
Eisert, Wolfram
.
Changed default upload directory from "image-dir" to "upload-dir". (VG)
RequestGenerator accepts container-encoding and form-encoding parameters. (VG) Thanks to
MIYABE Tatsuhiko
.
Added support for configurable URLFactories. (CZ)
Made the cache work again by updating cocoon.roles, sitemap.roles and making EventPipeline and StreamPipeline implement Recomposable instead of just Composable. (SW)
Added the XML:DB pseudo protocol (GR)
Status generator outputs a detailed description of what's in the cache. Patch submitted by Sebastien Koechlin [skoechlin.at.ivision.fr] (SW)
Applied patch adding advanced error handling to SQLTransformer plus escape-string element from Peter Seiderer [Peter.Seiderer.at.ciselant.de] (CZ)
The JaxpParser is now poolable and configurable. (CZ)
The sitemap engine is now a regular component available through Processor.ROLE. This allows alternative implementations of Processors (e.g. interpreted sitemap, flowmap, statemap) to be plugged through cocoon.xconf. Note : to ensure compatibility with existing cocoon.xconf files, the shorthand for the Processor role is "sitemap". (SW)
Added support for configurable SourceFactories. Patch submitted by Gianugo Rabellino [gianugo.at.rabellino.it]. (CZ)
Added RTF serialization of XSL-FO documents (requires jfor). Patch submitted by Bertrand Delacretaz [bdelacretaz.at.codeconsult.ch]. Applied patch for the SQLTransformer to output namespaces for the generated elements. Patch submitted by Per-Olof Norén [pelle.at.alma.nu]. (CZ)
New ServerPagesAction and associated "action" and "capture" logicsheets that allow actions to be written in XSP and parts of the generated XML to be captured in XMLFragment or DOM objects. (SW)
2.0 (November 29, 2001)
Restructured build system. A new ant task (SitemapToolTask) adds entries of optional components to the sitemap. Warnings for not available optional components are printed out. (CZ)
Made the concept of views work as proposed in the original proposal. There is now the possibility to attach a label attribute with multiple values separated by blanks or commas to the following elements: map:generator, map:transformer, map:generate, map:transform, map:aggregate and map:part. (GP)
Applied patch for session-info for TraxTransformer from Jörn Heid [heid.at.fh-heilbronn.de]. (CZ)
Applied patch for the SQLTransformer to output namespaces for the generated elements. Patch submitted by Per-Olof Norén [pelle.at.alma.nu]. (CZ)
Applied patch for incremental XSLT processing from Jörn Heid [heid.at.fh-heilbronn.de]. (OP)
2.0rc2 (November 7, 2001).at.cup.hp.com] (CZ)
Applied NPE fix for MRUMemoryStore Submitted by: Ovidiu Predescu [ovidiu.at.cup.hp.com] (CZ)
Fixed (hopefully) dependency to the http environment in StreamGenerator. (CZ)
Optional setting of the lexical-handler for XMLReader. This patch allows to use Crimson instead of Xerces. Submitted by: Ovidiu Predescu [ovidiu.at.cup.hp.com] (CZ)
Added xml compiler and interpreter to cocoon.xconf (CZ)
Applied Patch for entity catalogs: accept parameters from xconf. Submitted by: David Crossley [crossley.at.indexgeo.com.au] (CZ)
Applied fix for missing "User-Agent" header in BrowserSelectorFactory. Submitted by: Joerg Henne [j.henne.at.at.acm.org] (CZ)
Applied fix for a bug in the WriteDOMSessionTransformer for handling xml documents with namespaces correctly. Submitted by: Greg Weinger [gweinger.at.itmedicine.net] (CZ)
2.0rc1 (September 24, 2001)
New "capture" logicsheet that allows parts of XSP-generated XML to be captured as XMLFragment or DOM objects. (SW)
Added LogKit management functionality. (GP)
Removed ThreadSafe from the Action interfaces : the decision to be ThreadSafe is left to each implementation. Consequently, existing actions now explictly implement ThreadSafe. (SW)
Redesigned the handling of the cocoon: protocol. Removed the pushURI and popURI methods. It is now possible to load cocoon: resources parallel in several tasks. (CZ)
Fixed package name generation for subsitemap components and external components. (VG) Fixes
bug 2737
.
Added ability to specify custom 404 error page for pipelines using map:handle-errors element with attribute type="404". (VG)
Catch NoClassDefFoundError and throw ResourceNotFoundException if XSP was requested with different case. (VG)
New log formatter outputs the caller class and request URI in the log file. (SW)
Added patch by Stuart Roebuck (stuart.roebuck.at.adolos.com) fixing the byte handling of the ImageDirectoryGenerator. (CZ)
Added capability to resolve external XML entities using an entity resolver. See the documentation for "Entity Catalogs". (DM)
2.0b2 (July 23, 2001) sitemaps. (CZ)
Fixed proper setting of content length for pdf and images. (CZ)
Fixed parsing and reporting of Java compilation errors using Javac and Jikes compilers. (VG)
Added documentation on libraries used in Cocoon. (VG) Thanks to
John Morrison
.) Fixes
bug 2182
.
Added the automatic announcement generation utility from Avalon. (BL)
Fixed typo that created an element <xsp-request:get-user/> instead of <xsp-request:get-host/> in XSPRequestHelper. (BL) Fixes
bug 2172
.
Made sure the _static_ classes did not inherit from each other, and made all calls to XSPObjectHelper that handled XML elements explicitly call with URI and PREFIX as parameters to the methods. (BL) Fixes
bug 2166
.
Applied fix to URLFactoryImpl donated by wangtun.at.staff.yam.com. (BL) Fixes
bug 2142
.
Added support for fine-grained pool size control for Excalibur Component Architecture. (BL)
Fixed component release errors in ContentAggregator (thanks to Vadim Gritsenko for the patch). Also fixed potential race conditions in the ComponentManager architecture in Avalon Excalibur. (BL)
Integrated new StreamGenerator from Kinga Dziembowski <kingadziembowska.at.msn.com> Documentation is available in the webapp/docs/samples/stream/ReadMeAdd.txt (not yet converted to xdocs) (GP)
Fixed ClassCastException in CommandLineEnvironment. Added Redirector interface to the CommandLineEnvironment to avoid class cast exceptions (CZ)
Fixed NPE in browser detection. Applied patch to the BrowserImpl. from Ovidiu Predescu (ovidiu.at.cup.hp.com). It fixes a NPE if the browser is not described. (CZ)
The TraxTransformer resolves now the uri used inside a stylesheet (e.g. xsl:include). Applied the patch from Rick Tessner (rick.at.myra.com). (CZ)
SQLTransformer is now recycled properly. Applied patch from Ovidiu Predescu (ovidiu.at.cup.hp.com). (CZ)
Cocoon 2.0b1 (June 7, 2001)
Removed setContentHandler and setLexicalHandler from the XMLProducer interface. (CZ)
The sitemap components now use the new SourceResolver to resolve resources instead of the old EntityResolver approach. (CZ)
Added a internal-only attribute to the map:pipeline element to protect them from being accessed by normal user request. The only way to access them by use of the src attribute of the map:part element or the xinclude:href of the XIncludeSAXConnector which implements transparent xinclude capability (GP)
Added a prefix attribute to both map:aggregate and map:part to have a namespace prefix available. (GP)
Added an optional strip-root attribute to the map:part element of the map:aggregate element to indicate that the aggregator should strip off the root element of the aggregated content. The values can be "yes" or "true" to strip off and anything else to not. (GP)
Made element attribute of map:part element in map:aggregate element optional (GP)
Also added substitution for test/pattern attribute. (GP)
Implementation of content aggregation at sitemap level. (GP)
Enable a parallel calling path into the sitemap for internal requests of resource. (GP)
Added missing methods on CommandLineRequest. (GP)
Finished cleanup of the environment. We are now as independant of the javax.servlet package as possible. (CZ)
Creating wrappers for Session and Cookie. The creation of these wrapper classes allow us to be independent of the javax.servlet classes. (CZ)
Added reload-method and check-reload configuration attributes for the sitemap to allow asynchron/synchron sitemap reloading. (CZ)
Added initial caching algorithm for StreamPipelines. The caching system is pluggable and offers caching of the whole response. (CZ)
Added initial caching algorithm for EventPipelines. The caching system is pluggable and includes caching of generators and transformers. (CZ)
Moved ComponentManagement infrastructure to Avalon where more eyes can keep it working well, and it can benefit more people. (BL)
Decoupled the RoleUtils class from the component management system. Implemented RoleInfo proposed by Ricardo Rocha (GP)
Split up ResourcePipeline into the Component EventPipeline and StreamPipeline and put them in the components package. it. (GP)
Added a TranscoderFactory for Batik, and updated the SVG Serializer to use it. (RB)
Added support for SAXConnectors. This is the first stage in the implementation of content aggregation. SAXConnectors could also be used for profiling and pipeline logging. (PR)
Added form to database Actions. Using these Actions, you can quickly generate a webapp that functions in _very_ little time. (BL)
Added command line code generation and compilation of XSP's and the Sitemap. (DM)
Eliminated dependency on Xalan. Updated sitemap.xsl and the Extension functions to work both on Xalan and SAXON. SAXON should work from version 6.2.2 onwards. (DM)
Eliminated dependency on Xerces for the serializers by using TRaX Serializers. (DM)
Cocoon 2.0a (March 2001)
Made Cocoon load classpath independent of Servlet Engine Classpath Attribute. (BL)
Changed the Xerces Specific code in the parser to JAXP 1.1 code. The JAXP 1.1 code will work with any compliant parser. Unfortunately we still need Xerces for the serializers. (BL)
Put meat on the Action Framework for the ManageEmployees form. (BL)
SVG serializer now uses Batik. (RB)
I did a first stab at importing the util logicsheet from Cocoon 1.8.1. (BL)
I added some simple forms that make use of the xsp-request and esql logicsheets. (BL)
Clean up a lot of classloader issues. RepositoryClassLoader is quicker and more stable accross installations. ClassUtils takes care of getting resources. (BL)
Updated avalonapi to implement hierarchical logging, and added many more log entries to get a handle on where the problems lay. (BL)
added esql logicsheet to c2 (DB)
patched xsp generator to use proper namespace for automatic text elements (DB)
Updated Cocoon to be Avalon 3.0a4 compliant. Introduced ComponentManager and ComponentSelector patterns correctly in code. Updated sitemap to create Configuration trees directly. (BL)
Added a more complete SVG serializer. (RB)
Distribution cleanup and creation of a decent live demo, also to test the new sitemap. (SM)
Major update to implement the new compiled sitemap subsystem. (GP)
Patched XSLTFilter to pass request parameters into stylesheet like cocoon1 (DB)
Added ImageDirectoryGenerator - this oughta be pluggable though, so other file types can have extra attributes added easily (DB)
Improved the samples and the webapp sitemap. (SM)
Cleaned build system in order to be friendly to ASF-wide build procedures. (SM)
Updated installation section (JServ no longer supported). (SM)
Updated Xerces and FOP to latest versions. (SM)
Patched for final SAX2 compatibility. (SM)
Improved installation documentation. (SM) Thanks to
Sven Künzler
.
Patched SQLFilter so VJ++ was happy (DB) Thanks to
Zvi
.
Officially added XincludeFilter (DB)
Officially added SQLFilter (DB)
Fixed order of filters that was backwards. (SM) Thanks to
Sebastien Sahuc
.
Fixed typo in DirectoryGenerator. (GP)
Distribution cleanup, early documentation. (SM)
Initial code implementation. (PF)