[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ganymede dev5a released

Date Mon, 19 Oct 1998 22:58:54 -0500 (CDT)
From Jonathan Abbey <jonabbey@arlut.utexas.edu>

Ganymede developer pre-release 5a, dev5a.tar.gz, is now available from

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

 or

 ftp://129.116.212.1/pub/ganymede/

if your client has trouble resolving a proper address for
ftp.arlut.utexas.edu.

--

A fairly significant alpha rev-bump.  A fair bit of the logic in the
client has been reworked and/or simplified to facilitate the
development of some new wizards in our gasharl schema.  Some minor
but important fixes in the Linux and BSD schemas, and in the object
linking logic in the server.  Made the server a bit more robust in
the face of changes made with the schema editor.  Generally, this
is a clean-up release, with a number of things reworked to make
the system easier to maintain going forward.

One perhaps significant new feature is the 'gasharl' schema, which
includes support for some of the GASH feature set that we are using at
ARL but which may not be being used much of any place else, including
user categories and social security number handling.  The gasharl
schema isn't quite done yet, but it's pretty close, and it may be
worth looking at for some of the features the custom code has.

-------------------- Changes from dev5 to dev5a -------------------

Ganymede Developer Release 5a
October 19, 1998
CHANGES

RELEASE DATE: October 19, 1998

1. [SERVER/CLIENT] Added support for date, multiline text fields in dialogs

The dialog system used to pass wizards from the server to the client
has been radically simplified, and now depends on the Java
serialization system rather than its own serialization /
de-serialization code.

The server can now pass multiline text fields and date fields to the
client for use in wizards.

The GUI calendar/date field class has been reworked a bit so that
the system is more robust when dates outside of the defined range
are entered.

2. [SERVER] Reworked database field handling

Made the server more robust in the face of changes made with the
schema editor.  Converting fields in use between vector and scalar
will no longer cause the schema/db dump to fail, but changing a
field between scalar and vector will cause any instances of that
field loaded in the database to be dropped.

All of the DBField subclasses now use explicit isDefined() and
setUndefined() methods to handle tracking whether a field is
defined or not, rather than using a defined flag.  This makes
things much more flexible and robust, as the isDefined() method
can check things out at any time and report on the status of the
field, rather than having to try to properly update the defined
flag everytime anything could possibly affect it.  Like changes
to the schema, say.

3. [SERVER] Made DBEditObject.{getSession(), getGSession(), getOriginal()} public

This change allows custom wizard code to have more access to the
Ganymede server for examining state and making changes, etc.

4. [SERVER] Fixed GanymedeWarningTask

The Ganymede warning task had an error in it that caused it to throw a
NullPointerException when it came time to warn about an impending
object removal.

5. [SERVER] Added support for generic transactional mailouts

I added support in the Ganymede transaction class (DBEditSet) for
doing generic mailings associated with a transaction, using the
logMail() methods.  Some changes made to DBLog and DBLogEvent to go
along with it.

This code isn't the cleanest, as the existing event handling code has
been adapted for handling generic mailouts rather than reworking the
logic to use different kinds of events with a base class and
subclasses, but will have to do for now.

6. [CLIENT] Substantially simplified, reworked icon tracking for nodes in tree

Previously, the client maintained an extensive set of hashes to try to
synchronize changes to objects made by the client to the graphical
representation of nodes in the tree.  This has been changed.  Now the
client just asks the server for the status of objects after a transaction
has been committed, rather than trying to track the changes by guesswork.

The point of these changes is to make the client much more robust in its
synchronization with the server, and to make it easier to maintain.

The cost is that whenever an object is manually inactivated or
reactivated, the client will do a round-trip to the server to verify
and update the status of the object, and whenever a transaction is
committed, the client will spend time checking the status of all the
objects touched by the transaction.

All of this was due to the need to have the client be able to
react appropriately if server-side wizards set an expiration date
on a user, etc.

The client still uses a client-side cache to handle reverting the icon
for deleted/created objects on transaction cancel.

7. [SERVER] Added Session.queryInvids()

This provides a high-speed, non-blocking path that the client can use
to get a status update on a specific list of objects.  This is to
support #6, above.

8. [SCHEMAS] Fixed writeUserLine in builder task

In the Linux and BSD schemas, the system would throw a null pointer
exception when it went to build the passwd file if a user had
a home phone number but no office phone number registered.

9. [SERVER] Fixed InvidDBField.unbindAll()

The object binding logic erroneously assumed that all invid fields
potentially targeting a backlinks field were vector fields.  This
could lead to problems when deleting objects with a non-empty
backlinks field.

10. [SCHEMA] Added 'gasharl' schema

This is a variant of the gash schema that includes support for some
of the extended user_info fields we use here at the lab, including
user categories, user expiration dates, and social security number
handling.

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

----------------------------------------------------------------------------
To make changes to your subscription to the ganymede mailing list, send
mail to majordomo@arlut.utexas.edu.

To unsubcribe, include the line

unsubscribe ganymede

in the body of your mail message

Download ganymede from ftp.arlut.utexas.edu/pub/ganymede/.

To see the latest design specs for Ganymede, visit the Ganymede web page
at http://www.arlut.utexas.edu/gash2/
----------------------------------------------------------------------------