Hello,
I think it about time that we start thinking about a 1.8 release. 1.8
contains many new and useful features, and we don't want to hold back
any deployments of it. Soon work on a re-factoring of the editwizard
will proceed on behalf of several parties (Kennisnet, Finalist, PO)
and this will be based on 1.8, and needed in november.
So, the release-team (er, me) wants to use the opportunity and goal
at a release of MMBase 1.8.0 at november 1.
This means that I want to start a 'freeze' at october 15. No new
features after that, and no more broken code after that. Only
bugfixing, and other preparation for the release.
1 november we will release then either 1.8.0.beta or 1.8.0 itself.
And perhaps a release-candidate between oct 15 and nov 1.
A branch (for 1.9) will be unwillingly created on request, or after
the release.
What needs to be done before that?
I just checked in new version of the release-plan and release notes
of 1.8 (I'll also attach) The actually contain similar information.
In the release plan I tried to indicate what is done (DONE), what we
won't do (SKIP), what we should do before november 1 (DO) and what I
really don't know yet (PENDING).
I want to ask the project leaders to review these documents and
concentrate on their own project and perhaps update these files, and
report to this list.
You are also urged to simply add bugs in 1.8 to the bugtracker
(marked as '1.8.0' and 'fixed in 1.8.0' means that the bug only
appeared before the relase)
I want to release 1.9 e.g. in the beginning of 2006 then or so, and
make minor version of 1.8 a bit more often then for 1.7 (1.7.4 has
not even been released, sorry...)
Michiel
===================================================================
MMBase 1.8.0 - Release Notes
===================================================================
============
INTRODUCTION:
============
This document describes the changes that have been made in the final
release of MMBase 1.8.0, relative to the previous release of MMBase (1.7.x).
Bug reports should be entered at the bug reporting system for MMBase
at:
<http://www.mmbase.org/bug>
============
NEW FEATURES:
============
--------------------
General New Features:
--------------------
[1.8.0]
- Vwms (virtual web masters) have been removed from the core and placed in a
separate 'vwms' application.
- SCAN is now a separate application. The application depends on the vwms
application.
- Crontab is a new application that provides scheduling.
- Class security provides authentication wrapping based on calling class
- It's easier to make security independen code because of new features about
default authentication
methods.
- Richtext application provides support for kupu-editor, and we basicly have
'rich text' now,
including inline urls, attachments, images, cross-links and 'blocks' (notes,
intermezzo's)
- Images
Several improvements
- Support for height and width (predicted before conversion, determined
after conversion, and
stored if corresponding fields are available) (This was ported to 1.7.4
too)
- Transformations are postponed to when actually served
- FileName of upload can be stored, and be added to the URL
- ResourceLoader was created, MMBase can more easily be deployed as war now.
Most configuration can also
be shipped inside jars, and be overriden. This means the most applications
can principally be installed by
placing one jar in WEB-INF/lib plus placing jsp's if any.
- DataTypes and Field improvements.
New datatypes 'datetime' and 'boolean'. Support for 'constraints' on all
types, default values,
uniqueness etc. All on field level.
This gave rise to complete new package org.mmbase.datatypes which is also
part of 'bridge'
because its classes are accessible through several methods in bridge.
- Functions. The function framework was completed. Among others you can now add
functions in the
builder xml (without the need to override the builder class).
Taglib New Features:
-------------------
- Bunch of new tags/attributes (see documentation)
- Compatibility with EL. MMBase Taglib variables are now EL variables.
This may give minor compatibility issues. If this gives too many issues for
you, you can switch
this behaviour off (this needs some testing still though).
- 'escapers' can be more easily added, and they can also be configured on the
page (mm:escaper)
--------------------
Obsolete Features:
--------------------
[1.8.0]
- The 'ObjectTypes' class is merged into the 'TypeDef' class. Old code
referencing ObjectTypes should reference TypeDef instead. This includes the
typedef.xml builder configuration file.
- The storage configuration files were originally located in the mmbase.jar.
In 1.8, these files have been moved to the storage/database directory in the
mmbase config directory. Files that override the storage configuration need to
be moved to the new directory.
- The 'Config' module and the 'AppTool' utility have been dropped from the
code. Both tools provided visual input regarding configuration or
application makeup, but were considered outdated.
References to these modules have been removed from the MMBase admin pages.
------------------
Bug Fixes:
------------------
[1.8.0]
many
========================
Know Issues and Problems:
========================
- If your app-server supports JSP2.0 (e.g. tomcat5 with a 'new'
web.xml or resin 3), then the new EL (Expression Language) syntax
collides with the Expression language of mmbase taglib.
MMBase Taglib JSP's using the ${} syntax might work then, because this is
also EL. To locally
disable, avoid {} (letting it away, or replacing them by []) or add <[EMAIL
PROTECTED]
isELIgnored="true" %> to the page.
- Orion version < 2.x doesn't support the final servlet api 2.3,
because of this the jumpersFilter will not work. You will need to
remove the following lines from <WEB-INF/web.xml>:
<!-- Filter for jumpers -->
<filter>
<filter-name>Jumpers Filter</filter-name>
<display-name>Jumpers Filter</display-name>
<description>Filter used for jumpers</description>
<filter-class>org.mmbase.servlet.JumpersFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Jumpers Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
And replace them with:
<servlet>
<servlet-name>servjumpers</servlet-name>
<display-name>servjumpers</display-name>
<servlet-class>org.mmbase.servlet.servjumpers</servlet-class>
</servlet>
<servlet-filter url-pattern="/*" servlet-name="servjumpers" />
(I'm not sure where the last line has to be: web.xml or orion-web.xml).
- Length of email field inside Users and People builder isn't
rfc-compliant, but with 255 it stays beyond a limit some databases
use before switching to a bigger string-type (eg clob).
- Not all HTML is html4 or xhtml valid
- Sometimes it is needed to copy xml-apis.jar to
<$CATALINA_HOME/common/lib/> or $ORION_HOME, eg if you're doing
xslt-transformation or if you're using the editwizards.
- Imagemagick does work with Windows 98/ME, but MMBase is not able to
use it. You have to use Jai (Java Advanced Imaging API). You can do
this by changing the properties in
<mmbase-webapp>/WEB-INF/config/builders/applications/images.xml (after
installation of 'Resource')
or
<mmbase-webapp>/WEB-INF/config/applications/Resources/builders/images.xml
(before installation of 'Resource')
into:
<properties>
<property name="ImageConvertClass">
org.mmbase.module.builders.ConvertJAI
</property>
<property name="MaxConcurrentRequests">20</property>
</properties>
Please keep in mind that the image builder is less powerful when
using JAI instead of Imagemagick.
- Jumpers jump to /index.html by default, which can e.g. shield the
image servlet (if 'dotlessly' mapped). Remove the setting from
jumpers.xml if you prefer nice 404's (this is like this on default)
- Hsqldb uses the current dir for writing the database-files. This can
be the bin dir from where you're starting the servlet-engine. You
can change this to a dir you want, by changing the database-property
in jdbc.xml.
- Resin provides its own XSL-transformation implementation, on this
area are some known problems.
- Resin cannot swallow some of the larger jsp/taglib pages.
============
Requirements:
============
MMBase needs an servlet engine which supports the servlet api 2.3 and
jsp api 1.2. Furthermore it needs a database and a jdbc-driver.
The 'bin' distro does include a hsqldb database and driver.
=========
Tested on:
=========
The applications listed here are known to be tested with MMBase, but
the list is probably a lot bigger :-)
-------------
Java versions
-------------
- J2SE 1.4.2_02
- J2SE Blackdown-1.4.2
- J2SE 1.5.0_01
-------------
Java compilers
-------------
- sun jdk 1.4.2 (javac)
- sun jdk 1.5.0-beta (jikes does not work then)
- jikes version 1.18
using 1.15 jsp-editwizards don't work (when using jikes for jsp-compilation)
using 1.16 mmbase does compile, but give VerifyExceptions on running. See:
http://www-124.ibm.com/developerworks/bugs/?func=detailbug&bug_id=206&group_id=10
------------------
Servlet engines /
Application servers
------------------
These are the applications servers on which MMBase was tested.
- Tomcat 5.5.7
- Orion 2.0.3
---------
Databases
---------
- Mysql 4.1.8
- Hsqldb 1.7.0RC2
- Postgresql
- Informix
===================================================================
MMBase 1.8.0 - Release Plan
$Id: release-plan.txt,v 1.5 2005/09/17 13:59:58 michiel Exp $
===================================================================
TODO for 1.8.0 release of MMBase:
I Core/Project abstraction
The following applications should be removed from the core and moved to a
separate application:
- SCAN, including the org.mmbase.module.gui.html.* classes and supporting util
classes (i.e. scanpage)
This includes removing SCAN specific hooks from some core classes (an
alternative is needed to
provide backward compatibility).
DONE
- Email application: find a solution for the email module class interface that
is now in the core
DONE?
- Config module and org.mmbase.config: xml parsers and color coders (perhaps a
rewrite is better?)
DROPPED
- Tools: move utility classes, modules, and builders that are still useful to a
tools application
(or in case this is too hard, tag them for inclusion in a later release)
SKIP
- Future non-core projects should also be deployed in separate applications
packages.
DONE?
- If possible applicatuons should be configured to work with the Packaging
project (if this project
proves stable).
DO
II - Cleaning
The following steps should be made to clean the code. Note that part of this is
also done during abstraction
- removing all old database support and storage classes
DONE
- remove all utility classes, modules, and builders that are no longer used,
i.e. DateSupport or
Storable
DONE
- Mark xerces/xalan dependent code for future change (there is no solution for
this dependency yet)
DONE
- cleaning of the html-dir
DO
III Improvements
The following Core functionality will be evalued and (if needed and possible)
improved in 1.8. It is possible that actual changes are delayed to a later
release if it proves too time consuming for this one.
- Multicast: select an appropriate (or pluggable) communication system, solve
issues with bursts of
change events
DO
- Modules and Builders: implement a proper way for loading, unloading,
reloading, and shutting down
modules and builders
SKIP
- Security: field-level security checks
SKIP
IV Performance and Maintenance
Performance issues should be analyzed and if possible resolved. It is possible
that actual changes are delayed to a later release if it proves too time
consuming for this one.
Performance and maintenance related issues are:
- Monitoring of MMBase performance issues, i.e. profiling
SKIP
- Running on packaged war (xml configuration as resources)
DONE
- serving images staticly
SKIP
- related-nodes optimalisation (passing queries to parent)
SKIP
- create a better build-process
SKIP
V Projects
The following projects should be finished or brought in a stable state.
This is dependent on input from the project manager.
New projects that are not in a stable state will not be deployed in the 1.8
release.
- Cleaning Project, fase II (see above)
PENDING
- Distro project
PENDING
- Field types project
DO
----> DO FIX RMMCI
----> DO Review code and new methods (org.mmbase.bridge.*,
org.mmbase.datatypes.*)
- Richtext project
DO
- Taglib II project
DONE
- Packaging project (new, formerly 'Applications II')
SKIP
- Cache release stategies
DO, or decide to HOLD
- Editwizard 2
Planned for 1.8.1
VI Other
- update and improve documentation
DO
- testing
- junit tests must succeed
DO
- junit tests must be reviewed
DO
- other test areas
(new features in 1.8)
- Taglib & EL
- DataTypes
- Events and Clustering
- Imaging
- Security
-test generality of e.g. basic editors. The idea is that they work
with every security
implementation, but this is not yet finished IIRC.
_______________________________________________
Developers mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/developers