Re: Z39.50 diagnostics in Init response

Hello Ray!

Please excuse me, a thousand pardons, but we actually do use Diag-1.

Specifically, when an Ovid origin gets an AccessControlRequest that uses
Prompt-1, and if the origin's human user hits the "Cancel" key (or if the
origin decides to act as if that happened), then the Ovid origin uses
Diag-1 to send an indication in the AccessControlResponse, telling the
target that the request is rejected because of what happened.

At the target end, when we process AccessControlResponse, we simply test
for the presence of DiagRec -- if DiagRec is present, then we say "hey, it
failed" and do not analyze the contents of DiagRec.  That is, our target
bags out long before it gets as far as caring about the difference between
the DefaultDiagFormat and the External within DiagRec.  We coded the more
elaborate structure at the origin end, thinking that non-Ovid targets might
be interested -- obviously, we guessed wrong.

Except as noted in the preceding two paragraphs, we don't use Diag-1 at
all.  Our target certainly doesn't send it in an InitResponse.  Our origin
ignores Diag-1 if it's in an InitResponse (presumably from a non-Ovid
target).

Going forward, I'm changing the Ovid origin software to send
DefaultDiagFormat instead of Diag-1in AccessControlResponse.  It's too late
to get the fix into the code that will surely be released in about 60 days
(hee hee), but it will be in the next major release after that.

Sorry for the delay in responding,
Kevin



                                                                                           
                    Ray Denenberg                                                          
                    <rden@loc.gov        To:     www-zig@w3.org                            
                    >                    cc:                                               
                    Sent by:             Fax to:                                           
                    www-zig-reque        Subject:     Re: Z39.50 diagnostics in Init       
                    st@w3.org            response                                          
                                                                                           
                                                                                           
                    05/22/2001                                                             
                    11:25 AM                                                               
                    Please                                                                 
                    respond to                                                             
                    rden                                                                   
                                                                                           
                                                                                           




Mike Taylor wrote:
     What's the problem here?  We agreed to deprecate it because we
     couldn't think of a way it was being used.  Now we've thought of a
     way, so let's not deprecate it.
The Diag-1 definition has two parts:
     (1)  "defaultDiagRec"
     (2) "explicitDiagnostic"
While the defaultDiagnostic part is useful, the explicit diagnostic part,
a long and elaborate ASN.1 representation of diagnostics, most everyone
agrees, is useless baggage. (And it's about 90% of the definition; the
default part was thrown in, literally, as an afterthought.)


Please correct me if I'm wrong on that latter point. It's been my
perception that it's not useful to anyone, and when I proposed (last
summer) to depricate it, nobody objected. We did expect it would be useful
when we defined it in 1994, but  I have never heard anyone say they've
implemented it.


So it seems unfortunate to have to carry along the baggage to retain the
useful part.  My point is, we don't have to.  Even though the "default"
part is useful, and its functionality is necessary, we have the
"General-diagnostic container" that also provides this functionality (and
more),  more directly and more elegantly.


We could keep both, but consider the drawbacks: (1) there would be two
different ways to provide a diagnostic container --  Diag-1 on an Init
response and General Container for encapsulation and (2) if we retain
Diag-1, we retain its elaborate ASN.1 definition of diagnostics that will
never be implemented, and that just adds to the perception of Z39.50 as a
bloated standard.


So what do people suggest we do?


If anyone has implemented the "explicit" part, then we'll re-instate the
full Diag-1 (that is, not depricate it).


Assuming not, if anyone has implemented the default part, then we could
re-define Diag-1, for the purpose of retaining the OID, removing the
explicit part.  If we do that, then we need to know: has anyone implemented
the Diagnostic Container? If not we could make Diag-1 a well-known object
and use it instead, where the Container is currently prescibed.


But if nobody has implemented any of Diag-1, please, let's just depricate
it.


--Ray


--
Ray Denenberg
Library of Congress
rden@loc.gov
202-707-5795

Received on Tuesday, 22 May 2001 17:40:54 UTC