Return-Path: Delivered-To: apmail-cocoon-cvs-archive@www.apache.org Received: (qmail 62612 invoked from network); 30 Jan 2005 18:14:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 30 Jan 2005 18:14:22 -0000 Received: (qmail 49834 invoked by uid 500); 30 Jan 2005 18:14:17 -0000 Delivered-To: apmail-cocoon-cvs-archive@cocoon.apache.org Received: (qmail 49715 invoked by uid 500); 30 Jan 2005 18:14:16 -0000 Mailing-List: contact cvs-help@cocoon.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@cocoon.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list cvs@cocoon.apache.org Received: (qmail 49692 invoked by uid 99); 30 Jan 2005 18:14:15 -0000 X-ASF-Spam-Status: No, hits=-8.2 required=10.0 tests=ALL_TRUSTED,BIZ_TLD,NO_REAL_NAME,URIBL_SBL,WEIRD_PORT X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Sun, 30 Jan 2005 10:14:04 -0800 Received: (qmail 62339 invoked by uid 65534); 30 Jan 2005 18:14:03 -0000 Date: 30 Jan 2005 18:14:03 -0000 Message-ID: <20050130181403.62334.qmail@minotaur.apache.org> From: cziegeler@apache.org To: cvs@cocoon.apache.org Subject: svn commit: r149128 - /cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/AbstractMetaModule.java /cocoon/trunk/status.xml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Author: cziegeler Date: Sun Jan 30 10:14:01 2005 New Revision: 149128 URL: http://svn.apache.org/viewcvs?view=rev&rev=149128 Log: Apply patch for a better exception handling in the Meta-InputModule when an input module is not found. Modified: cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/AbstractMetaModule.java cocoon/trunk/status.xml (contents, props changed) Modified: cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/AbstractMetaModule.java Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/AbstractMetaModule.java?view=diff&rev=149128&p1=cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/AbstractMetaModule.java&r1=149127&p2=cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/AbstractMetaModule.java&r2=149128 ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/AbstractMetaModule.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/components/modules/input/AbstractMetaModule.java Sun Jan 30 10:14:01 2005 @@ -341,7 +341,7 @@ if (cs.isSelectable(name)) { release = true; try { - input = (InputModule) cs.select(name); + input = (InputModule) cs.select(name); } catch (ServiceException e) { throw new ConfigurationException( "MetaModule unable to create "+ @@ -349,8 +349,7 @@ " specified internal module '"+name+"'", e); } } else { - if (getLogger().isWarnEnabled()) - getLogger().warn("No such InputModule: "+name); + throw new ConfigurationException("MetaModule: No such InputModule: "+name); } } Modified: cocoon/trunk/status.xml Url: http://svn.apache.org/viewcvs/cocoon/trunk/status.xml?view=diff&rev=149128&p1=cocoon/trunk/status.xml&r1=149127&p2=cocoon/trunk/status.xml&r2=149128 ============================================================================== --- cocoon/trunk/status.xml (original) +++ cocoon/trunk/status.xml Sun Jan 30 10:14:01 2005 @@ -1,3054 +1,3060 @@ - - - - - - - - - - - - - - - - - - - - - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Test, test, test :-) - - - - Attend to any high+ issues in the - Documentation To Do List - - - - Attend to the general issues in the - release plan - - - - Complete (means put all allowed constructs and combinations) - the lint/sitemap.xmap file. Enhance the RELAX NG grammar for sitemap. - - - - For 2.2: Views must start not from the first encountered label, but from the last one - (see http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=101784499622172) - - - - Make comprehensive samples with the handle-errors sitemap and real world - use cases. Add also specific Selector and a FaqBuilder to be used by the - NotifyingBuilder. - - - - Finish the design and contracts of flow. Add more tests and samples and - documentation. - - - - Finish the - refactoring of samples - - - - Finish moving the scratchpad stuff in main trunk. - - - - - - Ensure that recyclable components always release their references, even when - they are not pooled. The easiest way is to make them disposable and clean up - in dispose. - - - - EventRecorder classes in o.a.c.transformation.helpers package are similar - to SaxBuffer. SaxBuffer should be extended (if it misses some functionality), - and EventRecorder deprecated and removed. - - - - XMLize exception handling so that error pages can become more - semantically meaningful. Currently all XSP compilation errors are - stored in a single string. With XMLized exceptions we could display - especially XSP errors much nicer. - - - - Lucene is writing info to stdout when searching. - - - - Redesign FragmentExtractorGenerator/Transformer so that it works on a clustered - server: store fragments in the session rather than in a local store.
- This couldn't work, because if you working with caching pipelines, you cannot be sure - that the entries are in the session(Stephan). -
- - - Remove ContainerWidget concept from cforms. - -
-
- - - - - - Fixed caching of i18n bundles when using multiple locations. - - - Add an experimental lazy loading in the service manager that dramatically speeds up Cocoon init time - (approx 4 times faster). To use it, set JAVA_OPTIONS="-Dorg.apache.cocoon.core.LazyMode=true" prior - to starting "cocoon.sh servlet". - - - Add an include feature to xconf files and xmap files, to allow an easier configuration of the system. - The main cocoon.xconf is now a list of inclusion of the main core components and a - separate xconf file for each block. Additional role files can also be included. - - - javaflow: auto-compilation for javaflow. - factored out javaflow and the auto-compilation (jci) - into separate projects. - - - esql: added support for derby - - - 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. - - - initial revision of new block: Cocoon Templates - - - 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> - -
- - 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> - -
- - cForms: fields styled as 'htmlarea' can be used in tables (workaround for strange IE behaviour) - - - Added querybean block, functionality moved from the lucene block as we hope to add a dependency on OJB so querybeans can be persisted. - - - Batik block: Fixed handling for empty extract URIs when matching on null - namespace URIs. - - - Allow attribute values to be matches as well for EncodeURLTransformer. - - - I18n (ParamSaxBuffer): handle case where substitution params like {0} are split over multiple character events. - - - Fix: Continuation can only be invoked for the interpreter it was originally created for. - - - Authentication block: Add authenticator for JAAS. - - - Flowscript: Removed support for passing sitemap parameters into flowscript - function as positional arguments. Use cocoon.parameters instead. - - - Use official Rhino implementation which supports continuations since 1.6. For the most - flowscripts there shouldn't be any issues, though there are differences that may lead - to compatibility issues: -
    -
  • catch(return)
  • -
  • catch(continue)
  • -
  • catch(break)
  • -
- aren't supported any more. catch(break) can be replaced by passing the function - to cocoon.sendPageAndWait([pipeline], [bizdata], [function], [time-to-live]). -
- catch(return) and catch(continue) e.g. - - var pool = ...; - function someFunction() { - var conn = pool.getConnection(); - ... - catch (break) { - conn.close(); - conn = null; - } - catch (continue) { - conn = pool.getConnection(); - } - } - - can be replaced by catching the ContinuationException: - - var pool = ...; - function someFunction() { - var conn = null; - try { - if (conn == null) { - conn = pool.getConnection(); - } - ... - } finally { - conn.close(); - conn = null; - } - } - -
- - Removed the PHP block. - - - Remove support for Excalibur instrumentation. - - - Component, Composable, ComponentManager, ComponentSelector and ComponentException - are no longer support: Serviceable, ServiceManager, ServiceSelector and ServiceException - have to be used. - - - Own implementation of Avalon based container. - - - Added best-fit-while-keeping-aspect-ratio option to the ImageReader - - - Apply patch: Add support for calling webservices from within Flowscript. - - - New getSitemapPath() method on the Request object to get the path to the - current sitemap even if you are in a sub sitemap. Added an abstract request - wrapper class as well. - - - Add scoped request attributes (global/request). - - - Update to servlet specification 2.3. - - - Deprecate methods implementsInterface(String, String), - implementsInterface(Class, Class), lastModified(Class) - and which(Class) in org.apache.cocoon.util.ClassUtils - These methods will be removed on the next version. - - - Move the sitemap engine to Serviceable (in replacement of Composable) and remove - SitemapComponentSelector and OutputComponentSelector that were no more needed. - - - Add profiling/debugging API for the sitemap. - - - Add sitemap versioning support to tree processor and remove unused - support for other tree based languages. - - - Correct redirect handling for internal redirects. - - - SWF block: Removed the deprecated block and added a flash sample in the - hello world section. - - - Deprecated methods in class org.apache.cocoon.util.IOUtils - to be removed in Cocoon 2.3: -
    -
  • String baseName(String filename)
  • -
  • Object bytesToObject(byte[] bytes)
  • -
  • Object deserializeObject(File file)
  • -
  • String fileComponent(String filename)
  • -
  • byte[] objectToBytes(Object object)
  • -
  • String pathComponent(String filename)
  • -
  • void serializeObject(File file, Object object)
  • -
  • void serializeString(File file, String string)
  • -
  • void serializeString(File file, String string, String encoding)
  • -
-
- - Deprecated class org.apache.cocoon.util.JavaArchiveFilter. - To be removed in Cocoon 2.3. Moved to the deprecated dir. - - - Session-fw block: Remove deprecated class AbstractSessionComponent from session - block. - - - Redesign the internal environment handling (request processing) and moved - private classes into own packages. - - - Remove deprecated RequestLifecycleComponent and GlobalRequestLifecycleComponent. - - - Remove deprecated (2.0.x) caching system; only 2.1.x is supported. - - - Remove deprecated sitemap related components and classes. - - - Remove deprecated Store implementations. Excalibur Store/JCS are used instead. - - - Remove deprecated Parser and Entity Resolver. Excalibur XMLUtils is used instead. - - - Remove deprecated XSLT Processor. Excalibur XMLUtils is used instead. - - - Remove deprecated Source handling. Excalibur Sourceresolve is used instead. - - - Remove deprecated getOutputStream() method from Environment. - - - Change the mime-type setting of a reader. - - - Remove deprecated methods from SimpleCharStream, Notifier, - AbstractComplementaryConfigurableAction, StringUtils. Remove deprecated - parser constant from Constants and remove deprecated class - DefaultsMetaModule. - - - Remove deprecated methods from XMLUtils, DOMUtil, DOMBuilder and SourceUtil. - -
- - - Portal Block: Add portal tools framework contribution. - - - Build system: External blocks can be built together with Cocoon. - - - 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. - - - PageLabel url's were not properly encoded. - - - 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. - - - Added commons-transaction 1.0 and commons-codec 1.3. Both are needed by slide 2.1. - - - 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. - - - 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. - - - CForms: the parser used to read form files now uses the EntityResolver defined in cocoon.xconf. - - - Tiny typo in AbstractTextSerializer - - - Modified PortletURLProviderImpl.toString() to create a copy of itself and register that with the event. - - - Update Deli to x031104 (include over 300 vendor, operator and third party profiles) - - - Updated hsqldb to 1.7.3, lucene to 1.4.3, ehcache to 1.1, log4j to 1.2.9. - - - typo on the date-selector doc. - - - xml2html.xslt does not work on IE. - - - Portal: attributes "javax.portlet.request" and "javax.portlet.response" were not set for JSR-168 - portlets running in the Cocoon webapp. - - - CForms: add a new "link" styling for action widgets, that renders the action - as an hypertext link. - - - DateInputModule now accepts date format string when specified in a sitemap. - - - Portal: Added support for storing JSR-168 Portlet preferences. - - - - - Lucene: SearchGenerator incorrectly counts previous-index. Reported by: Tomasz Nowak (tnowak-p@netventure.pl) - - - Updated iText to 1.1. - - - Fix: buildList() in AbstractDatabaseAction generates incorrect parameter list. - - - Fix: Webmail sample broken. - - - Fix: Context directory not required to be writable by the CLI. - - - Portal: If a coplet has an error, the error-uri has been called twice. This is fixed now. - - - Flowscript: Deprecated support for passing sitemap parameters into flowscript - function as positional arguments. Use cocoon.parameters instead. Support will - be removed completely in Cocoon 2.2. - - - Portal: Request content length and content type are required in portlet ActionRequest - for custom upload handling. - - - Portal: Added support for page labels. - - - Javaflow: JavaInterpreter initialize method was not thread safe. - - - Portal: Generate subnavigation for non-selected tabs. - - - Scratchpad block: Restored CastorTransformer support for context beans, - restored bean lookup logic, fixed sample. - - - The CocoonBean now creates its own private logger hierarchy, thus avoiding to - pollute the CocoonServlet hierarchy when called in that context (e.g. when - generating a static site from a CMS). - - - Added replacement for Excalibur Event package in - org.apache.cocoon.components.thread and migrated most classes using their own - threads to that package. - - - Updated antlr to 2.7.4, db-ojb to 1.0.1. - - - Javaflow block: Support inherited methods. - - - Javaflow block: Add parameter support. - - - CForms block: added widget states. All widgets can now have an "active" (default), "disabled" or "invisible" - state. Updated the stylesheets accordingly to use HTML's disabled inputs. - - - Scratchpad block: BetwixtTransformer: removed deprecation warning with - latest betwixt. - - - Flowscript: enforce the explicit declaration of variables in the global - scope (attached to the session). This avoids the implicit declaration of - variables in the global scope when the 'var' keyword is missing, which - leads to weird bugs difficult to track down, especially with continuations. - - - Deprecated the PHP block since the PHP servlet the generator depends on - never worked properly. Explicitly excluded the PHP block from blocks.properties. - - - XSP Block: Add space="strip" attribute support for <xsp:page> - element. When present, all extra whitespace from XSP source is stripped. - - - XMLDB Block: Fix NullPointerException in XMLDBTransformer if specified - collection does not exist. - - - XSP - JXPath logicsheet: Allow use relative contexts in <jxpath:for-each>. - Add a new tag <jpath:set-lenient lenient="true|false">. - - - Updated commons-httpclient to 2.0.2, groovy to 1.0-beta-7, commons-betwixt to 0.6. - - - Flow invocations (function calls or continuation invocations) should always - result in a response. Flowscripts with no response are prohibited. - - - Portal block: Apply batch for configuring the type handling in the Castor converter. - - - Fix bug in SessionPropagatorAction. - - - Fix syntax error in build.bat on Windows ME. - - - Portal block: Apply patch for rendering a link of the selected tab in TabContentAspect. - - - Portal block: Apply patch for handling GET method when no enctype is set in CopletTransformer. - - - Throw a more meaningful exception if charset classes are missing. - - - Fixes the SQLTransformer not to close the statement twice. - - - Change constructor to be public in order to fix bug 30270. - - - Forms block: added possibility to add a SelectionList based on Java. - - - HTML serialization has no space between publicId and systemId. - Updated xalan to 2.6.1-dev-20041008T0304. - - - Scratchpad block: Implemented support of parallel loading of included - sources in the IncludeTransformer. - - - Updated commons-lang to 2.0-20041007T2305. Now cocoon compiles in java 1.5. - - - Updated jdt-core to 3.0.1. - - - Faces block: Added JSF CarStore demo. - - - Flow preserves global variables on sitemap reload. - - - Forms block: Implementation of the CForm template language using JX macros, - allowing smart page layout that depends on the widgets state and value. - - - Remove jisp from distribution. - - - XSP logicsheet jpath.xsl: incorrect call to JXPathContext.compile. - - - Mail block: Support multiple SMTP servers, not only default one. - - - Mail block: Add support for authenticated SMTP server connections. - - - Cron block: JobScheduler's fireJob method now supports jobs calling Cocoon - pipelines. - - - Allow recursive Flow invocations with processPipelineTo. - - - Forms block: rename fd:on-activate to fd:on-action on - fd:row-action and fd:repeater-action for consistency - with fd:action and fd:submit. - - - Cache the mime-type of readers and serializers. - - - The daylight time cause error when timezone is CST. Updated icu4j to 3.0. - - - Upgrading DELI block from version 0.9.8 to x020904. - - - Add support for translating attribute values which contain i18n expressions - rather than complete i18n key. - - - Forms block: allow widget attributes which were only accessible programmatically - to be set in the form definition. This allows e.g. generic form processing code - to find widgets having a particular attribute. - - - Mail block: the MailSender now gets its source resolver from the service manager. - This allows its use from flowscript where the old SourceResolver is not available. - - - AbstractSAXTransformer namespaceURI and defaultNamespaceURI must never - be null. When extending AbstractSAXTransformer make sure to set - defaultNamespaceURI in the constructor. - - - Faces block: Initial implementation of JavaServer Faces for Cocoon. - - - Taglib block: Initial implementation of BodyTag. - - - Portal block: Changed pathInfo and servletPath logic. pathInfo always starts - with '/', while servletPath always has no '/' at the end. - - - JXPathMetaModule incorrectly checks for null parameter (can't happen) - instead of empty string. - - - Cron block: Fixed memory leak, QuartzJobExecutor was not releasing pipelines. - - - Updated jexl to 1.0, lucene to 1.4.1. - - - Selector for matching the request headers using a regular expression. - Simple content negotiation, e.g. serve XHTML if browser indicates it - accepts application/xhtml+xml and HTML otherwise; potentially do - automatic i18n according to the accept-language header. - - - New @pass-through attribute for the sitemap mount node. - If true, processing will resume in the base sitemap just after the mount node - if the mounted sitemap has not already generated output (usually if no match - is found). Previous behaviour was always to throw a ResourceNotFoundException. - The attribute defaults to "false" for backwards compatibility. - - - Portal block: New Group Based Profile Manager. - - - Cron block: Add support for persistent job stores, type "tx" and "cmt". - - - Cron block: Fix TestCronJob pipeline call functionality. - - - GetInstance don't work with upgrade from db-ojb-1.0rc6. - - - Updated rhino to 1.5r4-20040629T1232, - xreporter-expression to 20040701, ehcache to 0.9. - - - A redirect is now possible, if it's called from flow. This also fixes bug #26571. - - - Mail block: Add ability to specify mime-type for email body text parameter in the mail transformer. - - - Fix potential memory leaks in CForms/Woody Template Transformer and JXTemplateGenerator. - - - XMLDB Block: Add ability to delete collections with XMLDBTransformer. - - - Reworked LocaleAction and LocaleMatcher to have similar logic and - configuration. -
NOTE: Sitemap variable "lang" renamed to - "language", removed configuration parameters: "language-attribute", - "country-attribute", "variant-attribute". -
- - Added LocaleMatcher for file based internationalization. - - - Make implementation of Cocoon protocol compliant with the Source interface. - - - Update ant to 1.6.2, commons-jxpath to 1.2, commons-beanutils to 1.7, - POI to 2.5.1-final-20040804, commons-httpclient to 2.0.1, nekohtml to 0.9.3, - hsqldb to 1.7.2, jcs to 1.1-dev-20040811, quartz to 1.4.2, asm to 1.4.3, - asm-util to 1.4.3 and groovy to 1.0-beta6. - - - Mail block: The mail transformer ignored configured toAddresses from a - pipeline parameter. This is fixed now. - - - Fixing BetwixtTransformer does not marshal Collections properly (java.lang.OutOfMemoryError). - - - Update qdox to 1.5 and jdt-core to 3.0.0. - - - Fixing lucene-block samples dependencies. - - - Update lucene to 1.4. - - - Enhanced JMS support by adding a JMSConnectionManager component to the JMS block. - This component replaces the JMSConnection component which only supported - publish/subscribe messaging and which mixed some concerns. Two abstract classes: - AbstractMessageListener and AbstractMessagePublisher should be used as basis for - custom publish/subscribe components. - - - Still in the scratchpad area at the time of this writing, added a - CachedSource proxy subclass for Sources that implement TraversableSource and - InspectableSource (for instance WebDAVSource). - - - Added a NekoHTMLGenerator to HTML block. This is a simpler HTML parser than - JTidy, which preserves more of the original HTML, primarily just balancing - closing tags. - - - Added support for stripping root elements in the CIncludeTransformer. - - - Portal block: Added ManagedCocoonPortlet, to be used together with - CocoonServlet or CocoonPortlet. - - - POI block: cell spanning. - - - POI block: processing of tags "vcenter", "hcenter", "monochrome", "draft", - "Header", "Footer" in "gmr:PrintInformation". Initial support for - "Margins" ("top", "bottom", "left", "right", "header", "footer"). - - - POI block: processing of tags "grid", "orientation and "paper" in - "gmr:PrintInformation". - - - Fix JXTemplate generator does not handle format-number(number, '$#,##0.00'). - - - Forms block: Implement setValue method for the upload widget. - - - Forms block: Handle variants of datatype date correctly (i18n, styling). - - - Update commons-digester to 1.5, commons-betwixt to 0.5, commons-pool to 1.2, - commons-dbcp to 1.2.1 and db-ojb to 1.0.0. - - - Update commons-collections to 3.1. - - - Fix JXTemplateGenerator eating backslash characters. - - - Add new <jx:comment> tag to the JXTemplate. XML comments are not - parsed anymore. See the bug description for a sample. - - - Move commons-logging-1.0.4.jar to lib/core as jcs.jar depends on it. - - - Apply patch: Cached resources don't have Expires-Header. - - - Apply patch: Caching JXTemplateGenerator. - - - ResourceReader can now take configuration elements, parameters - are deprecated. - - - Fix byte ranges support in ResourceReader. - - - Portal: CocoonPortlet has new configuration parameter, - default-session-scope. - - - Updated commons-logging to 1.0.4 - - - NamingInputModule provides access to the JNDI context. - - - Updated quartz to 1.4 - - - Add configuration support for log4j. - - - New Input modules: URLEncodeModule and URLDecodeModule - - - Apply patch to fix some memory leaks in the tree processor. - - - Portal: Fix NPE when non-caching pipelines are used for the portal profile. - - - Portal: Fix transformation of non-external html links (HTMLEventLinkTransformer) - - - Portal: Fix problem with bookmarks and CachingURICoplet - - - A new build property, "include.sources-in-jars", allows to include java - source files in jar archives. Useful when using a non-released version - to know what sources are used. - - - Refactor TreeProcessor to avoid constant reloading of sitemap if its - modification date is in the future and occasional ECM-related exceptions - when a sitemap is reloaded. - - - Tour block: added Java shapes sample. - - - Updated Groovy to 1.0-beta5, qdox to 1.4 and util.concurrent to 1.3.4. - - - Serializers block: Fixed the namespace handling of the XMLSerializer. - - - Serializers block: Added support for indentation to the XMLSerializer. - - - Chaperon block: Improvements for Chaperon JSPWiki to xdocs conversion: -
    -
  • Handle nested bullet lists (number lists already supported)
  • -
  • If 'name' parameter is specified, use it as title (and add spaces between - WikiWords) instead of first section title
  • -
  • Handle images with alt text
  • -
  • 'spaceless-filenames' parameter will squash out spaces in relative - links
  • -
  • Fix anchors to use 'id' instead of 'name'
  • -
  • Emphasize anchors a bit
  • -
  • selftest.txt tests for lists and tables
  • -
  • More known issues listed in selftest.txt
  • -
-
- - Added instrumentation support to ContinuationsManager. - -
- - - The store/caching system now uses JCS instead of Jisp. - - - The persistent store is now really persistent between two application runs. (Fixed - a bug in the hash code calculation of the keys). - - - Updated Apache JCS to 1.0 dev 20040516 and util.concurrent to 1.3.3. - - - Extended CocoonServlet to allow any - org.apache.avalon.excalibur.logger.LoggerManager - to be used. - - - Deprecated getWidget from the Widget interface in cforms. - People should consider using getChild(id) or lookupWidget(path) instead. - On the level of the flowscript 'Form' API a semantical distinct getWidget() - (notice: no arguments!) is still available to return the actual wrapped - Java form instance. - - - Fixed jetty-4.2.19.jar compiled for +jdk1.4. The new version can run in 1.3 - - - Fixed missing escapes of line feeds, carriage returns and tabs, that resulted - in invalid Java code. - - - Updated Joost to 20040330 - - - RequestListener hook added, that is called before and after a request is processed. - - - Enable XConfToolTask to modify multiple attributes. See the bug report - for description of use. Also enable suppression of comments. - - - Extended FOM so that cocoon.redirectTo("url", true) will do a global - redirect. cocoon.redirectTo("url") will act as before. This enables - FOM to redirect when it is called from within cocoon: protocol - requests, aggregations, etc. - - - Moving check on number of specified targets within CocoonBean. This was - preventing the processURI(uri, outputStream) method from working. - - - CForms: Remove custom flow level forms validators. - - - Added the "tour" block: "Supersonic Tour of Apache Cocoon". - Tutorial/example app focused on the Power Trio: Pipelines, Flow, Forms. - - - XMLResourceBundleFactory was stopping when it encountered the first - bundle name that does not have a locale, missing those that might be - in one of the other locations. - - - Moved storage of all flow-related data (viewData, continuation, request, etc) from request - attributes to object model entries. This allows a view called by sendPage() to also use - flowscript (using request attributes caused the two calls to mix up their data). - - - Hopefully fixed the source resolving in JSP components finally by using - standard Cocoon/Avalon Excalibur source resolving. This allows to use all - known protocols and Cocoon pseudo protocols as long as the JSP file is - inside the servlet's context. - - - CForms: Change to generated instance xml <fi:form>. - Nested widgets are now grouped in <fi:widgets> and no longer in <fi:children>. - This aligns with other container-widgets. - - - LinkRewriter: Added support for rewriting URLs which are embedded into - the attribute values (example: style attribute with background image URL). - Such URLs can be extracted using RE expressions and re-written, leaving - rest of the attribute value intact. - - - Updated Velocity to 1.4 and iText to 1.02b - - - Added standalone build target "validate-sitemaps". - Added standalone build target "validate-stylesheets". - - - Updated Xindice to 1.1b4, xmldb-api to 20030701, xmldb-common to 20030701 - and xmldb-xupdate to 20040205 - - - Updated Jetty to 4.2.19 - - - CForms: <fi:styling type="date"/> is not needed (nor supported) - anymore, the required information about the datatype and the pattern is - now included in the widget instance XML. - - - CForms: it is now possible to store arbitrary data with each widget - instance by using the new setAttribute and getAttribute methods of the - Widget interface. - - - Groovy script generator support in BSF block - - - Renamed validate-set to constraint-set for consistency (the element name is also constraint-set). - - - Updated bsf to 2.3.0 - - - "Fixed" bug 15841 by raising an exception when something is tried to add - to elements before attributes. - - - Changed blocks selection handling to allow more intuitive - include.block.blockname syntax in (local.)blocks.properties. Old syntax - exclude.block.blockname is still supported. - - - Enabled use of nested sitemap variables, e.g. {request-param:{1}}. - - - Updated antlr to 2.7.3 - - - Deprecated Tokenizer and the methods count(), matchStrings(), - replaceTokens() and both split() in StringUtils. The functionality of all - this was replaced in favor of Apache commons-lang lib. They will be removed - in Cocoon 2.2 - - - Updated batik to 1.5.1, db-ojb to 1.0RC6 - - - Removed xmlform and jxforms blocks as confirmed by a users poll. - - - Removed precept block. Was dead code. - - - Updated jdtcore to 2.1.3, update castor-xml to 0.9.5.3 - - - DefaultIncludeCacheManager did not release xml-serializer under some circumstances. - - - DOMFactory can now create a document element. - - - Databases: The xml-encoding for the SQLTransformer is now configurable. - - - Build System: New property "loglevel" that can be used in the patch files. - - - Portal: Fix problems with minimizing/maximizing of portlets. - - - Portal: Fix problems with the portal block and using the CLI. - - - Portal: Add default PropertyManagerService implementation - - - Portal: Fix synchronization problem with JSR-168 portlets in IncludingHTMLSerializer. - - - Improvement for AbstractReader: Don't wrap an already buffered stream. - - - ForwardEnvironmentWrapper delegates isResponseModified/setResponseIsNotModified to wrapped environment. - - - CForms: Change the syntax for repeater row identity handling. - - - An internal redirect is now handled the same way as an external redirect would be handled. - This includes that the error handler of the called pipeline is invoked in case of an error. - - - Set the default encoding for the Portlet Environment. - - - Move XSP into an own block. - - - Licenses changed to ASF 2.0 in all source files which had a license, using - the ReplaceLicense tool from the committers CVS module. - - - Ant task (correctLinefeed) that corrects linefeed characters according to - our standard (LF). - - - Apples use the new CocoonForms classes - - - Petstore samples use the new CocoonForms names - - - New Ant task ("woody2CocoonForms-renaming") that updates namespaces, sitemap components and - flowscript functions (details see tools/target/upgrade-build.xml) - - - Renaming Woody to CocoonForms -
    -
  • The Woody block (src/blocks/woody) has moved into the new Cocoon Forms - block (src/blocks/forms).
  • -
  • new namespaces:
    -
      -
    • from xmlns:wd="http://apache.org/cocoon/woody/definition/1.0" - to xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"
    • -
    • from xmlns:wb="http://apache.org/cocoon/woody/binding/1.0" - to xmlns:fb="http://apache.org/cocoon/forms/1.0#binding"
    • -
    • from xmlns:wi="http://apache.org/cocoon/woody/instance/1.0" - to xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
    • -
    • from xmlns:wt="http://apache.org/cocoon/woody/template/1.0" - to xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
    • -
    -
  • -
  • Java packages moved from org.apache.cocoon.woody to org.apache.cocoon.forms
  • -
-
- - Updated Velocity engine to 1.4-rc1 - - - Fix namespace handling in FilterTransformer. - - - Added grayscaling and color transformation to the ImageReader. - - - LinkStatusGenerator now handles also links with a specified charset. - - - Avoid "CLOBs" when indexing XML without superfluous whitespace (Lucene). - - - Allow streaming of uploaded files into a pipeline using StreamGenerator. - - - Avoid accumulating of addresses and attachements in SendMailTransformer, - when sending multiple mails, i.e. multiple sendmail elements at once. - - - EncodeURLTransformer no longer creates a session. - - - Added additional property <column-case> to the SQLTransformer with - the possible values "preserve", "uppercase", and "lowercase". - - - Fixed path separator handling in cocoon.bat/.sh and Loader.java. - - - Fixed duplicate startDocument event in BetwixtTransformer. - - - Updated POI to 2.5-final-20040302 - - - Pass notification object to coplet error pipelines so it can react on it. - - - Updated xalan to 2.6.0 - - - CForms: Support for multiple unique-row-id in a repeater - - - CForms: Aggregate field supports both directions (split / combine), and arbitrary - types (not strings only). - - - CForms: Added String() function. Converts argument to string value. - - - Update Avalon Excalibur packages to released versions. - - - Updated joost to 20031219, qdox to 1.3 and quartz to 1.3.2 - - - Updated xerces to 2.6.2 - - - Make the current sitemap service manager available through the component context. - - - Moving portlet environment to portal block. - - - Adding basket coplet to the portal. - - - Patch for allowing empty values in configuration of defaults input module. - - - Patch for disposing components in the properties in xml file module. - - - Updated commons-httpclient to 2.0-final - - - Updated jdtcore to 2.1.2, and Ant to 1.6.1 - - - Patch for any elemens inside a coplet:content element and not just only text. - - - Adding SAX recording to AbstractSAXTransformer. - - - Remove non-FOM flow classes and system.js - -
- - - Updated iText to 1.02 - - - Woody block: every widget can now have a validator. This allows for example - repeaters to perform inter-row validation or overall form-level validation. - - - Woody block: added support for rich text editing using InteractiveTools' HTMLArea. - - - ResourceReader: Is now configurable as well. All parameters can be defined - during configuration of the reader. Fixed also a minor bug in the last-modified - detection. - - - OJB-Block: Added our own OJB ConnectionFactory which uses the - DataSources configured in cocoon.xconf - - - Updated POI to 2.0-final - - - Fixing memory leak in the cocoon protocol. - - - JSPReader: The output encoding of the reader is now configurable. - - - woody.js has been removed. Please use woody2.js instead. - - - Resurrected the Slide block and made it to work with current developement version - of Slide (2.0-b1). Complete revamping of the Slide sample admin app. - - - Allow the Authentication Framework to invoke a pipeline during logout - - - Updated commons-collections to version 3.0 - - - First version of the JSR-168 support in the portal engine. - - - Updated commons-httpclient to the version 2.0-RC3 - - - Renamed JspGenerator to JSPGenerator to match JSPEngine and JSPReader naming convention. - - - JSPEngineImpl incorrectly converts bytes to characters. - - - Woody expression manager supports registration of custom functions (see cocoon.xconf). - Added IsNull function. - - - Updated Jakarta ORO to the version 2.0.8. - - - Updated Lucene to 1.3 final. - - - Build fails on windows without cygwin. - - - Updated Ant to 1.6.0. - - - Remove dependencies to Xalan (from portal-fw, authentication-fw, session-fw and core) - - - Portal-Engine: Added some new samples (for inter-coplet communication, - cleaned up the sample, fixed some bugs and added some new components - for developing own coplets. - - - Changed semantics on the cforms binding. Added a @direction (which replaces - the @read-only) and a @lenient attribute on all binding implementations in - the pool. - - - Fix NPE error when pointed tag is empty in xsp-session-fw:getxml. Applying - patch from ltrillaud@jouve.fr (ltrillaud@jouve.fr). - - - ResourceExistsSelector now works the same way as ResourceExistsAction does. - It can now detect existence of any Cocoon resource, not only files in context. - Default value for prefix was changed from '/' to ''. For old behavior, use prefix - 'context://'. - - - Fixed and updated the stores and made them instrumentable to follow their size and - the number of hits and missed. - - - New PipelineUtil class that extends the features or cocoon.processPipelineTo() - to SAX and DOM outputs. - - - The "cocoon" object in flowscript has two new methods that allow Java classes - instanciated by a flowscript to access e.g. request, response and components - without requiring a dependency on the "FOM_Cocoon" class.
- cocoon.createObject(Class) creates an object and honors the various - Avalon lifecycle interfaces implemented by an object.
- cocoon.disposeObject(Object) disposes an object if needed. -
- - Reworked I18nTransformer implementation to use new version of XMLResourceBundle. - - - Reworked XMLResourceBundle implementation. Now it supports only XML bundles with - fixed syntax (same as for I18nTransformer dictionaries), and instead of XPath - keys uses message keys (which is faster). Returned resources now are instances of - ParamSaxBuffer class, and not DOM nodes. - - - Modified BundleFactory interface to return Bundle instead of Component. - - - Cocoon Forms (Woody) selection lists now allow empty value (which is - translated to the null object) - - - Deprecate MirrorRecorder. It will be removed starting with Cocoon 2.2 - - - In XMLDBTransformer, create operation now is able to create collections. - It will create collection if oid attribute value ends with '/', otherwise - it will work as before (creates XML resource) - - - Added optional collection attribute on <xmldb:query/> element of XMLDBTransformer. - This attribute specifies collection name, relative to the transformer's base - collection, which is used as base collection for current create/delete/update - operation - - - Remove deprecated XMLDB generators from the sitemap - - - Do not double decode URI in CocoonServlet - - - Resurrected the XMLDB samples including XIndice 1.1b1 in Cocoon. - - - I18n transformer does not support old configuration syntax anymore - (parameters catalogue-name, catalogue-location). Use <catalogues/> - element instead. - - - I18n transformer now works with translations containing elements with - attributes. - - - Update libs Xerces to 2.6.0 and xml-apis.jar. - - - Woody: new double-list styling for MultivalueField. - - - New MountTableMatcher to define "mount tables" that allow external - directories to be mounted in a sitemap without requiring to modify the - sitemap. It's use has been included in the samples sitemap, thus allowing - mounts that surivive a "build clean webapp". - - - Woody: added rendering of <wd:help> popup panel on a "?" icon. - - - Woody: new upload widget. This required some modification on multipart.Part - objects that can now survice the end of processing of the current request. - - - Updated Entity Resolver from pre-release to official - xml-commons-resolver-1.1 release. - - - NetUtils deparameterize() and parameterize() extended to support - multivalue parameters. Multivalue parameters are returned as String - arrays. - - - Add cocoon.sendStatus([Number] sc) and cocoon.response.setStatus([Number] sc) - to FOM. - - - Updated Jetty to 4.2.14 - - - Disable accessing files outside the context via the context protocol. - -
- - - Complete overhaul of the Petstore sample. Adding Woody form processing - Flow, and dealing with persistent data. Implementation of missing or - unfinished parts. See the the bug report and its attached notes. - - - The CachingPointProcessingPipeline now uses Parameters instead of - an own configuration scheme. See the demo sitemap for the changed configuration. - - - XMLByteStreamCompiler now handles also text nodes longer than 32 k. - - - Reducing - setDocumentLocator calls in JXTemplateGenerator and JXFormsGenerator. - - - sitemap-viewer added to the scratchpad samples - - - Fix HSSFSerializer Bug: Same cell definitions blows document. Applying - patch from Grigorios Merenidis (Grigorios.Merenidis@Dresdner-Bank.com). - - - SQLTransformer: Correcting handling of XML data with XML declarations. - - - Fixing threading problems in the ExtendedComponentSelector. - - - Fixing namespace handling in the send-mail transformer. - - - Fixing precompilation of the XSPs for the CLI. - - - Woody: in the form definition, for widgets that have child widgets, those - child widgets should now be embedded inside a wd:widgets element. - Practical update information can be found - - in the wiki. - - - Updated Xalan to 2.5.2 - - - Woody: did some cleanup of the FormHandler interface: moved it to the event subpackage, - made it handle all types of WidgetEvents (there's an AbstractFormHandler which splits - ActionEvents from ValueChangedEvents). Removed the deprecated RepeaterHandler class, - and the unused CarSelectorHandler class. - - - Serializers now can optionally implement the SitemapModelComponent interface, meaning then can - be given a "src" attribute and parameters using <map:parameter>. - - - Sitemap components (matchers, actions, generators, etc) can know the location of their use in the - sitemap unsing a special parameter named Constants.SITEMAP_PARAMETERS_LOCATION. - - - Closing some memory leaks in the source and component handling. - - - Cocoon Protocol: Fixed a bug that broke the environment handling in some cases for internal pipeline calls. (This should also fix bug #15843). - - - HTMLGenerator: fixed NullPointerException in case the "HTML" file contained an XML declaration. - - - Fixed ResolverImplTestCase so that the "test" build target does not fail (it still depends on the - deprecated block, though). - - - Woody: fixed a bug causing an endless loop during validation of a field if - during the validation of the field the value of the field itself was again - requested. - - - Patched SQLTransformer to use only one connection. - - - Patch to XMLDBTransformer to generate a key on create if it is not provided - - - New JavaScriptBinding for Woody, which allows writing specific binding strategies - with two JavaScript snippets (one for load, one for save). - - - TraversableGenerators can now be used with plain resources too (not only - collections). XPathTraversableGenerator has been revamped - in the XML recognition pattern (using mime type mapping too). - While at it, a bug regarding non-existent sources has been - fixed. - - - Update lib excalibur-i18n to 1.1, update iText to 1.01 - - - Add initial support for IE in linotype. - - - Woody block: New integer Datatype. - - - SimpleFormTransformer: multiple values not repeatedly inserted anymore, - value is consumed instead. Add repeater tag. Make transformer inherit from - AbstractSAXTransformer. Update examples to show basic repeat tag usage. - - - - - Fix default namespace handling in Xscript variables. - - - OJB block: Object Relational mapping tool integration. - - - Slop block: New YAPT sample, lightweight presentation tool. - - - Fixing release of Source in the JXTemplateGenerator. - - - Update lib commons-lang to 2.0, iText to 1.00 - - - New event-handling system for Woody. Value change and action event handlers - can be attached respectively to field and action widgets, and event handlers - can be both Java classes or JavaScript snippets in the form definition. -
- New <wd:repeater-action> widget to automatically handle rows addition and - deletion on repeaters (a very common need). -
- New <wd:submit> widget to distinguish between actions (act on the form and - redisplay it) and submits that terminate the form. -
- Ability to trigger form submit on any widget value change (including inputs, - popups, etc) to trigger server-side event handlers through client-side interaction. -
- Rewriting of the Woody/FlowScript integration to be more simple. -
- - Update libs Xerces to 2.5.0 and Ant to 1.5.4 - - - Fixed internationalization support for HSSFSerializer by setting also the - output encoding in the Workbook to UTF-16. - - - Fixed issues the cron block had when cocoon (or the servlet container ?) - allows reloads. - - - Removed deprecated XPathProcessor and implementations. These classes where - moved into the Excalibur XMLUtil package. Removed Jaxen libraries used by - JaxenProcessorImpl. - - - Replaced the deprecated LogkitManager stuff with its LoggerManager - counterpart. This is Cocoon internal and should not affect components as - long as you don't use LogKitManageable interface. - - - Woody binding framework: fixed a problem with the deletion of rows by the - repeater binding, whereby not all deleted rows where removed from the - bean or XML model. - - - Errors handled by map:handle-errors are now logged to the logcategory - "sitemap.handled-errors". Previously they weren't logged. - -
- - - Moved scratchpad into an own block. This allows that code in the - scratchpad can depend on other blocks. The scratchpad can now also - have own configurations. - - - Extended the build system. If one block depends on the other it - can now also use the libraries of the other block. This avoids - moving the libs to the lib/optional directory. - - - cron block added - - - Updated Jakarta Regexp library to the version 1.3 - - - Applying patch for adding new session-fw logicsheet that allows access to a session context from with xsp. - - - Fixed a StackOverflowError in errors2html.xslt that could occur with error - pages containing very long stack traces. - - - Woody: renamed the button widget to action widget. If you were using this - widget, you will need to update your form definition files. - - - Adding new RequestDataStore component that can be used as a replacement - for the component marker interfaces RequestLifeCycleComponent and - GlobalRequestLifeCycleComponent obsolete. - - - Changed logkit attribute of <logging in cli.xconf to be relative to context dir, - rather than CLI invocation dir. - - - Added include/exclude feature to CLI to allow fine-tuning of crawling of a site. - - - Upgraded excalibur-event package so that Tomcat shutdown and continuations - cleanup now works properly. - - - Add a session-context input module to the session framework to retrieve - information from a session context in the sitemap. - - - Applying patch for processing http.nonProxyHosts in WebServiceProxyGenerator. - - - POI block: fixed formula support. If no ValueType attribute is set on - <gmr:Cell/>, the cell content will be interpreted as formula. - - - Applying patch for using 'host' in the logging patterns. - - - Lucene block: LuceneIndexTransformer configuration fixed. - - - Applying patch from Renaud Bruyeron (bruyeron@fullsix.com) that fixes - the prematurely closing of the connection causing in the SQL Transformer. - - - Midi block: added transposition and inversion stylesheets and samples. - - - Rewrite handling of internal-redirects (i.e. redirects to "cocoon:" URLs). Previously, internal redirects - where not handled for internal requests (i.e. sitemap source). This bug prevented among other cases the use - of flow-driven pages enclosed in an aggregation. - - - The jars in /lib/local are used during compilation again. - - - Update the I18nTransformer so that it also accepts the 2.0 namespace. This ensures backwards compatibility - for 2.0 applications. Additionally, attributes on "i18n:" elements can now be in the default namespace (meaning - we can now write <i8n:text key="foo"> instead of <i18n:text i18n:key="foo">) - - - Fix in the SVG serializer: if setDocumentLocator wasn't called on the - serializer (which can happen if you have e.g. an XSLT transformer in the - pipeline), then the base URI for the SVG document wasn't set which could - cause exceptions. Now it is set to http://localhost/ in such cases. Also - fixed a problem with the document locator not being reset between - subsequent retrievals of the serializer from the pool. - - - Fix Jisp based persistent store: close database files on Cocoon shutdown and - re-use existing database and index files on startup. - - - Views are now always loaded before resources, ensuring proper call of views from resources. - Redeclaring a component (e.g. file generator) with no "label" attribute was wrongly inheriting - view labels from the same component in the parent sitemap. - - - - - Midi block refactoring applied. - - - Patch for allowing to specify a cocoon-view for internal requests in the query string. - - - Instrumentation support: Updated client libraries to make instrumentation work again. - Added a target "start-instrumentation-client" to Cocoon's ant files and removed "runclient" shell scripts. - - - XMLDBTransformer: retrieving auto-generated resource id. - - - midi block added - - - slop block added (Simple Line Oriented Parser) - - - LDAPTransformer now handles multiple attribute values. - The filter element is also configurable via a sitemap parameter. - - - LDAPTransformer: Added attribute modification methods: add, replace, modify, append. - - - IMPORTANT: Flow: cleaned up the situation with regards to the "uri" argument to the - sendPage, sendPageAndWait, and processPipelineTo functions. URI's starting - with a slash are resolved against the root sitemap, URI's not starting with - a slash are resolved against the current sitemap. Specifying a scheme is not - allowed. - - - I18nTransformer: if content of i18n:text is empty and translation is not - found, use untranslated-text. - - - ESQL: explicitly release database resources. - - - Paginator now caches dynamic pagesheet correctly. - - - Configuration logkit.xconf can now be read from any location. - - - Fix the ignoreErrors handling in the cinclude transformer. - - - - - Updated FOP to the latest released version, 0.20.5. - - - Added delete capabilities to the SourceWritingTransformer. - - - Add a defaultContentType parameter to StreamGenerator, to comply - with misbehaving clients. - - - Add a new set of WebDAV samples, with the capability of serving - WebDAV content straight from Cocoon. - - - Various fixes and enhancements to Lucene search. Propagate the lucene:* - elements to the result tree and add "elapsed-time" attribute, so now - possible to transform the results into a useful report about indexing. - Fix "incremental" indexing. - - - Added CLOB support in SQLTransformer. - - - Added an (unstable) HTMLTransformer to the html block, to parse and - tidy an XML containing escaped (and possibly incorrect) HTML - - - Added URL encoding of user/password in the WebDAV source - (webdav://user:password@host/path) - - - 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. - - - The authentication framework now uses a configurable component to try to authenticate a user. - This allows to drop in own authentication services or e.g. the servlet authentication mechanism. - - - Made JSPs working in Resin that don't end on *.jsp. - - - All Reader accessing Avalon components now extend the ServiceableReader - instead of deprecated ComposerReader. It pertains the JSPReader, the - DatabaseReader and the AxisRPCReader. - - - Added a WebDAV block, with an initial implementation of - a modifiable and traversable WebDAV source. - - - Added a DirectoryGenerator implementation on scratchpad - working on any Traversable Source. - - - Adding global request lifecycle component. - - - The cache used by the caching processing pipeline is now configurable - allowing to use different caches in different pipelines. - - - The cache uses now a configured store. This allows to use differently - configured caches at the same time. - - - Reverted the encoding changes in the JSP engine. The fix should be done in - the JSPReader, that already contains a TODO. - - - Web3: The stylesheets in the examples use Xalan as transformer and work correctly now - as XSLTC has problems with the 'rfc' namespace. - - - Changed namespace for Web3RfcTransformer to 'http://apache.org/cocoon/Web3-Rfc/1.0'. - - - ParanoidCocoonServlet can optionally configured with a file containing the classpath. - - - Configuration cocoon.xconf can now be read from any location. - - - Flow view can now be in "internal-only" pipelines. - - - Updated FOP to 0.20.5rc3a. - - - Moved WebServiceProxyGenerator + some samples into the proxy block. - - - Updated common-httpclient from CVS checkout of 2003-02-10 to 2.0 beta 2. - This hopefully fixes also the bug. Moved it into core because of dependencies. - - - Refactored the WebServiceProxyGenerator: "host parameter is null" fixed, replaced deprecated - stuff, removed all work arounds (hopefully no longer needed), removed the buggy "<?xml" test, - replaced getResponseBodyAsString() with getResponseBody() (but encoding issue is still not fixed). - - - Applied patch for implementing exists for the xmldb source. - - - - - Refactored the XPathDirectoryGenerator: provides all the functionality of DirectoryGenerator now, - parameter xpath added replacing the xpointer-ish syntax, additional parameter xmlFiles for specifying - a pattern for XML files, removed docid attribute on dir:xpath + some minor fixes. - - - Added merged region support to HSSF (= Excel) Serializer. - - - Updated POI from 1.7.0-dev to 1.10.0-dev. Patched code accordingly. Fixed usage of deprecated methods. - - - Web3: Fix extra close element on connectivity loss. - - - SimpleFormTransformer: Make complete form protectable, ability to use more - than one transformation with different fixed attributes, optionally let - error elements pass, configure prefix, suffix, separator at configuration - time, add optional use of form name, formating. - - - Added feature to allow a database action (i.e. delete) not to fail if no - row was affected. Formating. Use toString() to convert to String rather - than cast. - - - Added SimpleSelector that operates just on Strings. Useful in conjunction - with a sitemap variable or input module. - - - Fixed SchematronValidator.evalRule() in xmlforms block: create a relative context instead of an absolute one. - This allows to refer to another form field by using relative paths (../password) instead of choosing a common root. - - - Fixed return of different DirValidity objects on multiple calls on getValidity() in the DirectoryGenerator. - - - The DTDs are now completely handled by the catalog entity resolver. - The old copies of DTDs at xdocs/dtd/ have been removed. If you are - editing the Cocoon xdocs with an xml editor, then point it to the - WEB-INF/entities/catalog or catalog.xcat file. If your editor cannot - utilise an entity resolver, then get a better editor. - - - Added support for permanent redirects in <map:redirect-to> - - - Fixed some caching (added missing parameters and changed algorithm for cache key generation) - and logging issues in the DirectoryGenerator. Fixed the root pattern handling (if not matching - directory found leave out the ancestors). Fixed empty src attribute handling. - - - Upgraded to new Axis 1.1 release - - - Adding concept of parent-aware components, making e.g. the usage of - selectors with a component manager hierarchy much easier. - - - Added/fixed internationalization support for HSSFSerializer by setting the output encoding - hardcoded to UTF-16. It is obviously only a hack, but so it is at least usable for more people. - - - Fixed usage of removed method XSPUtil.include() in ESQL logicsheet <esql:get-xml/> - - - Fixed NPE in SQLTransformer.serializeData() - - - Added cHTML/iMode "Hello World!" sample (provided by Arje Cahn) - - - Upgraded Xalan (includes XSLTC) from a CVS snapshot (20030506) to version 2.5.1. - - - Updated ParanoidCocoonServlet, which is now an easy solution to the - well-known endorsed library problem (incompatible version of Xalan in - Cocoon and in JDK 1.4+). - - - 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). - - - The deprecated source implementations are now wrapped by proxies. - Modified patch from Jens Lorenz (jens.lorenz@interface-business.de) - - - For non-existent files XSPUtil.relativeFilename() now throws FileNotFoundException instead of NPE. - - - Getter for jxcontext_ property added for subclassing reasons. - - - Fixing incorrect caching behaviour when internal pipelines are used. - - - Command-line will no longer add a 'null' suffix to files with an unknown MIME type. - - - The object model and the components stored in the object model are now available - via the component context. - - - Logicsheets: - Changed scope of and renamed temporary 'soap:call' XScript variable in <soap:call>. - Fixed compilation problem with <xscript-get as="object"> expression. - - - I18nTransformer: support a currency attribute on i18n:number. This allows - to take the currency symbol and formatting from one locale and the decimal - and grouping separation symbols from another locale. - - - Fixed synchronisation problem in I18nTransformer when retrieving catalogues. - - - Improved XPointer support in the XIncludeTransformer. Meanwhile improved the way xml:base - attributes are handled, added support for the xi:fallback element, do XInclude processing - on included content, and added XInclude samples. - - - Dispose the parent Component Manager if it implements Disposable. Happens when the - Cocoon servlet shuts down or when Cocoon is reloaded. - - - - - Changed namespace for the RequestGenerator to 'http://apache.org/cocoon/request/2.0'. - - - Changed namespace for XMLForm components to 'http://apache.org/cocoon/xmlform/1.0'. - - - Extended the ExtendedXLinkPipe to be more extensible. Prepared is html and p3p. - - - Patch velocity generator, so that the scope of objects can be specified (request, session, sitemap). - - - Fixed namespace handling in XMLDBSource. - - - Added XHTML 1.1 DTD to the entity catalog. Added XHTML 1.1 serializer into the sitemap. - Explained different XHTML 1.0 serializer options. - - - Enable the LDAPTransformer to obtain attribute values from LDAP using various encoding - schemes for stored values. - - - Cleaned up MIMEUtils. - - - The DirectoryGenerator is now cacheable. A new "refreshDelay" parameter defines the delay between two checks - on the filesystem for modified files. - - - Added STX block. (alternative to XSLT) - - - Throw InvalidContinuationException when flow continuation is not found or not valid, - instead of forwarding to hard-coded 'invalidContinuation' page. - - - Fixing NPE in JspEngineImpl. - - - Obtain handler and application name from parameters for internal requests if - handler could not be resolved from the request object. - - - Delaying getting of the output stream from the http response until it is really needed. - - - Adding new portal framework. - - - Updated Xalan to a CVS snapshot (2003-05-06), fixes bug with incorrect - namespaces in endElement SAX events. - - - QDox block added, parses Java source code and javadoc tags, includes samples. - - - Fixing the problem with eating spaces in custom transformers. - - - Hello World sample added for the SWF block (although page2swf.xsl contains incomplete font definition). - - - Redesign/modularizing the authentication and session framework. - - - Added 304 support to cacheable pipelines - - - DTD comment events are now dropped after parsing by default. - - - 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). - - - Disabled incremental-processing of Xalan by default. - - - standalone-demo build target added - - - cacheable.xsp sample reworked, did not work in M1 - - - new FOP serializer samples, accessible from the "blocks with samples" page - - - Fixed NPE if ESQL does not get a connection - - - Fixed SQL injection vulnerability of DatabaseAuthenticatorAction - - - ESQL "Auto" support for sybase ASE. New database detection method. - - - Removing dependency from the Cocoon core to JTidy. - - - Sync XML:DB source with 2.0 branch: Conect to the XML:DB once, from the - XMLDBSourceFactory. - - - - - TextSerializer now can handle absence of root element in the incoming XML. - - - 'handle-errors' sections in the sitemap now do not have an implicit - generator: any generator can now be used, whereas previously it was - implied and produced an XML representation of the error). -
- To ensure backwards compatibility, 'handle-errors' sections can have a - 'type' attribute to continue the implicit-generator behaviour, but are - now to be considered as deprecated. -
- A new ExceptionSelector is also available to drive the error-handling - pipeline constuction depending on the error type. -
- - EsqlConnection no longer implements java.sql.Connection. - No jvm dependency any more. - - - Refactored SitemapConfigurable. A sitemap configurable component can - now be ThreadSafe and has access to the sitemap configuration at any time - through a SitemapConfigurationHolder. - - - Correcting method names of new CacheableProcessingComponent interface. - It is now possible to write components that support the 2.0.x and the - 2.1.x caching algorithm. - - - Setting minimum JDK version from 1.2 to 1.3. - - - Updating to the latest official Avalon and Excalibur releases. - - - Enhancements to the CLI to reduce the number of times it - needs to render a page. Using the option to prevent checking of extensions, it - is now possible to generate a site generating each page only once. - - Allow the configuration of the CLI using - an xconf file. - - Switch cli to using the Jakarta Commons CLI package. - - - Added support for the LogFactor5 graphical log event browser. - - - XMLFileModule: rename 'cachable' to 'cacheable' in configation. - - - FOP serializer's <user-config> relative path now resolves relative - to sitemap's directory. All Cocoon URIs are supported too. - - - The CVS repository for Cocoon 2.1 is now called "cocoon-2.1" (no branches, just HEAD). - - - Added support for Pervasive db to ESQL. - - - Changed category for Log logicsheets. - - - Extended the HTMLGenerator so that it can handle HTML snippets - provided as request parameter or as POST data, passing them through - Tidy to ensure well-formedness. - - - New caching cinclude transformer. The cinclude transformer can now cache - the aggregated content for a distinct period of time. In addition it can - fetch the content in parallel or pre-emptive. - - - The repository for Cocoon 2.1 is now called "cocoon-2-historical" (the old - "xml-cocoon2" repository is deprecated). - - - The "javadocs" build target now links offline to the appropriate JavaDOC - repositiories available on the web. - - - Added proxy generator block for remote HTTP-base generation of XML - (will deprecate the WSProxyGenerator). - - - Added subrequest processing via the sitemap to the Cocoon flow. - - - Moved the asciiart stuff from the scratchpad into a block. - - - Moved the SendmailAction and the mail-related stuff from the scratchpad - into the mail block. - - - Removed the MaybeUploadRequestFactory since we have our own and the less - dependencies the better - - - Moving core properties of the build system into a separate properties file. - - - The "expires" pipeline parameter is honored even by the internal Cocoon - cache, i.e. the caching algorithms are overridden if an expires - parameter is present and still fresh. - - - Set "Last-Modified" header - - - Fixed the ResourceExistAction to return null instead of EMPTYMAP on - not existing resources. - - - Refactored the build system. - - - Put the exceptions into esql namespace so the variable named "e" is still - available in XSP. - - - Now i18n transformer has support for multiple catalogues and can now use - "input modules" in catalogue name and catalogue location. Fixed bug with - getting content for the translation key in certain circumstances. Fixed - bug with accidental removal of translation text in certain circumstances. - - - Optional 'global' parameter on map:redirect-to when giving a URI. - - - Make getParentComponentManager in CocoonServlet protected so alternate methods to getting the - parent CM can be used. - - - Optional "depth" attribute on the cocoon log format to control how deep to go in stacktrace - reporting. - - - Do not specify a default to the "class-loader" parameter in JavaLanguage - - - 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 - - - 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. - - - Use Environment.tryResetResponse() instead of HttpServletResponse.reset() in CocoonServlet - to avoid IllegalStateException if response was already committed. - - - Add support for Collection objects to the CastorTransformer. - Upgrade to the SAX2 API, improve logging, and use SourceResolver to load mappings. - - - Refactor Main class into two classes, Main and CocoonBean. CocoonBean provides simple - programmatic interface to the Cocoon. - - - Add image dimensions to the ImageReader's cache key. - - - modular.DatabaseActions: added ability to store FileParts from uploads to - "ascii", "clob", "blob", and "binary" columns. Added getSize() method to FilePart. - - - SAP R/3 connectivity components added. - - - Moved block samples to own category, modified build system to merge - .xsample files to block-samples.xml. - - - Renaming components section for pipeline implementations to "pipes" and "pipe". - - - Updated to latest versions of excalibur sourceresolve and xmlutil. - - - Patch IOUtils to recognize '..' in Path - - - The "mime-type" attribute on <map:read> and <map:serialize> is now - expanded if it contains sitemap variables. - - - InputModule to access XMLForm instances. - - - (modular) DatabaseAction: added ability to use arbitrary path separators - instead of "." (e.g. "/"), added ability to count rows from 1, added - documentation. - - - Created additional isolation level for some OutputModules. - - - Added LinkRewriterTransformer. - - - Added support for expiring continuations. - - - Fixed the way complex Java objects are passed from the control - flow to the XSP view layer. - - - Added ant-contrib library with some optional ant tasks and started cleaning - up the build system. - - - ZipArchiveSerializer now accepts inline content for entries of the zip archive - and not only source URLs. - - - ImageReader extends now ResourceReader and therefor the - "expire-time" parameter is now "expires". Also removed the - setting of the byte range header for on-the-fly images. - (did not support it anyway) - - - Moved the byte range support from the ByteRangeReader in scratchpad - into the ResourceReader. Added the optional parameters "buffer-size" - and "byte-range". Byte range support is enable by default. - - - Move the image inspection into a ImageUtils class - - - Major cleanup of the ImageDirectoryGenerator, removed the RuntimeExceptions, - added support for the JPEG comment marker - - - Added reader user documentation section, including readers documentation; - added BrowserSelector, and HostSelector documentation, plus template-selector - usable as template for writing more selector docs; - added WildcardURIMatcher, and WildcardHeaderMatcher, plus template-matcher - usable as template for writing more matcher docs. - - - Fixed the esql:more-results tag for non-JDBC limit methods - - - Moved all classes marked @deprecated to the src/deprecated directory. - Since Many classes are still a dependency for the core, while this is fixed - the build process still copies them with the core during compilation. - To compile with the deprecation separation, do "build -Ddeprecate=true". - - - Moved code to new blocks: profiler, velocity. - - - Update XML Serializer, HTML Serializer , and Text Serializer documentation, - added XHTML Serializer documentation in the serializer user documentation section. - - - Update SVG Serializer, SVG JPEG, and SVG PNG documentation, added - SVG TIFF documentation in the serializer user documentation section. - - - XMLFileModule checks result of SitemapSource.getValidity() as it may return null - - - Integrated the validation targets into the build ("validate-config" and - "validate-xdocs") also still available at the command-line. Validation - happens automatically unless you switch it off. See document - XML Validation Facilities. - - - Postgresql 7.3: LIMIT x,y no longer supported. Added new class for - postgresql-old limit method that still uses LIMIT x,y while postgresql - uses the LIMIT x OFFSET y syntax which has been used by postgresql for - some time now. - - - Created .src/deprecated directory to contain all deprecated classes. - This will help in maintaining Cocoon free from deprecated classes. - Started by moving some deprecated caching stuff. - - - Moved code to new blocks: html, php, lucene, bsf - - - Now module.xml is named project.info.xml - - - Extension to sendmail.xsp: lists for sendmail:cc - - - Added container/form-encoding init-params to web.xml - - - Fixing various inefficient logging calls. - - - Make all "meta" modules ThreadSafe - - - Perform correct source resolution in XMLResourceBundle. - Now i18n transformer can obtain dictionaries using any supported source (e.g. 'cocoon:/'). - - - Added Greek translation, thanks to Stavros Kounis (gounis.at.osmosis.gr). - Corrected Armenian translation to be real Unicode and be - readable without additional plug-ins (on Win). - - - Updated the XML:DB Source. Now it will accept, in cocoon.xconf, - optional authentication attributes, called "user" and "password". - - - New transformer extracts fragments to documents and stores them using an - OutputModule. Tags that start fragment are configurable. - - - New output module puts everything in a map in a request attribute. - - - 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. - - - XMLMetaModule returns DocumentWrapper instead of String. - - - Wrapper for org.w3c.dom.Document that implements XMLizable and provides - a useful toString() method. - - - SimpleMappingMetaModule: added feature to remove a prefix / suffix. - - - "meta" input modules: configuring a different module locally did not - override the default one in all circumstances. - - - input.xml: renaming mixed up called template names from logicsheet-util.xsl - - - SimpleFormTransfomer: fixed error tags when no validation data available. - - - Moved the sample classes and confs to the samples block. - - - Cleaned up the esql logicsheet and helper classes. - Created classes for db specific stuff. - Improved the limit/paging features. - - - Moved the jsp components to the jsp block, using hand-made-to-be-cleaned - mock objects for the weblogic specific imports. - Had also to move some definitions from the cocoon roles and xconf file. - This moving of the blocks is indeed cleaning the core! :-) - - - Updated block build system to compile and use mock objects in - the "mocks" subdir of the blocks if present. - - - New InputModule to access contents of - an XMLFile using JXPath, based on patch from Jeff Turner (jefft.at.apache.org). - - - Moved endorsed libs in ./lib/endorsed, so that they can be added in the build file - easily as java jvm args, or in the future copied to the webserver or Java endorsed dir. - Currently it enables Jetty to run easily in 1.4 JVMs without need to copy libs to - the endorsed dir. - - - Added jetty webserver for fast and easy Cocoon test and evaluation. - To run launch "build run" and point the browser to http://localhost:8888/ - Since it seems there is a bug somewhere, ATM point to - http://localhost:8888/documentation/index.html to see the page. - - - Removed ./tools/build-i.xml and moved the interactive targets in main build. - Removed ./tools/build-s.xml and removed all references to scratchpad builds (not used). - - - Removed JTidyTask that was not used and switched to using the Ant input task from UserInputTask. - - - Added useexternalfile="yes" attribute makes Ant collect all package names in a temporary - file and give that to Javadoc, thus going round the Wintel long command truncation issue. - - - Moved LDAPTransformer to a block called "naming". - - - New build target "validate-schematron" to conduct build-time validation - (currently only the sitemaps) using RELAX NG grammars with embedded - Schematron rules. - This uses Schematron - stylesheets from Rick Jelliffe and Academia Sinica Computing Center, Taiwan. - - - Enhanced the RELAX NG grammar for sitemap.xmap files and added embedded - Schematron rules. - - - Fix setOutputStream throwing IOExeption in XMLSerializer, and TextSerializer. - - - Make the CLI report errors correctly to the screen when a page generation fails. - - - Moved POI to a block. Applied patch without moving the core elementprocessor - classes in the block. - - - When a part of a pipeline aggregation fails, cocoon will no more silently return - without reporting an error. - Now, upon request of an erroneous page, the result is that I can see all parts, that have been processed so - far on the screen and I see the error infos positioned at the bottom of the page. - - - Added 'query' sitemap parameter to SearchTransformer. Added configuration parameters to - SimpleLuceneXMLIndexerImpl for choosing the content-view and which tags you want stored - as fields by the indexer. Added field storage implementation to LuceneIndexContentHandler. - - - New build target "validate-xdocs" to conduct build-time validation of core - xml documentation (call it manually with: - ./build.sh validate-xdocs). - - - Added SystemPropertyModule input module to enable environment variables - in sitemap attributes. E.g.: - <map:transform src="{system-property:user.home}/style.xsl"> - - - Added resource bundle component interfaces to allow different - implementations to be used for i18n. - - - Extended implementation of i18n transformer to allow markup in translations, - inline translations (conditional processing) and named parameters. - Now i18n transformer is cachable, this will affect on dynamic markup, - e.g. i18n:date-time. - - WARN: The namespace of i18n markup is changed to "http://apache.org/cocoon/i18n/2.1". - i18n samples are updated to demonstrate the new features. - - - XMLForm Howto to reflect the fact that there is no - need for manual handling of unchecked check-boxes. - - - Updated Xalan to 2.4.1 - - - Renamed the AbstractMethodAction into AbstractMultiAction and - moved it from scratchpad into the maintrunk. Using it helps - reducing the amount of custom actions for a webapp. - - - Added RELAX NG grammar for sitemap.xmap files and removed old draft sitemap - DTD. - - - Started moving database related stuff (actions, transformers, readers) as well as HSQLDB to a new blocks. - Samples have not yet moved to new block, datasource declaration has. - - - Updated the draft DTD for sitemap. - - - Added a draft W3C XML Schema for sitemap. - - - Removed deprecated notification classes in org.apache.cocoon.* and in - org.apache.cocoon.sitemap.* and the deprecated methods in - org.apache.cocoon.components.notification.Notifier. - - - Added support for sitemap variable anchors {#name:variable}. - This introduces a new "name" attribute for matchers and actions - - - Added support for direct access of root level sitemap variables {/1} - - - New pipeline hint attribute to allow pipeline components (i.e. map:generate, map:transform - and map:serialize) to hold some pipeline-specific parameters. The first usage of this feature - is to drive manual cache points for the CachingPointProcessingPipeline. - - - Removed all references to Loggable in favor of LogEnabled (this includes - references to common abstract classes as AbstractLoggable and - AbstractDualLogEnabled) - - - Added support for using Avalon components as Axis service objects - with the AxisRPCReader. - - - Enhancing cinclude transformer with configuration possiblities, lie - POST requests and flexible parameter handling. - - - Enabled the RTF serializer and SWF serializer as block. - - - Enabled the chaperon text parser as block. - - - Added initial support for compilation of Cocoon blocks, and migrated - Fop and Batik classes and configuration to the src/blocks dir. - Blocks that need Avalon components not yet supported. - - - Added support for Avalon Excalibur instrumentation. - - - Added CascadingIOException to wrap other exceptions when an IOException is thrown. - - - Added configurable buffering of the output. This removes all the problems - with error handler and already committed responses etc. A new pipeline - parameter "outputBufferSize" controlls the behaviour. - - - Added AxisRPCReader to scratchpad. This reader essentially allows you - to serve SOAP requests from your Cocoon application. Sample webapp with - status page is also included. - - - Updated Jakarta Commons HTTP client jar. Fixes problems with SOAP XSP - taglib. - - - Added new ComposerReader class with various Reader refactorings. - - - Don't explicitly redirect to the cocoon:/ pipeline in - AbstractInterpreter.forwardTo(), do it instead in - system.js. - - - Fixed code generation problem in the jpath.xsl. Patch from. - - - New user login and preferences sample to show the control flow - layer. - - - The control flow layer can now save the global JavaScript scope in - the servlet session object. This allows the value of global - variables to be saved between different top-level function - invocations. - - - Profiler components extended to store intermediate SAX - fragments, and also the some informations about the - environment, thanks to Bruno Dumon. - - - Made Commandline Cocoon (Main.java) verbose output (-V option) - less cluttered and grouped the log and output methods. - - - Commandline Cocoon (Main.java) now doesn't stop anymore on broken links, - but inserts an error page instead and correctly notifies it in the - broken links file if requested. - - - Add the methods 'copy', 'move' and 'delete' to the WriteableSource - interface. - - - Added the Chaperon components, examples and docs into the main tree. - - - Replaced implementation from Loggable by LogEnabled to use - the Avalon Logger instead of the LogKit Logger. - - - Moved the SWF generator and serializer from the scratchpad into the main trunk. - Added a hello-world sample for SWF - - - Added a new PDF serializer. iText seems to be good and fast alternative with many features - iText also provides support for RTF and HTML - - - Updated xerces, xalan, xml-apis jars to their latest CVS versions. Especially due to some xerces bugs in the 2.0 release - - - Made docs target use logging to file via the logkit.xconf and added informative System.out messages for the - commandline cocoon (Main.java). - - - Allow parent component manager to be LogEnabled. - - - Extended pipeline handling for CachingPoint caching algorithm. - - - New samples for HSSF Serializer. - - - This adds get-bigdecimal to ESQL (see java.math.BigDecimal for details as to why - you need BigDecimals). - - - The SQL Transformer does those nastly looking exponents for large values. By - calling "getBigDecimal()" instead of getObject we can call an overridden - toString and avoid those nasty things. - - - Python language support for the XSP pages. - - - Python programming language using jython interpreter. - - - New SwitchSelector that uses a common context object for all map:when tests. - - - Fixed the use of roles in TraxTransformer which was incorrect. Now it sets - the factory explicitly in the XSLTProcessor component without using - any special avalon component management capacity. - - - Uniformed the configurations used by the Avalon XSLTProcessor component - and the TraxTransformer to specify the TransformationFactory to use. - - - Applied patch to add javascript support for the mozilla browser for transforming xml - to html. - - - - The OASIS Catalog and the entities (DTDs, entity sets, etc.) have moved - to WEB-INF/entities and the CatalogManager.properties file has moved to - WEB-INF/classes - - - New Cocoon Generator. Allows Embedding One Web Site in Another. - WebServiceProxyGenerator Demo. - - - XMLForm framework. Allows client independent form handling. - - - Added "userhomes" in the webapp, that automounts the sitemaps - found in *nix user homes. - To remove it, just delete the dir. - - - Added support for actions and In-/OutputModules to the JavaScript - Flow. Caveat: Modifications of the Redirector object are ignored. - - - Support for writing xLOBs to database through modular.DatabaseActions. Does - not include a required InputModule that returns a JDBCxlobHelper to be - passed to the action. - - - New DatabaseAction: DatabaseQueryAction. It works like the other modular - DatabaseActions but does not auto-generate the query. The query has to be - provided conforming to PreparedStatement syntax. Unlike the name might - suggest, it can be a select, update, or delete query. - - - Updated SourceWritingTransformer. Changed the tag set so that source:write and source:insert each share the same way of taking parameters. - Added results from source:insert tag like source:write. - Changed the implementation of the source:write tag so it now buffers to DOM Fragment like source:insert. - Added new tests, updated slash-edit to use new tags. - - - Removed (long time deprecated) matcher and selector factories. Use - appropriate matchers and selectors instead. - - - Updated the profiler code, removed the need of SAXConnectors. - - - Encourage people to help with the refactoring of Cocoon samples. - Provide a - refactoring guidelines document. - - - Moved the old sample for Catalog Entity Resolver in to the new - webapp/samples structure. Added new sample for Simplified DocBook DTDs - configuration. Added section for other miscellaneous samples. - - - Moved linkstatus sample and LinkStatusGenerator to core from scratchpad; - added a link to test the documentation links on the Cocoon demo webapp frontpage. - - - ESQL: Added support for reading BLOBs from database. - - - DatabaseActions, changed behaviour: Tables are used in order of appearance - in tableset, before they were used in order of appearance in tables section. - - - Removed XT XSLT transformer. - - - Added custom component configuration to map:pipelines section. - - - Added global parameters to map:pipelines section. - - - Changed modules to use objectModel instead of just the request object. - - - Modular database actions now don't inherit from original database actions - anymore. Some custom datatypes got lost during this process as they should - be handled be specialized input modules instead. - - - Replaced event pipeline and stream pipeline with one single component, - the processing pipeline. Added configurable pipelines to sitemap. - - - Added an "expires" directive to map:pipeline in order to - manually set an "Expires:" HTTP header following Apache's - mod_expires syntax. - - - Modified check-jars.xsl to dynamically create the jars.xml for - documentation. - Need to copy the generated file over the static placeholder... - Help - where to in the build.xml? - - - ResourceReader gets the mime type from the source now, - instead of declaring the mime type in the sitemap. - - - Moved mod-db stuff from scratchpad to trunk. - - - Util logicsheet: get-source and include-source tags. E.g. to include XHTML - generated by another pipeline as email. - - - Esql: multiple results can now have different result blocks, position - determines matching result position. Last one is default if more results - arrive. call-results now evaluated after other results to comply with JDBC - specs. - - - Added Jakarta Slide Source components and examples in scratchpad. - - - Added continuations-based control flow support to Cocoon. It is - currently based on a modified Rhino JavaScript implementation with - continuations support, courtesy of Christopher Oliver: - ftp://ftp.primaryinterface.com/pub/rhino. - - - Added size attribute and sorting to directory-generator. - - - Changed error behaviour in esql: all exceptions now result in error-results - being evaluated. If error-results is present, exceptions are caught, - otherwise a processing exception is thrown. - - - Complete rewrite of grouping code in esql (footer still not supported), - group-on available through esql:param - - - Esql fix for get-columns with PostgreSQL and getObject not working with all - datatypes - - - CLOB support in esql logicsheet, esp. in get-xml - - - changed the LanguageException and the JavaLanguage to expose more than - just the compilation error. Now it also shows the actual code from the - repository +/- a few lines around that error. - - - restructured the ProgramGenerator and - added option "watchSource" (true/false). If turned on you can - make changes inside the generated source code (inside the repository) - and the ProgramGenerator will compile them for you. This eases XSP - debugging a lot! Turned off (same behaviour as before) by default. - - - Fixed esql getBytes() behaviour - - - Integrated the new Avalon Excalibur Store and StoreJanitor components. - This deprecates the Cocoon version. - - - Added formula support for HSSF Serializer. - - - Integrated the new Avalon Excalibur XSLT Processor. This deprecates the - Cocoon version. - - - Locale selection for I18nTransformer changed to use parameter set from sitemap. - The old behavior (implicit locale selection using LocaleAction) is not supported any more. - i18n samples are refactored, redesigned, new translations are added. - - - Integrated the new Avalon Excalibur Source Resolving architecture. This deprecates - the now obsolete Cocoon source resolving. Wrapper classes etc. have been provided - for an easy upgrading. In addition the Excalibur XMLizer is added. - - - Added the sunShine contribution from S&N AG, Germany (http://www.s-und-n.de). This - contribution consists of a session management framework, an authentication - framework and a portal engine. - - - Changed default persistence store to the JispFilesystemStore. - To switch back to FilesystemStore, remove jisp.jar and rebuild Cocoon - (or simply edit cocoon.xconf) - - - RequestGenerator does optionally output request parameters. - - - Output extra locator info if included Throwable of ProcessingException is - SAXParseException or TransformerException. - - - FIX NPE in org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline, - if content is malformed, and there exists an cached response the - validity[] contains null entries. - - - Fix CocoonCrawlerImpl, check if contentType is not null, and always close the BufferedReader at the end. - - - Added JXPath based input modules for Request and Session properties. - Demonstration sample is also added. - RequestContextPathModule and RequestURIModules are obsolete now and - will be removed. - - - Updated the Jisp store system to the new Jisp version and added the missing clear() - and keys() methods. - - - Added a more sophisticated example in samples/webserviceproxy/cocoonhive. - Demonstrates a small virtual portal which embeds functionality - from Amazon and OpenWiki. - - - XMLFormTransformer now saves a list of referenced model properties, - which is later used to automatically populate with default values - properties which were not addressed in the http request (like unchecked - checkboxes). This applies to session scope forms only. - - - 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. - -
-
- -
- + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test, test, test :-) + + + + Attend to any high+ issues in the + Documentation To Do List + + + + Attend to the general issues in the + release plan + + + + Complete (means put all allowed constructs and combinations) + the lint/sitemap.xmap file. Enhance the RELAX NG grammar for sitemap. + + + + For 2.2: Views must start not from the first encountered label, but from the last one + (see http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=101784499622172) + + + + Make comprehensive samples with the handle-errors sitemap and real world + use cases. Add also specific Selector and a FaqBuilder to be used by the + NotifyingBuilder. + + + + Finish the design and contracts of flow. Add more tests and samples and + documentation. + + + + Finish the + refactoring of samples + + + + Finish moving the scratchpad stuff in main trunk. + + + + + + Ensure that recyclable components always release their references, even when + they are not pooled. The easiest way is to make them disposable and clean up + in dispose. + + + + EventRecorder classes in o.a.c.transformation.helpers package are similar + to SaxBuffer. SaxBuffer should be extended (if it misses some functionality), + and EventRecorder deprecated and removed. + + + + XMLize exception handling so that error pages can become more + semantically meaningful. Currently all XSP compilation errors are + stored in a single string. With XMLized exceptions we could display + especially XSP errors much nicer. + + + + Lucene is writing info to stdout when searching. + + + + Redesign FragmentExtractorGenerator/Transformer so that it works on a clustered + server: store fragments in the session rather than in a local store.
+ This couldn't work, because if you working with caching pipelines, you cannot be sure + that the entries are in the session(Stephan). +
+ + + Remove ContainerWidget concept from cforms. + +
+
+ + + + + + Fixed caching of i18n bundles when using multiple locations. + + + Add an experimental lazy loading in the service manager that dramatically speeds up Cocoon init time + (approx 4 times faster). To use it, set JAVA_OPTIONS="-Dorg.apache.cocoon.core.LazyMode=true" prior + to starting "cocoon.sh servlet". + + + Add an include feature to xconf files and xmap files, to allow an easier configuration of the system. + The main cocoon.xconf is now a list of inclusion of the main core components and a + separate xconf file for each block. Additional role files can also be included. + + + javaflow: auto-compilation for javaflow. + factored out javaflow and the auto-compilation (jci) + into separate projects. + + + esql: added support for derby + + + 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. + + + initial revision of new block: Cocoon Templates + + + 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> + +
+ + 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> + +
+ + cForms: fields styled as 'htmlarea' can be used in tables (workaround for strange IE behaviour) + + + Added querybean block, functionality moved from the lucene block as we hope to add a dependency on OJB so querybeans can be persisted. + + + Batik block: Fixed handling for empty extract URIs when matching on null + namespace URIs. + + + Allow attribute values to be matches as well for EncodeURLTransformer. + + + I18n (ParamSaxBuffer): handle case where substitution params like {0} are split over multiple character events. + + + Fix: Continuation can only be invoked for the interpreter it was originally created for. + + + Authentication block: Add authenticator for JAAS. + + + Flowscript: Removed support for passing sitemap parameters into flowscript + function as positional arguments. Use cocoon.parameters instead. + + + Use official Rhino implementation which supports continuations since 1.6. For the most + flowscripts there shouldn't be any issues, though there are differences that may lead + to compatibility issues: +
    +
  • catch(return)
  • +
  • catch(continue)
  • +
  • catch(break)
  • +
+ aren't supported any more. catch(break) can be replaced by passing the function + to cocoon.sendPageAndWait([pipeline], [bizdata], [function], [time-to-live]). +
+ catch(return) and catch(continue) e.g. + + var pool = ...; + function someFunction() { + var conn = pool.getConnection(); + ... + catch (break) { + conn.close(); + conn = null; + } + catch (continue) { + conn = pool.getConnection(); + } + } + + can be replaced by catching the ContinuationException: + + var pool = ...; + function someFunction() { + var conn = null; + try { + if (conn == null) { + conn = pool.getConnection(); + } + ... + } finally { + conn.close(); + conn = null; + } + } + +
+ + Removed the PHP block. + + + Remove support for Excalibur instrumentation. + + + Component, Composable, ComponentManager, ComponentSelector and ComponentException + are no longer support: Serviceable, ServiceManager, ServiceSelector and ServiceException + have to be used. + + + Own implementation of Avalon based container. + + + Added best-fit-while-keeping-aspect-ratio option to the ImageReader + + + Apply patch: Add support for calling webservices from within Flowscript. + + + New getSitemapPath() method on the Request object to get the path to the + current sitemap even if you are in a sub sitemap. Added an abstract request + wrapper class as well. + + + Add scoped request attributes (global/request). + + + Update to servlet specification 2.3. + + + Deprecate methods implementsInterface(String, String), + implementsInterface(Class, Class), lastModified(Class) + and which(Class) in org.apache.cocoon.util.ClassUtils + These methods will be removed on the next version. + + + Move the sitemap engine to Serviceable (in replacement of Composable) and remove + SitemapComponentSelector and OutputComponentSelector that were no more needed. + + + Add profiling/debugging API for the sitemap. + + + Add sitemap versioning support to tree processor and remove unused + support for other tree based languages. + + + Correct redirect handling for internal redirects. + + + SWF block: Removed the deprecated block and added a flash sample in the + hello world section. + + + Deprecated methods in class org.apache.cocoon.util.IOUtils + to be removed in Cocoon 2.3: +
    +
  • String baseName(String filename)
  • +
  • Object bytesToObject(byte[] bytes)
  • +
  • Object deserializeObject(File file)
  • +
  • String fileComponent(String filename)
  • +
  • byte[] objectToBytes(Object object)
  • +
  • String pathComponent(String filename)
  • +
  • void serializeObject(File file, Object object)
  • +
  • void serializeString(File file, String string)
  • +
  • void serializeString(File file, String string, String encoding)
  • +
+
+ + Deprecated class org.apache.cocoon.util.JavaArchiveFilter. + To be removed in Cocoon 2.3. Moved to the deprecated dir. + + + Session-fw block: Remove deprecated class AbstractSessionComponent from session + block. + + + Redesign the internal environment handling (request processing) and moved + private classes into own packages. + + + Remove deprecated RequestLifecycleComponent and GlobalRequestLifecycleComponent. + + + Remove deprecated (2.0.x) caching system; only 2.1.x is supported. + + + Remove deprecated sitemap related components and classes. + + + Remove deprecated Store implementations. Excalibur Store/JCS are used instead. + + + Remove deprecated Parser and Entity Resolver. Excalibur XMLUtils is used instead. + + + Remove deprecated XSLT Processor. Excalibur XMLUtils is used instead. + + + Remove deprecated Source handling. Excalibur Sourceresolve is used instead. + + + Remove deprecated getOutputStream() method from Environment. + + + Change the mime-type setting of a reader. + + + Remove deprecated methods from SimpleCharStream, Notifier, + AbstractComplementaryConfigurableAction, StringUtils. Remove deprecated + parser constant from Constants and remove deprecated class + DefaultsMetaModule. + + + Remove deprecated methods from XMLUtils, DOMUtil, DOMBuilder and SourceUtil. + +
+ + + Apply patch for a better exception handling in the Meta-InputModule when an input module is not found. + + + Fix handling of environment context when returning from a pass-through sitemap mount. + + + Portal Block: Add portal tools framework contribution. + + + Build system: External blocks can be built together with Cocoon. + + + 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. + + + PageLabel url's were not properly encoded. + + + 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. + + + Added commons-transaction 1.0 and commons-codec 1.3. Both are needed by slide 2.1. + + + 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. + + + 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. + + + CForms: the parser used to read form files now uses the EntityResolver defined in cocoon.xconf. + + + Tiny typo in AbstractTextSerializer + + + Modified PortletURLProviderImpl.toString() to create a copy of itself and register that with the event. + + + Update Deli to x031104 (include over 300 vendor, operator and third party profiles) + + + Updated hsqldb to 1.7.3, lucene to 1.4.3, ehcache to 1.1, log4j to 1.2.9. + + + typo on the date-selector doc. + + + xml2html.xslt does not work on IE. + + + Portal: attributes "javax.portlet.request" and "javax.portlet.response" were not set for JSR-168 + portlets running in the Cocoon webapp. + + + CForms: add a new "link" styling for action widgets, that renders the action + as an hypertext link. + + + DateInputModule now accepts date format string when specified in a sitemap. + + + Portal: Added support for storing JSR-168 Portlet preferences. + + + + + Lucene: SearchGenerator incorrectly counts previous-index. Reported by: Tomasz Nowak (tnowak-p@netventure.pl) + + + Updated iText to 1.1. + + + Fix: buildList() in AbstractDatabaseAction generates incorrect parameter list. + + + Fix: Webmail sample broken. + + + Fix: Context directory not required to be writable by the CLI. + + + Portal: If a coplet has an error, the error-uri has been called twice. This is fixed now. + + + Flowscript: Deprecated support for passing sitemap parameters into flowscript + function as positional arguments. Use cocoon.parameters instead. Support will + be removed completely in Cocoon 2.2. + + + Portal: Request content length and content type are required in portlet ActionRequest + for custom upload handling. + + + Portal: Added support for page labels. + + + Javaflow: JavaInterpreter initialize method was not thread safe. + + + Portal: Generate subnavigation for non-selected tabs. + + + Scratchpad block: Restored CastorTransformer support for context beans, + restored bean lookup logic, fixed sample. + + + The CocoonBean now creates its own private logger hierarchy, thus avoiding to + pollute the CocoonServlet hierarchy when called in that context (e.g. when + generating a static site from a CMS). + + + Added replacement for Excalibur Event package in + org.apache.cocoon.components.thread and migrated most classes using their own + threads to that package. + + + Updated antlr to 2.7.4, db-ojb to 1.0.1. + + + Javaflow block: Support inherited methods. + + + Javaflow block: Add parameter support. + + + CForms block: added widget states. All widgets can now have an "active" (default), "disabled" or "invisible" + state. Updated the stylesheets accordingly to use HTML's disabled inputs. + + + Scratchpad block: BetwixtTransformer: removed deprecation warning with + latest betwixt. + + + Flowscript: enforce the explicit declaration of variables in the global + scope (attached to the session). This avoids the implicit declaration of + variables in the global scope when the 'var' keyword is missing, which + leads to weird bugs difficult to track down, especially with continuations. + + + Deprecated the PHP block since the PHP servlet the generator depends on + never worked properly. Explicitly excluded the PHP block from blocks.properties. + + + XSP Block: Add space="strip" attribute support for <xsp:page> + element. When present, all extra whitespace from XSP source is stripped. + + + XMLDB Block: Fix NullPointerException in XMLDBTransformer if specified + collection does not exist. + + + XSP - JXPath logicsheet: Allow use relative contexts in <jxpath:for-each>. + Add a new tag <jpath:set-lenient lenient="true|false">. + + + Updated commons-httpclient to 2.0.2, groovy to 1.0-beta-7, commons-betwixt to 0.6. + + + Flow invocations (function calls or continuation invocations) should always + result in a response. Flowscripts with no response are prohibited. + + + Portal block: Apply batch for configuring the type handling in the Castor converter. + + + Fix bug in SessionPropagatorAction. + + + Fix syntax error in build.bat on Windows ME. + + + Portal block: Apply patch for rendering a link of the selected tab in TabContentAspect. + + + Portal block: Apply patch for handling GET method when no enctype is set in CopletTransformer. + + + Throw a more meaningful exception if charset classes are missing. + + + Fixes the SQLTransformer not to close the statement twice. + + + Change constructor to be public in order to fix bug 30270. + + + Forms block: added possibility to add a SelectionList based on Java. + + + HTML serialization has no space between publicId and systemId. + Updated xalan to 2.6.1-dev-20041008T0304. + + + Scratchpad block: Implemented support of parallel loading of included + sources in the IncludeTransformer. + + + Updated commons-lang to 2.0-20041007T2305. Now cocoon compiles in java 1.5. + + + Updated jdt-core to 3.0.1. + + + Faces block: Added JSF CarStore demo. + + + Flow preserves global variables on sitemap reload. + + + Forms block: Implementation of the CForm template language using JX macros, + allowing smart page layout that depends on the widgets state and value. + + + Remove jisp from distribution. + + + XSP logicsheet jpath.xsl: incorrect call to JXPathContext.compile. + + + Mail block: Support multiple SMTP servers, not only default one. + + + Mail block: Add support for authenticated SMTP server connections. + + + Cron block: JobScheduler's fireJob method now supports jobs calling Cocoon + pipelines. + + + Allow recursive Flow invocations with processPipelineTo. + + + Forms block: rename fd:on-activate to fd:on-action on + fd:row-action and fd:repeater-action for consistency + with fd:action and fd:submit. + + + Cache the mime-type of readers and serializers. + + + The daylight time cause error when timezone is CST. Updated icu4j to 3.0. + + + Upgrading DELI block from version 0.9.8 to x020904. + + + Add support for translating attribute values which contain i18n expressions + rather than complete i18n key. + + + Forms block: allow widget attributes which were only accessible programmatically + to be set in the form definition. This allows e.g. generic form processing code + to find widgets having a particular attribute. + + + Mail block: the MailSender now gets its source resolver from the service manager. + This allows its use from flowscript where the old SourceResolver is not available. + + + AbstractSAXTransformer namespaceURI and defaultNamespaceURI must never + be null. When extending AbstractSAXTransformer make sure to set + defaultNamespaceURI in the constructor. + + + Faces block: Initial implementation of JavaServer Faces for Cocoon. + + + Taglib block: Initial implementation of BodyTag. + + + Portal block: Changed pathInfo and servletPath logic. pathInfo always starts + with '/', while servletPath always has no '/' at the end. + + + JXPathMetaModule incorrectly checks for null parameter (can't happen) + instead of empty string. + + + Cron block: Fixed memory leak, QuartzJobExecutor was not releasing pipelines. + + + Updated jexl to 1.0, lucene to 1.4.1. + + + Selector for matching the request headers using a regular expression. + Simple content negotiation, e.g. serve XHTML if browser indicates it + accepts application/xhtml+xml and HTML otherwise; potentially do + automatic i18n according to the accept-language header. + + + New @pass-through attribute for the sitemap mount node. + If true, processing will resume in the base sitemap just after the mount node + if the mounted sitemap has not already generated output (usually if no match + is found). Previous behaviour was always to throw a ResourceNotFoundException. + The attribute defaults to "false" for backwards compatibility. + + + Portal block: New Group Based Profile Manager. + + + Cron block: Add support for persistent job stores, type "tx" and "cmt". + + + Cron block: Fix TestCronJob pipeline call functionality. + + + GetInstance don't work with upgrade from db-ojb-1.0rc6. + + + Updated rhino to 1.5r4-20040629T1232, + xreporter-expression to 20040701, ehcache to 0.9. + + + A redirect is now possible, if it's called from flow. This also fixes bug #26571. + + + Mail block: Add ability to specify mime-type for email body text parameter in the mail transformer. + + + Fix potential memory leaks in CForms/Woody Template Transformer and JXTemplateGenerator. + + + XMLDB Block: Add ability to delete collections with XMLDBTransformer. + + + Reworked LocaleAction and LocaleMatcher to have similar logic and + configuration. +
NOTE: Sitemap variable "lang" renamed to + "language", removed configuration parameters: "language-attribute", + "country-attribute", "variant-attribute". +
+ + Added LocaleMatcher for file based internationalization. + + + Make implementation of Cocoon protocol compliant with the Source interface. + + + Update ant to 1.6.2, commons-jxpath to 1.2, commons-beanutils to 1.7, + POI to 2.5.1-final-20040804, commons-httpclient to 2.0.1, nekohtml to 0.9.3, + hsqldb to 1.7.2, jcs to 1.1-dev-20040811, quartz to 1.4.2, asm to 1.4.3, + asm-util to 1.4.3 and groovy to 1.0-beta6. + + + Mail block: The mail transformer ignored configured toAddresses from a + pipeline parameter. This is fixed now. + + + Fixing BetwixtTransformer does not marshal Collections properly (java.lang.OutOfMemoryError). + + + Update qdox to 1.5 and jdt-core to 3.0.0. + + + Fixing lucene-block samples dependencies. + + + Update lucene to 1.4. + + + Enhanced JMS support by adding a JMSConnectionManager component to the JMS block. + This component replaces the JMSConnection component which only supported + publish/subscribe messaging and which mixed some concerns. Two abstract classes: + AbstractMessageListener and AbstractMessagePublisher should be used as basis for + custom publish/subscribe components. + + + Still in the scratchpad area at the time of this writing, added a + CachedSource proxy subclass for Sources that implement TraversableSource and + InspectableSource (for instance WebDAVSource). + + + Added a NekoHTMLGenerator to HTML block. This is a simpler HTML parser than + JTidy, which preserves more of the original HTML, primarily just balancing + closing tags. + + + Added support for stripping root elements in the CIncludeTransformer. + + + Portal block: Added ManagedCocoonPortlet, to be used together with + CocoonServlet or CocoonPortlet. + + + POI block: cell spanning. + + + POI block: processing of tags "vcenter", "hcenter", "monochrome", "draft", + "Header", "Footer" in "gmr:PrintInformation". Initial support for + "Margins" ("top", "bottom", "left", "right", "header", "footer"). + + + POI block: processing of tags "grid", "orientation and "paper" in + "gmr:PrintInformation". + + + Fix JXTemplate generator does not handle format-number(number, '$#,##0.00'). + + + Forms block: Implement setValue method for the upload widget. + + + Forms block: Handle variants of datatype date correctly (i18n, styling). + + + Update commons-digester to 1.5, commons-betwixt to 0.5, commons-pool to 1.2, + commons-dbcp to 1.2.1 and db-ojb to 1.0.0. + + + Update commons-collections to 3.1. + + + Fix JXTemplateGenerator eating backslash characters. + + + Add new <jx:comment> tag to the JXTemplate. XML comments are not + parsed anymore. See the bug description for a sample. + + + Move commons-logging-1.0.4.jar to lib/core as jcs.jar depends on it. + + + Apply patch: Cached resources don't have Expires-Header. + + + Apply patch: Caching JXTemplateGenerator. + + + ResourceReader can now take configuration elements, parameters + are deprecated. + + + Fix byte ranges support in ResourceReader. + + + Portal: CocoonPortlet has new configuration parameter, + default-session-scope. + + + Updated commons-logging to 1.0.4 + + + NamingInputModule provides access to the JNDI context. + + + Updated quartz to 1.4 + + + Add configuration support for log4j. + + + New Input modules: URLEncodeModule and URLDecodeModule + + + Apply patch to fix some memory leaks in the tree processor. + + + Portal: Fix NPE when non-caching pipelines are used for the portal profile. + + + Portal: Fix transformation of non-external html links (HTMLEventLinkTransformer) + + + Portal: Fix problem with bookmarks and CachingURICoplet + + + A new build property, "include.sources-in-jars", allows to include java + source files in jar archives. Useful when using a non-released version + to know what sources are used. + + + Refactor TreeProcessor to avoid constant reloading of sitemap if its + modification date is in the future and occasional ECM-related exceptions + when a sitemap is reloaded. + + + Tour block: added Java shapes sample. + + + Updated Groovy to 1.0-beta5, qdox to 1.4 and util.concurrent to 1.3.4. + + + Serializers block: Fixed the namespace handling of the XMLSerializer. + + + Serializers block: Added support for indentation to the XMLSerializer. + + + Chaperon block: Improvements for Chaperon JSPWiki to xdocs conversion: +
    +
  • Handle nested bullet lists (number lists already supported)
  • +
  • If 'name' parameter is specified, use it as title (and add spaces between + WikiWords) instead of first section title
  • +
  • Handle images with alt text
  • +
  • 'spaceless-filenames' parameter will squash out spaces in relative + links
  • +
  • Fix anchors to use 'id' instead of 'name'
  • +
  • Emphasize anchors a bit
  • +
  • selftest.txt tests for lists and tables
  • +
  • More known issues listed in selftest.txt
  • +
+
+ + Added instrumentation support to ContinuationsManager. + +
+ + + The store/caching system now uses JCS instead of Jisp. + + + The persistent store is now really persistent between two application runs. (Fixed + a bug in the hash code calculation of the keys). + + + Updated Apache JCS to 1.0 dev 20040516 and util.concurrent to 1.3.3. + + + Extended CocoonServlet to allow any + org.apache.avalon.excalibur.logger.LoggerManager + to be used. + + + Deprecated getWidget from the Widget interface in cforms. + People should consider using getChild(id) or lookupWidget(path) instead. + On the level of the flowscript 'Form' API a semantical distinct getWidget() + (notice: no arguments!) is still available to return the actual wrapped + Java form instance. + + + Fixed jetty-4.2.19.jar compiled for +jdk1.4. The new version can run in 1.3 + + + Fixed missing escapes of line feeds, carriage returns and tabs, that resulted + in invalid Java code. + + + Updated Joost to 20040330 + + + RequestListener hook added, that is called before and after a request is processed. + + + Enable XConfToolTask to modify multiple attributes. See the bug report + for description of use. Also enable suppression of comments. + + + Extended FOM so that cocoon.redirectTo("url", true) will do a global + redirect. cocoon.redirectTo("url") will act as before. This enables + FOM to redirect when it is called from within cocoon: protocol + requests, aggregations, etc. + + + Moving check on number of specified targets within CocoonBean. This was + preventing the processURI(uri, outputStream) method from working. + + + CForms: Remove custom flow level forms validators. + + + Added the "tour" block: "Supersonic Tour of Apache Cocoon". + Tutorial/example app focused on the Power Trio: Pipelines, Flow, Forms. + + + XMLResourceBundleFactory was stopping when it encountered the first + bundle name that does not have a locale, missing those that might be + in one of the other locations. + + + Moved storage of all flow-related data (viewData, continuation, request, etc) from request + attributes to object model entries. This allows a view called by sendPage() to also use + flowscript (using request attributes caused the two calls to mix up their data). + + + Hopefully fixed the source resolving in JSP components finally by using + standard Cocoon/Avalon Excalibur source resolving. This allows to use all + known protocols and Cocoon pseudo protocols as long as the JSP file is + inside the servlet's context. + + + CForms: Change to generated instance xml <fi:form>. + Nested widgets are now grouped in <fi:widgets> and no longer in <fi:children>. + This aligns with other container-widgets. + + + LinkRewriter: Added support for rewriting URLs which are embedded into + the attribute values (example: style attribute with background image URL). + Such URLs can be extracted using RE expressions and re-written, leaving + rest of the attribute value intact. + + + Updated Velocity to 1.4 and iText to 1.02b + + + Added standalone build target "validate-sitemaps". + Added standalone build target "validate-stylesheets". + + + Updated Xindice to 1.1b4, xmldb-api to 20030701, xmldb-common to 20030701 + and xmldb-xupdate to 20040205 + + + Updated Jetty to 4.2.19 + + + CForms: <fi:styling type="date"/> is not needed (nor supported) + anymore, the required information about the datatype and the pattern is + now included in the widget instance XML. + + + CForms: it is now possible to store arbitrary data with each widget + instance by using the new setAttribute and getAttribute methods of the + Widget interface. + + + Groovy script generator support in BSF block + + + Renamed validate-set to constraint-set for consistency (the element name is also constraint-set). + + + Updated bsf to 2.3.0 + + + "Fixed" bug 15841 by raising an exception when something is tried to add + to elements before attributes. + + + Changed blocks selection handling to allow more intuitive + include.block.blockname syntax in (local.)blocks.properties. Old syntax + exclude.block.blockname is still supported. + + + Enabled use of nested sitemap variables, e.g. {request-param:{1}}. + + + Updated antlr to 2.7.3 + + + Deprecated Tokenizer and the methods count(), matchStrings(), + replaceTokens() and both split() in StringUtils. The functionality of all + this was replaced in favor of Apache commons-lang lib. They will be removed + in Cocoon 2.2 + + + Updated batik to 1.5.1, db-ojb to 1.0RC6 + + + Removed xmlform and jxforms blocks as confirmed by a users poll. + + + Removed precept block. Was dead code. + + + Updated jdtcore to 2.1.3, update castor-xml to 0.9.5.3 + + + DefaultIncludeCacheManager did not release xml-serializer under some circumstances. + + + DOMFactory can now create a document element. + + + Databases: The xml-encoding for the SQLTransformer is now configurable. + + + Build System: New property "loglevel" that can be used in the patch files. + + + Portal: Fix problems with minimizing/maximizing of portlets. + + + Portal: Fix problems with the portal block and using the CLI. + + + Portal: Add default PropertyManagerService implementation + + + Portal: Fix synchronization problem with JSR-168 portlets in IncludingHTMLSerializer. + + + Improvement for AbstractReader: Don't wrap an already buffered stream. + + + ForwardEnvironmentWrapper delegates isResponseModified/setResponseIsNotModified to wrapped environment. + + + CForms: Change the syntax for repeater row identity handling. + + + An internal redirect is now handled the same way as an external redirect would be handled. + This includes that the error handler of the called pipeline is invoked in case of an error. + + + Set the default encoding for the Portlet Environment. + + + Move XSP into an own block. + + + Licenses changed to ASF 2.0 in all source files which had a license, using + the ReplaceLicense tool from the committers CVS module. + + + Ant task (correctLinefeed) that corrects linefeed characters according to + our standard (LF). + + + Apples use the new CocoonForms classes + + + Petstore samples use the new CocoonForms names + + + New Ant task ("woody2CocoonForms-renaming") that updates namespaces, sitemap components and + flowscript functions (details see tools/target/upgrade-build.xml) + + + Renaming Woody to CocoonForms +
    +
  • The Woody block (src/blocks/woody) has moved into the new Cocoon Forms + block (src/blocks/forms).
  • +
  • new namespaces:
    +
      +
    • from xmlns:wd="http://apache.org/cocoon/woody/definition/1.0" + to xmlns:fd="http://apache.org/cocoon/forms/1.0#definition"
    • +
    • from xmlns:wb="http://apache.org/cocoon/woody/binding/1.0" + to xmlns:fb="http://apache.org/cocoon/forms/1.0#binding"
    • +
    • from xmlns:wi="http://apache.org/cocoon/woody/instance/1.0" + to xmlns:fi="http://apache.org/cocoon/forms/1.0#instance"
    • +
    • from xmlns:wt="http://apache.org/cocoon/woody/template/1.0" + to xmlns:ft="http://apache.org/cocoon/forms/1.0#template"
    • +
    +
  • +
  • Java packages moved from org.apache.cocoon.woody to org.apache.cocoon.forms
  • +
+
+ + Updated Velocity engine to 1.4-rc1 + + + Fix namespace handling in FilterTransformer. + + + Added grayscaling and color transformation to the ImageReader. + + + LinkStatusGenerator now handles also links with a specified charset. + + + Avoid "CLOBs" when indexing XML without superfluous whitespace (Lucene). + + + Allow streaming of uploaded files into a pipeline using StreamGenerator. + + + Avoid accumulating of addresses and attachements in SendMailTransformer, + when sending multiple mails, i.e. multiple sendmail elements at once. + + + EncodeURLTransformer no longer creates a session. + + + Added additional property <column-case> to the SQLTransformer with + the possible values "preserve", "uppercase", and "lowercase". + + + Fixed path separator handling in cocoon.bat/.sh and Loader.java. + + + Fixed duplicate startDocument event in BetwixtTransformer. + + + Updated POI to 2.5-final-20040302 + + + Pass notification object to coplet error pipelines so it can react on it. + + + Updated xalan to 2.6.0 + + + CForms: Support for multiple unique-row-id in a repeater + + + CForms: Aggregate field supports both directions (split / combine), and arbitrary + types (not strings only). + + + CForms: Added String() function. Converts argument to string value. + + + Update Avalon Excalibur packages to released versions. + + + Updated joost to 20031219, qdox to 1.3 and quartz to 1.3.2 + + + Updated xerces to 2.6.2 + + + Make the current sitemap service manager available through the component context. + + + Moving portlet environment to portal block. + + + Adding basket coplet to the portal. + + + Patch for allowing empty values in configuration of defaults input module. + + + Patch for disposing components in the properties in xml file module. + + + Updated commons-httpclient to 2.0-final + + + Updated jdtcore to 2.1.2, and Ant to 1.6.1 + + + Patch for any elemens inside a coplet:content element and not just only text. + + + Adding SAX recording to AbstractSAXTransformer. + + + Remove non-FOM flow classes and system.js + +
+ + + Updated iText to 1.02 + + + Woody block: every widget can now have a validator. This allows for example + repeaters to perform inter-row validation or overall form-level validation. + + + Woody block: added support for rich text editing using InteractiveTools' HTMLArea. + + + ResourceReader: Is now configurable as well. All parameters can be defined + during configuration of the reader. Fixed also a minor bug in the last-modified + detection. + + + OJB-Block: Added our own OJB ConnectionFactory which uses the + DataSources configured in cocoon.xconf + + + Updated POI to 2.0-final + + + Fixing memory leak in the cocoon protocol. + + + JSPReader: The output encoding of the reader is now configurable. + + + woody.js has been removed. Please use woody2.js instead. + + + Resurrected the Slide block and made it to work with current developement version + of Slide (2.0-b1). Complete revamping of the Slide sample admin app. + + + Allow the Authentication Framework to invoke a pipeline during logout + + + Updated commons-collections to version 3.0 + + + First version of the JSR-168 support in the portal engine. + + + Updated commons-httpclient to the version 2.0-RC3 + + + Renamed JspGenerator to JSPGenerator to match JSPEngine and JSPReader naming convention. + + + JSPEngineImpl incorrectly converts bytes to characters. + + + Woody expression manager supports registration of custom functions (see cocoon.xconf). + Added IsNull function. + + + Updated Jakarta ORO to the version 2.0.8. + + + Updated Lucene to 1.3 final. + + + Build fails on windows without cygwin. + + + Updated Ant to 1.6.0. + + + Remove dependencies to Xalan (from portal-fw, authentication-fw, session-fw and core) + + + Portal-Engine: Added some new samples (for inter-coplet communication, + cleaned up the sample, fixed some bugs and added some new components + for developing own coplets. + + + Changed semantics on the cforms binding. Added a @direction (which replaces + the @read-only) and a @lenient attribute on all binding implementations in + the pool. + + + Fix NPE error when pointed tag is empty in xsp-session-fw:getxml. Applying + patch from ltrillaud@jouve.fr (ltrillaud@jouve.fr). + + + ResourceExistsSelector now works the same way as ResourceExistsAction does. + It can now detect existence of any Cocoon resource, not only files in context. + Default value for prefix was changed from '/' to ''. For old behavior, use prefix + 'context://'. + + + Fixed and updated the stores and made them instrumentable to follow their size and + the number of hits and missed. + + + New PipelineUtil class that extends the features or cocoon.processPipelineTo() + to SAX and DOM outputs. + + + The "cocoon" object in flowscript has two new methods that allow Java classes + instanciated by a flowscript to access e.g. request, response and components + without requiring a dependency on the "FOM_Cocoon" class.
+ cocoon.createObject(Class) creates an object and honors the various + Avalon lifecycle interfaces implemented by an object.
+ cocoon.disposeObject(Object) disposes an object if needed. +
+ + Reworked I18nTransformer implementation to use new version of XMLResourceBundle. + + + Reworked XMLResourceBundle implementation. Now it supports only XML bundles with + fixed syntax (same as for I18nTransformer dictionaries), and instead of XPath + keys uses message keys (which is faster). Returned resources now are instances of + ParamSaxBuffer class, and not DOM nodes. + + + Modified BundleFactory interface to return Bundle instead of Component. + + + Cocoon Forms (Woody) selection lists now allow empty value (which is + translated to the null object) + + + Deprecate MirrorRecorder. It will be removed starting with Cocoon 2.2 + + + In XMLDBTransformer, create operation now is able to create collections. + It will create collection if oid attribute value ends with '/', otherwise + it will work as before (creates XML resource) + + + Added optional collection attribute on <xmldb:query/> element of XMLDBTransformer. + This attribute specifies collection name, relative to the transformer's base + collection, which is used as base collection for current create/delete/update + operation + + + Remove deprecated XMLDB generators from the sitemap + + + Do not double decode URI in CocoonServlet + + + Resurrected the XMLDB samples including XIndice 1.1b1 in Cocoon. + + + I18n transformer does not support old configuration syntax anymore + (parameters catalogue-name, catalogue-location). Use <catalogues/> + element instead. + + + I18n transformer now works with translations containing elements with + attributes. + + + Update libs Xerces to 2.6.0 and xml-apis.jar. + + + Woody: new double-list styling for MultivalueField. + + + New MountTableMatcher to define "mount tables" that allow external + directories to be mounted in a sitemap without requiring to modify the + sitemap. It's use has been included in the samples sitemap, thus allowing + mounts that surivive a "build clean webapp". + + + Woody: added rendering of <wd:help> popup panel on a "?" icon. + + + Woody: new upload widget. This required some modification on multipart.Part + objects that can now survice the end of processing of the current request. + + + Updated Entity Resolver from pre-release to official + xml-commons-resolver-1.1 release. + + + NetUtils deparameterize() and parameterize() extended to support + multivalue parameters. Multivalue parameters are returned as String + arrays. + + + Add cocoon.sendStatus([Number] sc) and cocoon.response.setStatus([Number] sc) + to FOM. + + + Updated Jetty to 4.2.14 + + + Disable accessing files outside the context via the context protocol. + +
+ + + Complete overhaul of the Petstore sample. Adding Woody form processing + Flow, and dealing with persistent data. Implementation of missing or + unfinished parts. See the the bug report and its attached notes. + + + The CachingPointProcessingPipeline now uses Parameters instead of + an own configuration scheme. See the demo sitemap for the changed configuration. + + + XMLByteStreamCompiler now handles also text nodes longer than 32 k. + + + Reducing + setDocumentLocator calls in JXTemplateGenerator and JXFormsGenerator. + + + sitemap-viewer added to the scratchpad samples + + + Fix HSSFSerializer Bug: Same cell definitions blows document. Applying + patch from Grigorios Merenidis (Grigorios.Merenidis@Dresdner-Bank.com). + + + SQLTransformer: Correcting handling of XML data with XML declarations. + + + Fixing threading problems in the ExtendedComponentSelector. + + + Fixing namespace handling in the send-mail transformer. + + + Fixing precompilation of the XSPs for the CLI. + + + Woody: in the form definition, for widgets that have child widgets, those + child widgets should now be embedded inside a wd:widgets element. + Practical update information can be found + + in the wiki. + + + Updated Xalan to 2.5.2 + + + Woody: did some cleanup of the FormHandler interface: moved it to the event subpackage, + made it handle all types of WidgetEvents (there's an AbstractFormHandler which splits + ActionEvents from ValueChangedEvents). Removed the deprecated RepeaterHandler class, + and the unused CarSelectorHandler class. + + + Serializers now can optionally implement the SitemapModelComponent interface, meaning then can + be given a "src" attribute and parameters using <map:parameter>. + + + Sitemap components (matchers, actions, generators, etc) can know the location of their use in the + sitemap unsing a special parameter named Constants.SITEMAP_PARAMETERS_LOCATION. + + + Closing some memory leaks in the source and component handling. + + + Cocoon Protocol: Fixed a bug that broke the environment handling in some cases for internal pipeline calls. (This should also fix bug #15843). + + + HTMLGenerator: fixed NullPointerException in case the "HTML" file contained an XML declaration. + + + Fixed ResolverImplTestCase so that the "test" build target does not fail (it still depends on the + deprecated block, though). + + + Woody: fixed a bug causing an endless loop during validation of a field if + during the validation of the field the value of the field itself was again + requested. + + + Patched SQLTransformer to use only one connection. + + + Patch to XMLDBTransformer to generate a key on create if it is not provided + + + New JavaScriptBinding for Woody, which allows writing specific binding strategies + with two JavaScript snippets (one for load, one for save). + + + TraversableGenerators can now be used with plain resources too (not only + collections). XPathTraversableGenerator has been revamped + in the XML recognition pattern (using mime type mapping too). + While at it, a bug regarding non-existent sources has been + fixed. + + + Update lib excalibur-i18n to 1.1, update iText to 1.01 + + + Add initial support for IE in linotype. + + + Woody block: New integer Datatype. + + + SimpleFormTransformer: multiple values not repeatedly inserted anymore, + value is consumed instead. Add repeater tag. Make transformer inherit from + AbstractSAXTransformer. Update examples to show basic repeat tag usage. + + + + + Fix default namespace handling in Xscript variables. + + + OJB block: Object Relational mapping tool integration. + + + Slop block: New YAPT sample, lightweight presentation tool. + + + Fixing release of Source in the JXTemplateGenerator. + + + Update lib commons-lang to 2.0, iText to 1.00 + + + New event-handling system for Woody. Value change and action event handlers + can be attached respectively to field and action widgets, and event handlers + can be both Java classes or JavaScript snippets in the form definition. +
+ New <wd:repeater-action> widget to automatically handle rows addition and + deletion on repeaters (a very common need). +
+ New <wd:submit> widget to distinguish between actions (act on the form and + redisplay it) and submits that terminate the form. +
+ Ability to trigger form submit on any widget value change (including inputs, + popups, etc) to trigger server-side event handlers through client-side interaction. +
+ Rewriting of the Woody/FlowScript integration to be more simple. +
+ + Update libs Xerces to 2.5.0 and Ant to 1.5.4 + + + Fixed internationalization support for HSSFSerializer by setting also the + output encoding in the Workbook to UTF-16. + + + Fixed issues the cron block had when cocoon (or the servlet container ?) + allows reloads. + + + Removed deprecated XPathProcessor and implementations. These classes where + moved into the Excalibur XMLUtil package. Removed Jaxen libraries used by + JaxenProcessorImpl. + + + Replaced the deprecated LogkitManager stuff with its LoggerManager + counterpart. This is Cocoon internal and should not affect components as + long as you don't use LogKitManageable interface. + + + Woody binding framework: fixed a problem with the deletion of rows by the + repeater binding, whereby not all deleted rows where removed from the + bean or XML model. + + + Errors handled by map:handle-errors are now logged to the logcategory + "sitemap.handled-errors". Previously they weren't logged. + +
+ + + Moved scratchpad into an own block. This allows that code in the + scratchpad can depend on other blocks. The scratchpad can now also + have own configurations. + + + Extended the build system. If one block depends on the other it + can now also use the libraries of the other block. This avoids + moving the libs to the lib/optional directory. + + + cron block added + + + Updated Jakarta Regexp library to the version 1.3 + + + Applying patch for adding new session-fw logicsheet that allows access to a session context from with xsp. + + + Fixed a StackOverflowError in errors2html.xslt that could occur with error + pages containing very long stack traces. + + + Woody: renamed the button widget to action widget. If you were using this + widget, you will need to update your form definition files. + + + Adding new RequestDataStore component that can be used as a replacement + for the component marker interfaces RequestLifeCycleComponent and + GlobalRequestLifeCycleComponent obsolete. + + + Changed logkit attribute of <logging in cli.xconf to be relative to context dir, + rather than CLI invocation dir. + + + Added include/exclude feature to CLI to allow fine-tuning of crawling of a site. + + + Upgraded excalibur-event package so that Tomcat shutdown and continuations + cleanup now works properly. + + + Add a session-context input module to the session framework to retrieve + information from a session context in the sitemap. + + + Applying patch for processing http.nonProxyHosts in WebServiceProxyGenerator. + + + POI block: fixed formula support. If no ValueType attribute is set on + <gmr:Cell/>, the cell content will be interpreted as formula. + + + Applying patch for using 'host' in the logging patterns. + + + Lucene block: LuceneIndexTransformer configuration fixed. + + + Applying patch from Renaud Bruyeron (bruyeron@fullsix.com) that fixes + the prematurely closing of the connection causing in the SQL Transformer. + + + Midi block: added transposition and inversion stylesheets and samples. + + + Rewrite handling of internal-redirects (i.e. redirects to "cocoon:" URLs). Previously, internal redirects + where not handled for internal requests (i.e. sitemap source). This bug prevented among other cases the use + of flow-driven pages enclosed in an aggregation. + + + The jars in /lib/local are used during compilation again. + + + Update the I18nTransformer so that it also accepts the 2.0 namespace. This ensures backwards compatibility + for 2.0 applications. Additionally, attributes on "i18n:" elements can now be in the default namespace (meaning + we can now write <i8n:text key="foo"> instead of <i18n:text i18n:key="foo">) + + + Fix in the SVG serializer: if setDocumentLocator wasn't called on the + serializer (which can happen if you have e.g. an XSLT transformer in the + pipeline), then the base URI for the SVG document wasn't set which could + cause exceptions. Now it is set to http://localhost/ in such cases. Also + fixed a problem with the document locator not being reset between + subsequent retrievals of the serializer from the pool. + + + Fix Jisp based persistent store: close database files on Cocoon shutdown and + re-use existing database and index files on startup. + + + Views are now always loaded before resources, ensuring proper call of views from resources. + Redeclaring a component (e.g. file generator) with no "label" attribute was wrongly inheriting + view labels from the same component in the parent sitemap. + + + + + Midi block refactoring applied. + + + Patch for allowing to specify a cocoon-view for internal requests in the query string. + + + Instrumentation support: Updated client libraries to make instrumentation work again. + Added a target "start-instrumentation-client" to Cocoon's ant files and removed "runclient" shell scripts. + + + XMLDBTransformer: retrieving auto-generated resource id. + + + midi block added + + + slop block added (Simple Line Oriented Parser) + + + LDAPTransformer now handles multiple attribute values. + The filter element is also configurable via a sitemap parameter. + + + LDAPTransformer: Added attribute modification methods: add, replace, modify, append. + + + IMPORTANT: Flow: cleaned up the situation with regards to the "uri" argument to the + sendPage, sendPageAndWait, and processPipelineTo functions. URI's starting + with a slash are resolved against the root sitemap, URI's not starting with + a slash are resolved against the current sitemap. Specifying a scheme is not + allowed. + + + I18nTransformer: if content of i18n:text is empty and translation is not + found, use untranslated-text. + + + ESQL: explicitly release database resources. + + + Paginator now caches dynamic pagesheet correctly. + + + Configuration logkit.xconf can now be read from any location. + + + Fix the ignoreErrors handling in the cinclude transformer. + + + + + Updated FOP to the latest released version, 0.20.5. + + + Added delete capabilities to the SourceWritingTransformer. + + + Add a defaultContentType parameter to StreamGenerator, to comply + with misbehaving clients. + + + Add a new set of WebDAV samples, with the capability of serving + WebDAV content straight from Cocoon. + + + Various fixes and enhancements to Lucene search. Propagate the lucene:* + elements to the result tree and add "elapsed-time" attribute, so now + possible to transform the results into a useful report about indexing. + Fix "incremental" indexing. + + + Added CLOB support in SQLTransformer. + + + Added an (unstable) HTMLTransformer to the html block, to parse and + tidy an XML containing escaped (and possibly incorrect) HTML + + + Added URL encoding of user/password in the WebDAV source + (webdav://user:password@host/path) + + + 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. + + + The authentication framework now uses a configurable component to try to authenticate a user. + This allows to drop in own authentication services or e.g. the servlet authentication mechanism. + + + Made JSPs working in Resin that don't end on *.jsp. + + + All Reader accessing Avalon components now extend the ServiceableReader + instead of deprecated ComposerReader. It pertains the JSPReader, the + DatabaseReader and the AxisRPCReader. + + + Added a WebDAV block, with an initial implementation of + a modifiable and traversable WebDAV source. + + + Added a DirectoryGenerator implementation on scratchpad + working on any Traversable Source. + + + Adding global request lifecycle component. + + + The cache used by the caching processing pipeline is now configurable + allowing to use different caches in different pipelines. + + + The cache uses now a configured store. This allows to use differently + configured caches at the same time. + + + Reverted the encoding changes in the JSP engine. The fix should be done in + the JSPReader, that already contains a TODO. + + + Web3: The stylesheets in the examples use Xalan as transformer and work correctly now + as XSLTC has problems with the 'rfc' namespace. + + + Changed namespace for Web3RfcTransformer to 'http://apache.org/cocoon/Web3-Rfc/1.0'. + + + ParanoidCocoonServlet can optionally configured with a file containing the classpath. + + + Configuration cocoon.xconf can now be read from any location. + + + Flow view can now be in "internal-only" pipelines. + + + Updated FOP to 0.20.5rc3a. + + + Moved WebServiceProxyGenerator + some samples into the proxy block. + + + Updated common-httpclient from CVS checkout of 2003-02-10 to 2.0 beta 2. + This hopefully fixes also the bug. Moved it into core because of dependencies. + + + Refactored the WebServiceProxyGenerator: "host parameter is null" fixed, replaced deprecated + stuff, removed all work arounds (hopefully no longer needed), removed the buggy "<?xml" test, + replaced getResponseBodyAsString() with getResponseBody() (but encoding issue is still not fixed). + + + Applied patch for implementing exists for the xmldb source. + + + + + Refactored the XPathDirectoryGenerator: provides all the functionality of DirectoryGenerator now, + parameter xpath added replacing the xpointer-ish syntax, additional parameter xmlFiles for specifying + a pattern for XML files, removed docid attribute on dir:xpath + some minor fixes. + + + Added merged region support to HSSF (= Excel) Serializer. + + + Updated POI from 1.7.0-dev to 1.10.0-dev. Patched code accordingly. Fixed usage of deprecated methods. + + + Web3: Fix extra close element on connectivity loss. + + + SimpleFormTransformer: Make complete form protectable, ability to use more + than one transformation with different fixed attributes, optionally let + error elements pass, configure prefix, suffix, separator at configuration + time, add optional use of form name, formating. + + + Added feature to allow a database action (i.e. delete) not to fail if no + row was affected. Formating. Use toString() to convert to String rather + than cast. + + + Added SimpleSelector that operates just on Strings. Useful in conjunction + with a sitemap variable or input module. + + + Fixed SchematronValidator.evalRule() in xmlforms block: create a relative context instead of an absolute one. + This allows to refer to another form field by using relative paths (../password) instead of choosing a common root. + + + Fixed return of different DirValidity objects on multiple calls on getValidity() in the DirectoryGenerator. + + + The DTDs are now completely handled by the catalog entity resolver. + The old copies of DTDs at xdocs/dtd/ have been removed. If you are + editing the Cocoon xdocs with an xml editor, then point it to the + WEB-INF/entities/catalog or catalog.xcat file. If your editor cannot + utilise an entity resolver, then get a better editor. + + + Added support for permanent redirects in <map:redirect-to> + + + Fixed some caching (added missing parameters and changed algorithm for cache key generation) + and logging issues in the DirectoryGenerator. Fixed the root pattern handling (if not matching + directory found leave out the ancestors). Fixed empty src attribute handling. + + + Upgraded to new Axis 1.1 release + + + Adding concept of parent-aware components, making e.g. the usage of + selectors with a component manager hierarchy much easier. + + + Added/fixed internationalization support for HSSFSerializer by setting the output encoding + hardcoded to UTF-16. It is obviously only a hack, but so it is at least usable for more people. + + + Fixed usage of removed method XSPUtil.include() in ESQL logicsheet <esql:get-xml/> + + + Fixed NPE in SQLTransformer.serializeData() + + + Added cHTML/iMode "Hello World!" sample (provided by Arje Cahn) + + + Upgraded Xalan (includes XSLTC) from a CVS snapshot (20030506) to version 2.5.1. + + + Updated ParanoidCocoonServlet, which is now an easy solution to the + well-known endorsed library problem (incompatible version of Xalan in + Cocoon and in JDK 1.4+). + + + 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). + + + The deprecated source implementations are now wrapped by proxies. + Modified patch from Jens Lorenz (jens.lorenz@interface-business.de) + + + For non-existent files XSPUtil.relativeFilename() now throws FileNotFoundException instead of NPE. + + + Getter for jxcontext_ property added for subclassing reasons. + + + Fixing incorrect caching behaviour when internal pipelines are used. + + + Command-line will no longer add a 'null' suffix to files with an unknown MIME type. + + + The object model and the components stored in the object model are now available + via the component context. + + + Logicsheets: + Changed scope of and renamed temporary 'soap:call' XScript variable in <soap:call>. + Fixed compilation problem with <xscript-get as="object"> expression. + + + I18nTransformer: support a currency attribute on i18n:number. This allows + to take the currency symbol and formatting from one locale and the decimal + and grouping separation symbols from another locale. + + + Fixed synchronisation problem in I18nTransformer when retrieving catalogues. + + + Improved XPointer support in the XIncludeTransformer. Meanwhile improved the way xml:base + attributes are handled, added support for the xi:fallback element, do XInclude processing + on included content, and added XInclude samples. + + + Dispose the parent Component Manager if it implements Disposable. Happens when the + Cocoon servlet shuts down or when Cocoon is reloaded. + + + + + Changed namespace for the RequestGenerator to 'http://apache.org/cocoon/request/2.0'. + + + Changed namespace for XMLForm components to 'http://apache.org/cocoon/xmlform/1.0'. + + + Extended the ExtendedXLinkPipe to be more extensible. Prepared is html and p3p. + + + Patch velocity generator, so that the scope of objects can be specified (request, session, sitemap). + + + Fixed namespace handling in XMLDBSource. + + + Added XHTML 1.1 DTD to the entity catalog. Added XHTML 1.1 serializer into the sitemap. + Explained different XHTML 1.0 serializer options. + + + Enable the LDAPTransformer to obtain attribute values from LDAP using various encoding + schemes for stored values. + + + Cleaned up MIMEUtils. + + + The DirectoryGenerator is now cacheable. A new "refreshDelay" parameter defines the delay between two checks + on the filesystem for modified files. + + + Added STX block. (alternative to XSLT) + + + Throw InvalidContinuationException when flow continuation is not found or not valid, + instead of forwarding to hard-coded 'invalidContinuation' page. + + + Fixing NPE in JspEngineImpl. + + + Obtain handler and application name from parameters for internal requests if + handler could not be resolved from the request object. + + + Delaying getting of the output stream from the http response until it is really needed. + + + Adding new portal framework. + + + Updated Xalan to a CVS snapshot (2003-05-06), fixes bug with incorrect + namespaces in endElement SAX events. + + + QDox block added, parses Java source code and javadoc tags, includes samples. + + + Fixing the problem with eating spaces in custom transformers. + + + Hello World sample added for the SWF block (although page2swf.xsl contains incomplete font definition). + + + Redesign/modularizing the authentication and session framework. + + + Added 304 support to cacheable pipelines + + + DTD comment events are now dropped after parsing by default. + + + 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). + + + Disabled incremental-processing of Xalan by default. + + + standalone-demo build target added + + + cacheable.xsp sample reworked, did not work in M1 + + + new FOP serializer samples, accessible from the "blocks with samples" page + + + Fixed NPE if ESQL does not get a connection + + + Fixed SQL injection vulnerability of DatabaseAuthenticatorAction + + + ESQL "Auto" support for sybase ASE. New database detection method. + + + Removing dependency from the Cocoon core to JTidy. + + + Sync XML:DB source with 2.0 branch: Conect to the XML:DB once, from the + XMLDBSourceFactory. + + + + + TextSerializer now can handle absence of root element in the incoming XML. + + + 'handle-errors' sections in the sitemap now do not have an implicit + generator: any generator can now be used, whereas previously it was + implied and produced an XML representation of the error). +
+ To ensure backwards compatibility, 'handle-errors' sections can have a + 'type' attribute to continue the implicit-generator behaviour, but are + now to be considered as deprecated. +
+ A new ExceptionSelector is also available to drive the error-handling + pipeline constuction depending on the error type. +
+ + EsqlConnection no longer implements java.sql.Connection. + No jvm dependency any more. + + + Refactored SitemapConfigurable. A sitemap configurable component can + now be ThreadSafe and has access to the sitemap configuration at any time + through a SitemapConfigurationHolder. + + + Correcting method names of new CacheableProcessingComponent interface. + It is now possible to write components that support the 2.0.x and the + 2.1.x caching algorithm. + + + Setting minimum JDK version from 1.2 to 1.3. + + + Updating to the latest official Avalon and Excalibur releases. + + + Enhancements to the CLI to reduce the number of times it + needs to render a page. Using the option to prevent checking of extensions, it + is now possible to generate a site generating each page only once. + + Allow the configuration of the CLI using + an xconf file. + + Switch cli to using the Jakarta Commons CLI package. + + + Added support for the LogFactor5 graphical log event browser. + + + XMLFileModule: rename 'cachable' to 'cacheable' in configation. + + + FOP serializer's <user-config> relative path now resolves relative + to sitemap's directory. All Cocoon URIs are supported too. + + + The CVS repository for Cocoon 2.1 is now called "cocoon-2.1" (no branches, just HEAD). + + + Added support for Pervasive db to ESQL. + + + Changed category for Log logicsheets. + + + Extended the HTMLGenerator so that it can handle HTML snippets + provided as request parameter or as POST data, passing them through + Tidy to ensure well-formedness. + + + New caching cinclude transformer. The cinclude transformer can now cache + the aggregated content for a distinct period of time. In addition it can + fetch the content in parallel or pre-emptive. + + + The repository for Cocoon 2.1 is now called "cocoon-2-historical" (the old + "xml-cocoon2" repository is deprecated). + + + The "javadocs" build target now links offline to the appropriate JavaDOC + repositiories available on the web. + + + Added proxy generator block for remote HTTP-base generation of XML + (will deprecate the WSProxyGenerator). + + + Added subrequest processing via the sitemap to the Cocoon flow. + + + Moved the asciiart stuff from the scratchpad into a block. + + + Moved the SendmailAction and the mail-related stuff from the scratchpad + into the mail block. + + + Removed the MaybeUploadRequestFactory since we have our own and the less + dependencies the better + + + Moving core properties of the build system into a separate properties file. + + + The "expires" pipeline parameter is honored even by the internal Cocoon + cache, i.e. the caching algorithms are overridden if an expires + parameter is present and still fresh. + + + Set "Last-Modified" header + + + Fixed the ResourceExistAction to return null instead of EMPTYMAP on + not existing resources. + + + Refactored the build system. + + + Put the exceptions into esql namespace so the variable named "e" is still + available in XSP. + + + Now i18n transformer has support for multiple catalogues and can now use + "input modules" in catalogue name and catalogue location. Fixed bug with + getting content for the translation key in certain circumstances. Fixed + bug with accidental removal of translation text in certain circumstances. + + + Optional 'global' parameter on map:redirect-to when giving a URI. + + + Make getParentComponentManager in CocoonServlet protected so alternate methods to getting the + parent CM can be used. + + + Optional "depth" attribute on the cocoon log format to control how deep to go in stacktrace + reporting. + + + Do not specify a default to the "class-loader" parameter in JavaLanguage + + + 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 + + + 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. + + + Use Environment.tryResetResponse() instead of HttpServletResponse.reset() in CocoonServlet + to avoid IllegalStateException if response was already committed. + + + Add support for Collection objects to the CastorTransformer. + Upgrade to the SAX2 API, improve logging, and use SourceResolver to load mappings. + + + Refactor Main class into two classes, Main and CocoonBean. CocoonBean provides simple + programmatic interface to the Cocoon. + + + Add image dimensions to the ImageReader's cache key. + + + modular.DatabaseActions: added ability to store FileParts from uploads to + "ascii", "clob", "blob", and "binary" columns. Added getSize() method to FilePart. + + + SAP R/3 connectivity components added. + + + Moved block samples to own category, modified build system to merge + .xsample files to block-samples.xml. + + + Renaming components section for pipeline implementations to "pipes" and "pipe". + + + Updated to latest versions of excalibur sourceresolve and xmlutil. + + + Patch IOUtils to recognize '..' in Path + + + The "mime-type" attribute on <map:read> and <map:serialize> is now + expanded if it contains sitemap variables. + + + InputModule to access XMLForm instances. + + + (modular) DatabaseAction: added ability to use arbitrary path separators + instead of "." (e.g. "/"), added ability to count rows from 1, added + documentation. + + + Created additional isolation level for some OutputModules. + + + Added LinkRewriterTransformer. + + + Added support for expiring continuations. + + + Fixed the way complex Java objects are passed from the control + flow to the XSP view layer. + + + Added ant-contrib library with some optional ant tasks and started cleaning + up the build system. + + + ZipArchiveSerializer now accepts inline content for entries of the zip archive + and not only source URLs. + + + ImageReader extends now ResourceReader and therefor the + "expire-time" parameter is now "expires". Also removed the + setting of the byte range header for on-the-fly images. + (did not support it anyway) + + + Moved the byte range support from the ByteRangeReader in scratchpad + into the ResourceReader. Added the optional parameters "buffer-size" + and "byte-range". Byte range support is enable by default. + + + Move the image inspection into a ImageUtils class + + + Major cleanup of the ImageDirectoryGenerator, removed the RuntimeExceptions, + added support for the JPEG comment marker + + + Added reader user documentation section, including readers documentation; + added BrowserSelector, and HostSelector documentation, plus template-selector + usable as template for writing more selector docs; + added WildcardURIMatcher, and WildcardHeaderMatcher, plus template-matcher + usable as template for writing more matcher docs. + + + Fixed the esql:more-results tag for non-JDBC limit methods + + + Moved all classes marked @deprecated to the src/deprecated directory. + Since Many classes are still a dependency for the core, while this is fixed + the build process still copies them with the core during compilation. + To compile with the deprecation separation, do "build -Ddeprecate=true". + + + Moved code to new blocks: profiler, velocity. + + + Update XML Serializer, HTML Serializer , and Text Serializer documentation, + added XHTML Serializer documentation in the serializer user documentation section. + + + Update SVG Serializer, SVG JPEG, and SVG PNG documentation, added + SVG TIFF documentation in the serializer user documentation section. + + + XMLFileModule checks result of SitemapSource.getValidity() as it may return null + + + Integrated the validation targets into the build ("validate-config" and + "validate-xdocs") also still available at the command-line. Validation + happens automatically unless you switch it off. See document + XML Validation Facilities. + + + Postgresql 7.3: LIMIT x,y no longer supported. Added new class for + postgresql-old limit method that still uses LIMIT x,y while postgresql + uses the LIMIT x OFFSET y syntax which has been used by postgresql for + some time now. + + + Created .src/deprecated directory to contain all deprecated classes. + This will help in maintaining Cocoon free from deprecated classes. + Started by moving some deprecated caching stuff. + + + Moved code to new blocks: html, php, lucene, bsf + + + Now module.xml is named project.info.xml + + + Extension to sendmail.xsp: lists for sendmail:cc + + + Added container/form-encoding init-params to web.xml + + + Fixing various inefficient logging calls. + + + Make all "meta" modules ThreadSafe + + + Perform correct source resolution in XMLResourceBundle. + Now i18n transformer can obtain dictionaries using any supported source (e.g. 'cocoon:/'). + + + Added Greek translation, thanks to Stavros Kounis (gounis.at.osmosis.gr). + Corrected Armenian translation to be real Unicode and be + readable without additional plug-ins (on Win). + + + Updated the XML:DB Source. Now it will accept, in cocoon.xconf, + optional authentication attributes, called "user" and "password". + + + New transformer extracts fragments to documents and stores them using an + OutputModule. Tags that start fragment are configurable. + + + New output module puts everything in a map in a request attribute. + + + 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. + + + XMLMetaModule returns DocumentWrapper instead of String. + + + Wrapper for org.w3c.dom.Document that implements XMLizable and provides + a useful toString() method. + + + SimpleMappingMetaModule: added feature to remove a prefix / suffix. + + + "meta" input modules: configuring a different module locally did not + override the default one in all circumstances. + + + input.xml: renaming mixed up called template names from logicsheet-util.xsl + + + SimpleFormTransfomer: fixed error tags when no validation data available. + + + Moved the sample classes and confs to the samples block. + + + Cleaned up the esql logicsheet and helper classes. + Created classes for db specific stuff. + Improved the limit/paging features. + + + Moved the jsp components to the jsp block, using hand-made-to-be-cleaned + mock objects for the weblogic specific imports. + Had also to move some definitions from the cocoon roles and xconf file. + This moving of the blocks is indeed cleaning the core! :-) + + + Updated block build system to compile and use mock objects in + the "mocks" subdir of the blocks if present. + + + New InputModule to access contents of + an XMLFile using JXPath, based on patch from Jeff Turner (jefft.at.apache.org). + + + Moved endorsed libs in ./lib/endorsed, so that they can be added in the build file + easily as java jvm args, or in the future copied to the webserver or Java endorsed dir. + Currently it enables Jetty to run easily in 1.4 JVMs without need to copy libs to + the endorsed dir. + + + Added jetty webserver for fast and easy Cocoon test and evaluation. + To run launch "build run" and point the browser to http://localhost:8888/ + Since it seems there is a bug somewhere, ATM point to + http://localhost:8888/documentation/index.html to see the page. + + + Removed ./tools/build-i.xml and moved the interactive targets in main build. + Removed ./tools/build-s.xml and removed all references to scratchpad builds (not used). + + + Removed JTidyTask that was not used and switched to using the Ant input task from UserInputTask. + + + Added useexternalfile="yes" attribute makes Ant collect all package names in a temporary + file and give that to Javadoc, thus going round the Wintel long command truncation issue. + + + Moved LDAPTransformer to a block called "naming". + + + New build target "validate-schematron" to conduct build-time validation + (currently only the sitemaps) using RELAX NG grammars with embedded + Schematron rules. + This uses Schematron + stylesheets from Rick Jelliffe and Academia Sinica Computing Center, Taiwan. + + + Enhanced the RELAX NG grammar for sitemap.xmap files and added embedded + Schematron rules. + + + Fix setOutputStream throwing IOExeption in XMLSerializer, and TextSerializer. + + + Make the CLI report errors correctly to the screen when a page generation fails. + + + Moved POI to a block. Applied patch without moving the core elementprocessor + classes in the block. + + + When a part of a pipeline aggregation fails, cocoon will no more silently return + without reporting an error. + Now, upon request of an erroneous page, the result is that I can see all parts, that have been processed so + far on the screen and I see the error infos positioned at the bottom of the page. + + + Added 'query' sitemap parameter to SearchTransformer. Added configuration parameters to + SimpleLuceneXMLIndexerImpl for choosing the content-view and which tags you want stored + as fields by the indexer. Added field storage implementation to LuceneIndexContentHandler. + + + New build target "validate-xdocs" to conduct build-time validation of core + xml documentation (call it manually with: + ./build.sh validate-xdocs). + + + Added SystemPropertyModule input module to enable environment variables + in sitemap attributes. E.g.: + <map:transform src="{system-property:user.home}/style.xsl"> + + + Added resource bundle component interfaces to allow different + implementations to be used for i18n. + + + Extended implementation of i18n transformer to allow markup in translations, + inline translations (conditional processing) and named parameters. + Now i18n transformer is cachable, this will affect on dynamic markup, + e.g. i18n:date-time. + + WARN: The namespace of i18n markup is changed to "http://apache.org/cocoon/i18n/2.1". + i18n samples are updated to demonstrate the new features. + + + XMLForm Howto to reflect the fact that there is no + need for manual handling of unchecked check-boxes. + + + Updated Xalan to 2.4.1 + + + Renamed the AbstractMethodAction into AbstractMultiAction and + moved it from scratchpad into the maintrunk. Using it helps + reducing the amount of custom actions for a webapp. + + + Added RELAX NG grammar for sitemap.xmap files and removed old draft sitemap + DTD. + + + Started moving database related stuff (actions, transformers, readers) as well as HSQLDB to a new blocks. + Samples have not yet moved to new block, datasource declaration has. + + + Updated the draft DTD for sitemap. + + + Added a draft W3C XML Schema for sitemap. + + + Removed deprecated notification classes in org.apache.cocoon.* and in + org.apache.cocoon.sitemap.* and the deprecated methods in + org.apache.cocoon.components.notification.Notifier. + + + Added support for sitemap variable anchors {#name:variable}. + This introduces a new "name" attribute for matchers and actions + + + Added support for direct access of root level sitemap variables {/1} + + + New pipeline hint attribute to allow pipeline components (i.e. map:generate, map:transform + and map:serialize) to hold some pipeline-specific parameters. The first usage of this feature + is to drive manual cache points for the CachingPointProcessingPipeline. + + + Removed all references to Loggable in favor of LogEnabled (this includes + references to common abstract classes as AbstractLoggable and + AbstractDualLogEnabled) + + + Added support for using Avalon components as Axis service objects + with the AxisRPCReader. + + + Enhancing cinclude transformer with configuration possiblities, lie + POST requests and flexible parameter handling. + + + Enabled the RTF serializer and SWF serializer as block. + + + Enabled the chaperon text parser as block. + + + Added initial support for compilation of Cocoon blocks, and migrated + Fop and Batik classes and configuration to the src/blocks dir. + Blocks that need Avalon components not yet supported. + + + Added support for Avalon Excalibur instrumentation. + + + Added CascadingIOException to wrap other exceptions when an IOException is thrown. + + + Added configurable buffering of the output. This removes all the problems + with error handler and already committed responses etc. A new pipeline + parameter "outputBufferSize" controlls the behaviour. + + + Added AxisRPCReader to scratchpad. This reader essentially allows you + to serve SOAP requests from your Cocoon application. Sample webapp with + status page is also included. + + + Updated Jakarta Commons HTTP client jar. Fixes problems with SOAP XSP + taglib. + + + Added new ComposerReader class with various Reader refactorings. + + + Don't explicitly redirect to the cocoon:/ pipeline in + AbstractInterpreter.forwardTo(), do it instead in + system.js. + + + Fixed code generation problem in the jpath.xsl. Patch from. + + + New user login and preferences sample to show the control flow + layer. + + + The control flow layer can now save the global JavaScript scope in + the servlet session object. This allows the value of global + variables to be saved between different top-level function + invocations. + + + Profiler components extended to store intermediate SAX + fragments, and also the some informations about the + environment, thanks to Bruno Dumon. + + + Made Commandline Cocoon (Main.java) verbose output (-V option) + less cluttered and grouped the log and output methods. + + + Commandline Cocoon (Main.java) now doesn't stop anymore on broken links, + but inserts an error page instead and correctly notifies it in the + broken links file if requested. + + + Add the methods 'copy', 'move' and 'delete' to the WriteableSource + interface. + + + Added the Chaperon components, examples and docs into the main tree. + + + Replaced implementation from Loggable by LogEnabled to use + the Avalon Logger instead of the LogKit Logger. + + + Moved the SWF generator and serializer from the scratchpad into the main trunk. + Added a hello-world sample for SWF + + + Added a new PDF serializer. iText seems to be good and fast alternative with many features + iText also provides support for RTF and HTML + + + Updated xerces, xalan, xml-apis jars to their latest CVS versions. Especially due to some xerces bugs in the 2.0 release + + + Made docs target use logging to file via the logkit.xconf and added informative System.out messages for the + commandline cocoon (Main.java). + + + Allow parent component manager to be LogEnabled. + + + Extended pipeline handling for CachingPoint caching algorithm. + + + New samples for HSSF Serializer. + + + This adds get-bigdecimal to ESQL (see java.math.BigDecimal for details as to why + you need BigDecimals). + + + The SQL Transformer does those nastly looking exponents for large values. By + calling "getBigDecimal()" instead of getObject we can call an overridden + toString and avoid those nasty things. + + + Python language support for the XSP pages. + + + Python programming language using jython interpreter. + + + New SwitchSelector that uses a common context object for all map:when tests. + + + Fixed the use of roles in TraxTransformer which was incorrect. Now it sets + the factory explicitly in the XSLTProcessor component without using + any special avalon component management capacity. + + + Uniformed the configurations used by the Avalon XSLTProcessor component + and the TraxTransformer to specify the TransformationFactory to use. + + + Applied patch to add javascript support for the mozilla browser for transforming xml + to html. + + + + The OASIS Catalog and the entities (DTDs, entity sets, etc.) have moved + to WEB-INF/entities and the CatalogManager.properties file has moved to + WEB-INF/classes + + + New Cocoon Generator. Allows Embedding One Web Site in Another. + WebServiceProxyGenerator Demo. + + + XMLForm framework. Allows client independent form handling. + + + Added "userhomes" in the webapp, that automounts the sitemaps + found in *nix user homes. + To remove it, just delete the dir. + + + Added support for actions and In-/OutputModules to the JavaScript + Flow. Caveat: Modifications of the Redirector object are ignored. + + + Support for writing xLOBs to database through modular.DatabaseActions. Does + not include a required InputModule that returns a JDBCxlobHelper to be + passed to the action. + + + New DatabaseAction: DatabaseQueryAction. It works like the other modular + DatabaseActions but does not auto-generate the query. The query has to be + provided conforming to PreparedStatement syntax. Unlike the name might + suggest, it can be a select, update, or delete query. + + + Updated SourceWritingTransformer. Changed the tag set so that source:write and source:insert each share the same way of taking parameters. + Added results from source:insert tag like source:write. + Changed the implementation of the source:write tag so it now buffers to DOM Fragment like source:insert. + Added new tests, updated slash-edit to use new tags. + + + Removed (long time deprecated) matcher and selector factories. Use + appropriate matchers and selectors instead. + + + Updated the profiler code, removed the need of SAXConnectors. + + + Encourage people to help with the refactoring of Cocoon samples. + Provide a + refactoring guidelines document. + + + Moved the old sample for Catalog Entity Resolver in to the new + webapp/samples structure. Added new sample for Simplified DocBook DTDs + configuration. Added section for other miscellaneous samples. + + + Moved linkstatus sample and LinkStatusGenerator to core from scratchpad; + added a link to test the documentation links on the Cocoon demo webapp frontpage. + + + ESQL: Added support for reading BLOBs from database. + + + DatabaseActions, changed behaviour: Tables are used in order of appearance + in tableset, before they were used in order of appearance in tables section. + + + Removed XT XSLT transformer. + + + Added custom component configuration to map:pipelines section. + + + Added global parameters to map:pipelines section. + + + Changed modules to use objectModel instead of just the request object. + + + Modular database actions now don't inherit from original database actions + anymore. Some custom datatypes got lost during this process as they should + be handled be specialized input modules instead. + + + Replaced event pipeline and stream pipeline with one single component, + the processing pipeline. Added configurable pipelines to sitemap. + + + Added an "expires" directive to map:pipeline in order to + manually set an "Expires:" HTTP header following Apache's + mod_expires syntax. + + + Modified check-jars.xsl to dynamically create the jars.xml for + documentation. + Need to copy the generated file over the static placeholder... + Help - where to in the build.xml? + + + ResourceReader gets the mime type from the source now, + instead of declaring the mime type in the sitemap. + + + Moved mod-db stuff from scratchpad to trunk. + + + Util logicsheet: get-source and include-source tags. E.g. to include XHTML + generated by another pipeline as email. + + + Esql: multiple results can now have different result blocks, position + determines matching result position. Last one is default if more results + arrive. call-results now evaluated after other results to comply with JDBC + specs. + + + Added Jakarta Slide Source components and examples in scratchpad. + + + Added continuations-based control flow support to Cocoon. It is + currently based on a modified Rhino JavaScript implementation with + continuations support, courtesy of Christopher Oliver: + ftp://ftp.primaryinterface.com/pub/rhino. + + + Added size attribute and sorting to directory-generator. + + + Changed error behaviour in esql: all exceptions now result in error-results + being evaluated. If error-results is present, exceptions are caught, + otherwise a processing exception is thrown. + + + Complete rewrite of grouping code in esql (footer still not supported), + group-on available through esql:param + + + Esql fix for get-columns with PostgreSQL and getObject not working with all + datatypes + + + CLOB support in esql logicsheet, esp. in get-xml + + + changed the LanguageException and the JavaLanguage to expose more than + just the compilation error. Now it also shows the actual code from the + repository +/- a few lines around that error. + + + restructured the ProgramGenerator and + added option "watchSource" (true/false). If turned on you can + make changes inside the generated source code (inside the repository) + and the ProgramGenerator will compile them for you. This eases XSP + debugging a lot! Turned off (same behaviour as before) by default. + + + Fixed esql getBytes() behaviour + + + Integrated the new Avalon Excalibur Store and StoreJanitor components. + This deprecates the Cocoon version. + + + Added formula support for HSSF Serializer. + + + Integrated the new Avalon Excalibur XSLT Processor. This deprecates the + Cocoon version. + + + Locale selection for I18nTransformer changed to use parameter set from sitemap. + The old behavior (implicit locale selection using LocaleAction) is not supported any more. + i18n samples are refactored, redesigned, new translations are added. + + + Integrated the new Avalon Excalibur Source Resolving architecture. This deprecates + the now obsolete Cocoon source resolving. Wrapper classes etc. have been provided + for an easy upgrading. In addition the Excalibur XMLizer is added. + + + Added the sunShine contribution from S&N AG, Germany (http://www.s-und-n.de). This + contribution consists of a session management framework, an authentication + framework and a portal engine. + + + Changed default persistence store to the JispFilesystemStore. + To switch back to FilesystemStore, remove jisp.jar and rebuild Cocoon + (or simply edit cocoon.xconf) + + + RequestGenerator does optionally output request parameters. + + + Output extra locator info if included Throwable of ProcessingException is + SAXParseException or TransformerException. + + + FIX NPE in org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline, + if content is malformed, and there exists an cached response the + validity[] contains null entries. + + + Fix CocoonCrawlerImpl, check if contentType is not null, and always close the BufferedReader at the end. + + + Added JXPath based input modules for Request and Session properties. + Demonstration sample is also added. + RequestContextPathModule and RequestURIModules are obsolete now and + will be removed. + + + Updated the Jisp store system to the new Jisp version and added the missing clear() + and keys() methods. + + + Added a more sophisticated example in samples/webserviceproxy/cocoonhive. + Demonstrates a small virtual portal which embeds functionality + from Amazon and OpenWiki. + + + XMLFormTransformer now saves a list of referenced model properties, + which is later used to automatically populate with default values + properties which were not addressed in the http request (like unchecked + checkboxes). This applies to session scope forms only. + + + 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. + +
+
+ +
+