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

Reply via email to