- From: Saveen Reddy (Exchange) <saveenr@Exchange.Microsoft.com>
- Date: Mon, 8 Dec 1997 21:07:16 -0800
- To: "'www-webdav-dasl@w3.org'" <www-webdav-dasl@w3.org>
There seems to have been some problem with the original submission. I'm
received complaints that people are getting a truncated file (only two
pages of the total nine appear). So, I am submitting a corrected
version: draft-reddy-dasl-requirements-01.txt
As soon as I get back in town (Wednesday morning -- Dec. 10) I will
update the DASL web pages to point to the correct version of the
document.
I am also including the complete text of the draft below so that people
can see this immediately.
Thanks,
Saveen
----
S. Reddy
INTERNET-DRAFT Microsoft Corporation
draft-reddy-dasl-requirements-00.txt November 19, 1997
Expires May 24, 1998
Requirements for DAV Searching and Locating
Status of this Memo
This document is an Internet draft. Internet drafts are working
documents of the Internet Engineering Task Force (IETF), its areas
and its working groups. Note that other groups may also distribute
working information as Internet drafts.
Internet Drafts are draft documents valid for a maximum of six
months and can be updated, replaced or obsoleted by other
documents at any time. It is inappropriate to use Internet drafts
as reference material or to cite them as other than as "work in
progress".
To learn the current status of any Internet draft please check the
"lid-abstracts.txt" listing contained in the Internet drafts
shadow directories on ftp.is.co.za (Africa), nic.nordu.net
(Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
coast) or ftp.isi.edu (US West coast). Further information about
the IETF can be found at URL: http://www.ietf.org/
Distribution of this document is unlimited. Editorial comments
should be sent to the author (saveenr@microsoft.com).
Abstract
The Distributed Authoring and Versioning protocol [WEBDAV] defines
simple mechanisms to assign and retrieve values for properties.
This document presents a list of features in the form of
requirements for a DAV Searching and Locating (DASL) protocol, an
extension that improves the efficiency and utility of searching
operations for resources whose properties or content meet client-
defined criteria.
INTERNET DRAFT Requirements for DAV Searching and Locating 1
Requirements for DAV Searching and Locating November 1997
1 Introduction
The DAV methods INDEX, PROPFIND, and the HTTP 1.1 method GET are
sufficient to allow a client to locate those resources that meet a
set of conditions on their properties or content. However, these
methods are inefficient for some simple, common search scenarios.
For example, in a typical publishing environment a client may wish
to find "all the text documents modified within the last week."
DAV clients must repeatedly invoke the INDEX and PROPFIND methods
to traverse the server namespace, retrieve property values, and
then determine which resources meet the criteria. This procedure
is a functional solution. However, it has several limitations.
First, this procedure makes inefficient use of network resources.
The client must repeatedly invoke the INDEX method to recurse the
server namespace. Likewise, repeated calls to PROPFIND are
required for all of the resources that are being examined,
resulting in the transmission of data even for resources that will
fail to meet the criteria.
Second, it makes inefficient use of server intelligence. Servers
capable of supporting a criteria-based search for resources can
use well-defined mechanisms to expedite the generation of the
results. These techniques include caching of intermediate search
results and the use of indices. If the logic is left solely to the
client, neither client nor server can take advantage of these
features.
Third, this simple DAV search procedure cannot efficiently search
the content of resources. To search content would require a DAV
client to retrieve the entire content of each resource that is to
be examined.
These limitations are severe enough for even simple search
scenarios that DAV needs extensions to specifically address them.
INTERNET DRAFT Requirements for DAV Searching and Locating 2
Requirements for DAV Searching and Locating November 1997
2 Terminology
Search Criteria - a set of conditions that must be true for a
resource to be included in the search result.
Result Set - the set of result records transmitted to the client
as the response for a search request.
Result Record - a unit of information appearing in the result set.
Each Result Record corresponds to a specific resource that meets
the search criteria.
Search Scope - the set of resources to be searched.
In addition to the terms defined above, this document uses the
terminology consistent with the HTTP 1.1 specification [HTTP] and
the WEBDAV specification [WEBDAV]
INTERNET DRAFT Requirements for DAV Searching and Locating 3
Requirements for DAV Searching and Locating November 1997
3 Requirements
3.1 Search Criteria
3.1.1 Boolean Expressions
It must be possible to use Boolean operators (AND, OR, NOT) in the
search criteria.
Often criteria involve the evaluation of several conditions
simultaneously. For example, a stereotypical query might ask for
"those documents modified by user X within some period of time Y."
Boolean operations are necessary to provide support for these
common queries.
3.1.2 Relative Comparisons
It must be possible to specify criteria on ordered relations such
as "less than" or "greater than" for property values.
Many common searches involve relative comparisons. For example, a
stereotypical query might ask for "those documents under 10K in
size". Relational operations are necessary to provide support for
these common queries.
3.1.3 Simple Searches on Content
It must be possible to perform simple searches on content of any
media type.
Searching for specific content inside a resource is a common
operation. Examining resource content is generally less efficient
than examining only the resource's properties because the size of
the content is generally much larger than that of the properties.
DASL must provide a mechanism to provide searching on content of a
resource to provide for this scenario.
3.1.4 Variants
It must be possible for searches to occur across multiple variants
of resource and to target specific variants.
The WEBDAV working group is addressing the standardization of
mechanisms for authors to use when submitting variants to the
server. DASL must provide mechanisms that can intelligently query
on those variants.
3.1.5 Exact Matching
It must be possible to specify exact content matches, and the
absence of an exact content match.
INTERNET DRAFT Requirements for DAV Searching and Locating 4
Requirements for DAV Searching and Locating November 1997
3.1.6 Regular Expression Matching
It must be possible to specify a search with matching operators
with the expressive power of regular expressions.
The power and frequent use of the Unix utility "grep" highlights
the value of regular expressions for searching large bodies of
content.
3.1.7 NEAR operator
It must be possible to specify searches for content matches of
terms that are near each other within a document.
3.2 Results
3.2.1 Result Record Definition
The client must be able to identify the properties or content of
interest for the result records.
Search criteria and search result records may not overlap. For
example, a query might ask for "the authors of those documents
under 10K in size". In this case, the criterion relates to the
size, but the desired result record relates only to the author.
3.2.2 Standardized Results Format
DASL must define a standard format for search results.
For the sake of interoperability, it is desirable that server
result formats be standardized so that regardless of the type of
query syntax used, clients are guaranteed to successfully
understand the results of a query.
3.2.3 Paged Search Results
DASL search results must be conducive to paged retrieval.
Paged retrieval is necessary if result sets are very large and if
clients must also present a responsive interface to a user. In
this scenario clients need to access portions of the search result
at specific times. DASL search results must be defined so that
paged search results are possible.
3.3 Search Qualifiers
3.3.1 Search Scope
It must be possible for the client to specify a number of
different, unrelated URIs over which the search is to range.
INTERNET DRAFT Requirements for DAV Searching and Locating 5
Requirements for DAV Searching and Locating November 1997
3.3.2 Search Depth
It must be possible for the client to specify the "depth" of a
search for a search scope URI.
Users often intend to scope their searches either to the immediate
children of a container or to extend the search recursively to the
container's children. Furthermore, depth control is needed to
prevent servers from performing unnecessary work.
3.3.3 Search References
It must be possible for the server to refer the client to other
resources in order to continue a search.
For example, a client may ask the resource http://ren/stimpy to
perform a search over http://foo/bar and http://blah/mumble.
However http://ren/stimpy may not be able to perform the search
itself and so will need to be able to inform the client that it
should submit its search request directly to http://foo/bar and
http://blah/mumble.
3.4 Search Query Syntax
3.4.1 Simple Query Syntax
The DASL extensions must define a query syntax that provides
simple searching functionality.
For the sake of interoperability, DASL servers must be expected to
offer a basic set of searching capabilities. Likewise, clients
need a standard, simple syntax by which to access those
capabilities.
3.4.2 Extensible Query Syntax
DASL extensions must support the extensible use of alternate query
syntax.
Servers that support searching capabilities may wish to expose
those capabilities through DASL. This may be the case if the
simple query syntax is not robust enough to support the server's
capabilities.
3.4.3 Query Syntax Discovery
It must be possible for clients to discover which syntaxes a
server supports.
If a server is capable of supporting several search syntaxes, the
client needs to determine which syntaxes are supported.
INTERNET DRAFT Requirements for DAV Searching and Locating 6
Requirements for DAV Searching and Locating November 1997
3.5 Authentication
The DASL specification should state how the DASL extensions to
WEBDAV interoperate with existing authentication schemes, and
should make recommendations for using those schemes.
3.6 Access Control
The DASL specification should state how the DASL extensions to
WEBDAV interoperate with the ACL mechanisms supported by WEBDAV,
and should make recommendations for using those schemes.
3.7 Internationalization
DASL extensions must describe how to perform searches on
internationalized content and properties. Information intended for
user comprehension must conform to the IETF Character Set Policy
[CHAR].
INTERNET DRAFT Requirements for DAV Searching and Locating 7
Requirements for DAV Searching and Locating November 1997
4 References
[CHAR] H.T. Alvestrand, "IETF Policy on Character Sets and
Languages", June 1997, internet-draft, work-in-progress, draft-
alvestrand-charset-policy-02.txt.
[HTTP] R. Fielding, J. Gettys, J. C. Mogul, H. Frystyk, and T.
Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2068,
U.C. Irvine, DEC, MIT/LCS, January 1997.
[WEBDAV] Y. Y. Goland, E. J. Whitehead, Jr., A. Faizi, S. R.
Carter, D. Jensen, "Extensions for Distributed Authoring and
Versioning on the World Wide Web", October, 1997, internet-draft,
work-in-progress, draft-ietf-webdav-protocol-04.txt.Authors'
Addresses
INTERNET DRAFT Requirements for DAV Searching and Locating 8
Requirements for DAV Searching and Locating November 1997
5 Author's Addresses
Saveen Reddy
Microsoft Corporation
One Microsoft Way
Redmond WA, 9085-6933
EMail: saveenr@microsoft.com
Expires May 24, 1998
INTERNET DRAFT Requirements for DAV Searching and Locating 9
Received on Tuesday, 9 December 1997 00:03:53 UTC