Subject: VQUERY extension proposal

From: Andrea Campi <[email-masked]>
Date: Mon, 5 Aug 2002 10:01:55 +0200

[Sorry, this is a partial repost; it was at the end of a long email and
somebody might have lost it.]

I also propose to change VQUERY to allow a VERSION property. This
allows a future draft to define extensions to the query language
while keeping backward and forward compatibility.

If you agree to this, then I think we should discuss whether or
not the QUERY-LEVEL should allow for a list.
To give you an example of what I'm talking about, let's say a future
draft defines substitution parameters in stored queries, so that
for instance it's possible to store (this is just an example!):

	BEGIN:VQUERY
	QUERYID;NAMESPACE=example.com:foo(date)
	QUERY:SELECT * FROM VEVENT WHERE DTSTART = ?date?
	END:VQUERY

	which would be then invoked as:

	BEGIN:VCALENDAR
	VERSION:2.0
	CMD:QUERY
	TARGET:relcal1
	BEGIN:VQUERY
	QUERYID;NAMESPACE=example.com:foo('20020708T000000Z')
	END:VQUERY

This could be name CAL-QL-EXT1. At a later time a new draft could
specify CAL-QL-EXT2, which doesn't imply CAL-QL-EXT1. It would be
most useful to be able to say:

	...
	BEGIN:VREPLY
	...
	QUERY-LEVEL:CAL-QL-1,CAL-QL-EXT2,my-extensions
	...
	END:VREPLY

Bye,
	andrea

-- 
Andrea Campi                              mailto:[email-masked]
I.NET S.p.A.                              http://www.inet.it
Direzione Tecnica - R&D			  phone: +39 02 32863 ext 1
v. Darwin, 85 - I-20019			  fax: +39 02 32863 ext 7705
Settimo Milanese (MI), Italy

---

From: Doug Royer <[email-masked]>
Date: Mon, 05 Aug 2002 09:13:58 -0600

> while keeping backward and forward compatibility.

I would think that when (if) ever we extend the QL, then
that would be the time to decide how to extend it? At that
time we can have a debate on if any extensions could/should/must be
compatible with existing queries? If they are compatible,
and as the query-level is in the get-capabability reply
from the CS, the CUA could tell without adding any
version information to the query.

FYI - there is no reason that your CS could not send
an X-MY-CAL-QL-EXT-1 in the get-capabiliteis reply so
that your CUAs could use any x- extensions your implementation
might want.