[OAI-implementers] Re: [oai-alpha] Re: Help!

Hussein Suleman hussein@vt.edu
Mon, 29 Jan 2001 14:00:20 -0500


from the perspective of someone writing conformance tests, i am probably
going to use a 2-fold certification scheme, possibly calling the levels
"correct" and "robust" ... where correct implies that the repository
responds properly to correctly formatted requests and robust meaning
that the repository responds properly to incorrect requests ...

so, if your repository responds properly to all the verbs (with all the
correct parameter combinations) your repository will be "correct"

and, if you can handle erroneous requests gracefully, where illegal
combinations of arguments generate 400's and illegal values of arguments
generate either 400's or valid XML, then your implementation is "robust"
and you can add your archive to the repository explorer as a
demonstration archive.

i think since we didnt rigorously define what illegal parameter values
are, we need to be prepared to accept both 400's and empty responses as
correct since the interpretation is going to be archive-specific.

[disclaimer: of course this is not how it works at the moment - right
now the definitions are still fuzzy but i will change those as soon as i
see agreement emerging from this discussion.]

one more concern i have is about list sizes... validation is a wonderful
feature to have but more validation = more requests = more responses =
more record metadata ... for illustration, if i wrote a "good"
validation test (which, mind you i have not because of this exact issue)
for "ListRecords" i would need at least 4 metadata formats (default,
non-default, bad, missing), 8 date pairs (valid from, valid until, valid
both, from>until, invalid from, invalid until, invalid both, missing), 3
sets (valid, invalid, missing), 3 resumptionTokens (valid, invalid,
missing), etc ...

so without going into more combinatorial explosion math, its obvious
that testing is a delicate balance between correctness and denial of
service :)) ... i would like to provide more correctness testing and the
greatest obstacle to this is massive ListRecords/ListIdentifiers
responses from some repositories ... so, a plea to all out there: flow
control is a wonderful feature - lets all use it :)



hussein suleman -- hussein@vt.edu -- vt cs --