Apache Newsletter
Issue: 3
Date: October - November, 2003
Url: http://www.apache.org/newsletter/200311.html
Status: OPEN FOR BUSINESS (will be published around 25th December)
Editorial
This is the issue #3 of the Apache Newsletter [1].
Editor: Tetsuya Kitahata <tetsuya@apache.org>
Table of Contents
ApacheCon US 2003
- Apache Ant Project
- Apache APR Project
- Apache Avalon Project
- Apache Cocoon Project
- Apache Cocoon
- Apache Lenya
- Apache Commons Project
- Apache DB Project
- DB Commons
- DB OJB
- DB Torque
- Apache HTTP Server Project
- Apache Incubator Project - General
- Apache James Project
- Apache Jakarta Project - General
- Jakarta Alexandria
- Jakarta BCEL
- Jakarta Cactus
- Jakarta Commons General
- Jakarta Commons DBCP
Jakarta Commons BeanUtils
- Jakarta Commons Betwixt
- Jakarta Commons Digester
Jakarta Commons HttpClient
- Jakarta Commons IO
- Jakarta Commons Jelly
- Jakarta Commons JXPath
- Jakarta Commons Lang
- Jakarta Commons Modeler
- Jakarta Commons Net
- Jakarta Commons Pool
- Jakarta Commons -- Sandbox --
- Jakarta ECS
- Jakarta Gump
- Jakarta Jetspeed
- Jakarta JMeter
- Jakarta Log4j
- Jakarta Lucene
- Jakarta ORO
- Jakarta POI
- Jakarta Regexp
- Jakarta Slide
- Jakarta Struts
- Jakarta Taglibs
- Jakarta Tapestry
- Jakarta Turbine
- Jakarta Tomcat
- Jakarta Velocity
- Jakarta Watchdog
- Apache Perl Project
- Apache Maven Project
- Apache Tcl Project
- Apache WS Project - General
- WS Axis
- WS jUDDI
- WS SOAP
- WS WSIF
- WS WSIL
- WS XML-RPC
- Apache XML Project - General
- XML Axkit
- XML Batik
- XML Commons
- XML FOP
- XML Forrest
- XML Secutiry
- XML Xalan Java 2
- XML Xalan C++
- ZML Xerces Java 2
- XML Xerces C++
- XML Xerces Perl
- XML Xindice
- PHP Project
- Infrastructure Team Report
- Fund-raising Report
- Security Team Report
- New Committers
- Readers' Voice (Apache Newsletter Issue 2)
Apache Ant
Most of the last weeks have been spent on getting Ant into shape for the release of Ant 1.6.
We've released the first beta on 30 September, the second on 16 October and a third beta on 4 December. Ant 1.6 is expected to be released before the end of the year.
Antoine Levy Lambert and Peter Reilly have been added to the Ant PMC. We thank Diane Holt and Donald Leslie for their past contributions to Ant, they've now become emeritus members of the PMC.
Jakarta Commons DBCP
On 22 October 2003 version 1.1 of the Jakarta Commons DBCP component was released.
Commons-DBCP provides database connection pooling services. Together with Commons-Pool it is the default JNDI datasource provider for Tomcat.
For more information, visit the Commons DBCP website [1].
There were a lot changes since the 1.0 release on 12 Aug 2002.
- All existing features can now be configured by JNDI Context providers (Tomcat).
- The double close() of a pooled connection is more effectively blocked.
Prepared statement pooling is now implemented in BasicDataSource.
- Access to the underlying connection is blocked by default.
- New minIdle parameter for a minimum number of idle connections ready for use.
New connection default properties: defaultCatalog & defaultTransactionIsolation.
- Missing driverClassName will now give the following error "No suitable driver".
- Bad validationQuery will produce a meaningful SQLException.
UML Class & sequence diagrams, configuration documentation.
- This release contains bug fixes to all known issues.
The latest binary release is always available on the Jakarta Binary Downloads page, its source is available from Jakarta Source Downloads page.
Jakarta Commons Digester
A significant number of new features as well as quite a few incremental improvements have gone in since the last release (1.5). Some serious thought is therefore being given to making a 1.6 release shortly.
New features (see below):
- generic hooks for attribute and body data manipulation (and thus variables expansion)
- plugins
- examples
Minor changes:
a new WithDefaultsRulesWrapper allows a set of default rules to fire if no other rules match an input element.
a new SetNestedPropertiesRule allows bean properties to be set from child elements like SetPropertiesRule functions for attributes without any need to use the powerful but less efficient ExpandedBaseRules for "trailing-wildcard" support.
a new PathCallParamRule allows the path to the currently matched node to be passed as a parameter of a CallMethodRule.
- a new Digester class initialize template method allows Digester subclasses to initialise themselves more easily.
a factory method for ObjectParamRule allows this very useful rule to be accessed more conveniently.
- allow trailing / on patterns
- xmlrules _rules_ can now be loaded from a SAX input source
xmlrules support for ObjectParamRule
- xmlrules classloader fixes
Users of Digester now have hooks available to do "pre-processing" of xml attributes and of xml body data before rules are fired. On top of this feature has been build support for variables, just like your favourite build tool "ant". In fact, the variables facility is significantly more flexible than ant's behaviour; not only "${foo}" in attributes, but also in element bodies if you desire it. Multiple sources of variable data are also supported, eg "env{foo} is different from session{foo}". For those that are interested, please see the javadoc.
As mentioned in the last newsletter, the "plugins" module allows a kind of "distributed rules" which can be very useful in building "expandable frameworks" such as Avalon or Log4j, where users can provide their own classes at runtime and have them configured from the main configuration file. A very limited form of this has always been available, but with the plugins module all the features of Digester become available to perform configuration on the user classes.
Also mentioned last newsletter, examples are now available for new users.
Jakarta Commons Pool
On 22 October 2003 version 1.1 of the Jakarta Commons Pool component was released.
Commons-Pool provides a generic object pooling interface, a toolkit for creating modular object pools, and several general purpose pool implementations.
For more information, visit the Commons Pool website [1].
There were a lot changes since the 1.0.1 release on 12 Aug 2002.
- A lot of corner cases were fixed.
- Performance improvement by optimizing pool synchronization, the critical code paths were optimized by reducing pool synchronization but we also added more synchronization where needed.
New minIdle feature: the minimum number of objects allowed in the pool before the evictor thread (if active) spawns new objects. (Note no objects are created when: numActive + numIdle >= maxActive)
New maxTotal feature: a cap on the total number of instances controlled by a pool. Only for GenericKeyedObjectPool where maxActive is a cap on the number of active instances from the pool (per key).
UML Class & sequence diagrams.
- This release contains bug fixes to all known issues.
The latest binary release is always available on the Jakarta Binary Downloads page, its source is available from Jakarta Source Downloads page.
Jakarta Gump
Gump continues in it's endeavours as a social experiment, providing inter-project communicating, primarily of interface changes, but also of purpose, interdependencies & some basic project statistics.
Gump metadata is (almost daily) updated by the community, reflecting the continual changes to the social network of OSS projects. Gump has reached new projects from Apache Incubator, Sourceforge, Codehaus, and others. Gump processes almost 500 projects, from roughly 200 modules.
For more information, visit the Jakarta Gump website [1].
Python Gump has undergone significant objectification, and is once again live and generating it's communications via HTML (using Forrest) [2] and RSS [3]. RSS feeds are now available per workspace (for failures) or on a per module/project basis.
Both Traditional and Python Gump are exercising the ASF Subversion repository [5], and have abilities to checkout/update projects from Subversion [6].
The site/documentation has been converted to Forrest xdocs, and will soon go live on the public site. The documentation begins to reflect the subtle differences between Traditional Gump and Python Gump.
The Gump team are looking for assistance with more remote Gumps, personal Gumps, cascaded Gumps, Gump GUI/tools development (in Python), and usage feedback. If you have interests in the 'fluid dynamics' of the OSS map, Gump is the place for you. [7]
Have you Gumped your software today? If not, contact us at on the mailing list [7]
[1] Gump: http://jakarta.apache.org/gump/
[2] Gump Output: http://lsd.student.utwente.nl/gump/
[4] Python Gump: http://cvs.apache.org/viewcvs.cgi/jakarta-gump/python/gump/
[5] Subversion: http://svn.apache.org/repos/asf
[6] Gump Subversion: http://cvs.apache.org/~bodewig/cvs_directory-naming.html
[7] Gump Mailing list: http://www.apache.org/foundation/mailinglists.html
Jakarta Lucene
Lucene 1.3 RC2 was released on 22nd October 2003. See CHANGES.txt for details: http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-lucene/CHANGES.txt?rev=1.56
Jakarta POI
The POI project released the 2.0RC1 version on November 3rd 2003. This is the most stable and feature filled release yet, fixing many old bugs. The 2.0 Final release is expected to happen in December.
WS jUDDI
jUDDI (pronounced "Judy") is a Java implementation of the Universal Description, Discovery, and Integration (UDDI) specification for Web Services. jUDDI is right now in the incubator.
XML Forrest
Forrest [1] is an XML-based documentation system built on Cocoon. It is used to build many websites [2] and an ever-growing number of ASF ones.
Forrest stable is still 0.5.1 and new development has included:
- Two new committers: Dave Brondsema and Unico Hommes
- Commenced work on new forrestbot, using Ant
- Skin packaging and downloading system
- When run as a webapp, changes in src/ are reflected immediately
New { { { LocationMapModule } } } that will enable Forrest with a configuration override mechanism.
- Krysalis skin improvements
As always, we welcome new participants. [3]