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

Ganymede dev5b released

Date Wed, 28 Oct 1998 01:17:57 -0600 (CST)
From Jonathan Abbey <jonabbey@arlut.utexas.edu>

Ganymede developer pre-release 5b, dev5b.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.

--

This release has a number of significant improvements to the client
that have resulted from end-user testing here in the laboratory.  Many
of these improvements are designed to make the client behave better
when running on Windows NT, but are beneficial on UNIX as well.

Also included are some somewhat obscure but nonetheless important
fixes to the Ganymede server's query and permissions handling.

We're getting very close to being ready to deploy Ganymede here at the
lab.. there are a few things we need to do in the gasharl schema kit
still to fully handle some of the auxiliary things gash did, such as
user home directory creation and the generation of our laboratory
phonebook.  However, the biggest thing holding us up is a desire to
not try to proceed with deployment until Sun puts out a FCS JDK 1.2.
Right now, the Ganymede client takes too long to start up with the
Java Plug-In on NT, as the user has to download the full swing.jar
file, since the current Plug-In doesn't include a javax.swing version
of the JFC GUI library.

-------------------- Changes from dev5a to dev5b -------------------

Ganymede Developer Release 5b
October 28, 1998
CHANGES

RELEASE DATE: October 28, 1998

1. [SCHEMAS] gasharl schema fixes

The gasharl schema included in dev5a did not properly have the custom code
to manage the user category object specified.

The system object's fieldRequired() logic did not check the associated
system type to see if the associated user field was required.

Both fixed.

2. [SERVER] Took out limit variable from GanymedeServer

The arlut.csd.GanymedeServer class had a 'limit' parameter in its
constructor, ostensibly for allocating space for a specific maximum
number of concurrent clients.  In fact, this parameter didn't actually
do anything and so it was removed.

3. [CLIENT] Titlebars in all windows now include type of object

There were a number of cases in which object panels would pop up
without any indication of what type of object was being displayed or
edited.  This has been fixed.

4. [SERVER] Fixed permissions checking for object viewing

In dev5a and before, the server could throw an
IllegalArgumentException if the user tried to view an object that
contained fields that the user did not have permission to see.  This
has been fixed.  The server will now just omit those fields from the
FieldInfoVector passed back to the client.

5. [CLIENT] Added ARL logo

I spent some time playing with gimp, to fancy up the login window,
and to let people know where ganymede came from.

6. [SERVER/CLIENT] Optimized memory usage for query handling

In dev5a and before, the client can take an enormous amount of
memory in processing a set of query results from the server, as
a result of inefficient memory usage in java.lang.StringBuffer().

The code used by the client to process query results now uses a
modified StringBuffer() designed to be far more memory efficient,
so the client should be able to handle much larger queries.  Truly
large result sets may still be a pain to handle in the table, speed-wise,
but the client shouldn't just crap out trying to digest the results
from the server.

In addition, the client now traps any errors in query processing and
will clean up the 'guy at work' window if the query fails for some
reason.

7. [SERVER/SCHEMAS] Fixed embedded object creation logic, pulled it into DBEditObject

Previously, the gash and gasharl schemas included code in the
userCustom and systemCustom objects to handle creating embedded
objects.  That code was broken, as it did not go through the normal
permissions checking to see if the user had permission to create the
object.  Now, in order to create an embedded object of a given type,
the user must be granted privilege to create that kind of object.
Having editing authority over the embedding field is no longer
adequate.  This change makes it possible to grant permission to edit
or delete entries in an embedding field without necessarily granting
privilege to create new entries in the field.

In addition, the code to do the creation of embedded objects was
essentially the same in the gash and gasharl userCustom and
systemCustom classes, so I pulled the code up into
DBEditObject.createNewEmbeddedObject().  Customizers can still
override createNewEmbeddedObject() in their custom DBEditObject
subclasses, but the normally expected behavior will be handled by
DBEditObject if they do not.

8. [CLIENT] Made the client applet not log out when the browser leaves the page

Previously, the client would log out as soon as the browser that it
was running in left the applet page, even though the client's other
windows were left up.  Now the client won't disconnect from the server
until forced to by the browser closing.  This was done by having the
glogin applet ignore both the stop() and destroy() methods in JApplet.
This probably wouldn't be the right thing to do if the client were run
directly out of a browser, but when using the Java plug-in, this lets
us keep going until the browser is shut down.  The server is able to
automatically disconnect clients that go inactive, so it isn't
strictly necessary that the client do a clean logout.

9. [CLIENT] Fixed the StringDialog class

The dialog used for entering a persona password when changing personas
was some broken, in that if you entered your password and hit return
it would fail, and in that on Windows, the dialog would come up with a
big scrollbar across the dialog.  Both of these have been fixed.

This change will also make it possible to hit enter in the last field
in a wizard to progress to the next.

One possible detriment to this change is that the main dialog class
used in the Ganymede client no longer includes a ScrollPane.. this
means that if a wizard dialog is given too much stuff, the dialog
might not be able to fit on the user's screen.. but no wizard dialog
should have that much stuff anyway.

Also made it so that if the StringDialog window is closed without
cancel being hit, the dialog treats that as a cancel request.

10. [SERVER] Fixed embedded object query handling

In dev5a and prior, the server would not return proper results if a
equality test query was made on an namespace-managed field in an
embedded object.  This caused corrupted results if you tried to
search for a system by IP address in the gash and gasharl schemas.

-------------------------------------------------------------------------------
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/
----------------------------------------------------------------------------