[LWN Logo]

Date: Wed, 10 Feb 1999 22:04:37 -0600 (CST)
From: Jonathan Abbey <jonabbey@arlut.utexas.edu>
To: cool@lwn.net
Subject: Ganymede 0.97 released

Hi, Liz.  Per your request, here's a cc: on the new Ganymede release
info.

Thanks,
 
 Jon

----------------------------------------------------------------------

Ganymede 0.97 is now available for download at

 ftp://ftp.arlut.utexas.edu/pub/ganymede/

Ganymede is a GPL'ed network directory management system written in
Java, providing support for team management of NIS, DNS, etc.

--

This release includes a fix to the distribution that caused the schema
editor to throw a ClassNotFoundException when examining namespaces.

This release includes a number of changes to bring Ganymede closer to
being ready for production use.  This includes better handling of the
journal, database backups, and old versions of emitted build files.

The big new feature in this release is that it is now possible to
register, unregister, and edit scheduling parameters for all
server-side tasks through the Ganymede client, rather than having to
edit the server startup java code.

Unfortunately, this required an incompatible change in the basic
schema definition for the Task object type, so Ganymede 0.97 will not
work properly with a ganymede.db file from Ganymede 0.96 or earlier.
Ganymede 0.97 comes with new schema files for all of the schema kits,
so if you were using one of the included schema files, just re-load
your database from the standard input files and you'll be set.

-------------------- Changes from 0.96 to 0.97 -------------------

RELEASE DATE: February 10, 1999

1. [DISTRIBUTION] Fixes to the distribution set

There was an error in scripts/sync_tree.admin.in.. it didn't include
the NameSpaceEditor class required by the admin console's schema
editor, so editing namespaces in the schema editor was broken in 0.96.

Thanks to frederick.j.dickey@boeing.com for reporting this.

2. [DOCUMENTATION] Fixes to the customization guide

The DBEditObject customization guide has lots of references to javadoc
pages, but the method links weren't properly constructed for use with
the 1.2 javadoc output format.  You should now be able to click on
method names in the customization guide and be taken directly to the
method docs.

Brought the guide's content up to date with recent changes to
DBEditObject.

3. [SERVER] Amended journal loading code for production mode

The journal loading code in the Ganymede server now simply complains
politely to stderr if the journal is truncated inappropriately, rather
than throwing an IOException.  This allows the server to recover
gracefully if the server was killed while in the middle of writing a
transaction to its journal.

The Ganymede server no longer keeps the old journal files around, but
rather just keeps a single back-up.  While it was entertaining doing a
hexdump on old journal files to see what had been done, it cluttered
the db directory more than being of any use.

4. [SERVER] Changed how file backups are handled

Previously, all of the schema kits' builder tasks copied individual
files to file.<date> when the builder task was re-run.  Now any time
a builder task is executed, the existing output files are zipped into
a file named <date>.zip in an 'old' directory in the output directory.

Actually, didn't modify all of the kits.. I didn't bother to modify
the ganymede.old kit, which is really in need of a major overhaul.

The ganymede.db file itself is now archived when the newly created
archive task is run (on command by an admin console currently), or
when the server starts up with a dirty journal.

5. [SERVER] Enhanced Task Management

The server's task scheduling system was basically replaced.  The old
'Builder Task' object type is now a generic 'Task' type, with support
for editing scheduling parameters directly from the Ganymede client.
You can now add, remove, or tweak any task's scheduling parameters
from the Ganymede client.

Previously, of course, all but the builder tasks were configured by
hand in Ganymede.java.  Now it will be possible for Ganymede adopters
to have total control over task registration and scheduling without
having to edit code.

The downside to this is that the server will not have the 'standard'
tasks scheduled unless the ganymede.db file you are using has the
tasks registered.  

Most importantly, the change from Builder Task to Task object types is
an incompatible change from 0.96 and previous releases.  You will need
to start from scratch with the schema files included in the Ganymede
0.97 release in order to get the new Task object definition that the
server now requires.  Or, if you are particularly enthusiastic and
don't want to lose data already in Ganymede, you could use the schema
editor to bring your pre-0.97 datafile into compliance with the 0.97
Task object schema.

Generally, I am not committing to a freeze on the basic schema
definition until 1.0.  I don't expect any more incompatible changes to
the basic schema, but no promises until 1.0.

See doc/server.html for a guide on the new task scheduling system.

6. [CLIENT] Better taskbar icons

Brian reworked the taskbar significantly, with bigger and nicer
taskbar icons.  The dialogs brought up when the toolbar buttons are
clicked have been reworked a bit to be more distinctive.

More work coming to the client's GUI in 0.98.

7. [CLIENT] Fixes to date GUI code

The date selector dialog now properly shows the time of day set in a
date field.  You could set the time of day before, but upon reloading,
it would not be displayed properly.

-------------------------------------------------------------------------------
Jonathan Abbey				              jonabbey@arlut.utexas.edu
Applied Research Laboratories                 The University of Texas at Austin
-------------------------------------------------------------------------------