[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
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/
----------------------------------------------------------------------------