Re: I-D Action: draft-ietf-sieve-include-07.txt
Aaron Stone <[email protected]>
| Newsgroups | gmane.ietf.mta-filters |
|---|---|
| Message-ID | <CAEdAYKVrWGp5maNcdhrH5BnS=_7p3SGCUQc535GW7cazjRBb_w@mail.gmail.com> |
On Sat, Jul 9, 2011 at 8:42 AM, Alexey Melnikov <[email protected]> wrote: > Barry Leiba wrote: > >>>>> ## 'ISSUE' 3: >>>>> >>>>> I've had a few request and questions from users about having an >>>>> optional >>>>> include, i.e. an include directive that is skipped without error if >>>>> (and >>>>> only if) the to-be-included script does not exist. Do you find this a >>>>> useful >>>>> feature? If yes, is it possible to add this to the main draft now or >>>>> should >>>>> there be an 'include-optional' extension that adds an ':optional' tag >>>>> to >>>>> the >>>>> include command? >>>>> >>>> >>>> Oh, huh. I suppose at least a hack around this would be an empty script? >>>> >>> >>> Yes, but that will not be adequate in many situations. Do more people >>> have >>> thoughts on this? >>> >> >> I would support an ":optional" tag on "include", which would cause an >> error NOT to be generated if the included script doesn't exist. That >> should be an easy change to the text, and an easy thing for >> implementors to do. >> > > +1. I would like to see this being added as well. Here's the language I came up with, and updated ABNF. I realized that the way the ABNF was currently written, the tagged parameters to include had a specific order. I don't think this was intentional, but was just an artifact of there having been only one parameter when the ABNF was first written. === OLD === 3.2. Control Structure include Usage: include [LOCATION] [ONCE] <value: string> LOCATION = ":personal" / ":global" ONCE = ":once" ... The "location" parameter MUST default to ":personal" if not specified. The "location" has the following meanings: === NEW === 3.2. Control Structure include Usage: include *[PARAMETERS] <value: string> PARAMETERS = LOCATION / :once / :optional LOCATION = :personal / :global ... The "location" parameter MUST default to ":personal" if not specified. The "location" parameter MUST NOT be specified more than once. The "location" has the following meanings: ... The ":optional" parameter indicates that the script may be missing. Ordinarily, an implementation MUST generate an error at runtime if an include command specifies a script that does not exist. When ":optional" is specified, implementations MUST NOT generate an error for a missing script, and MUST continue as if the include command had not been present. I realize that the new ABNF allows more than one location parameter to by syntactically valid, so I added text that it cannot be specified more than once. I hope that's reasonable; if not, better ABNF is welcome. Given that the pre-meeting embargo begins at 17:00 Pacific time on Monday (tomorrow), I'm going to post the text above now, and we can discuss the details during the week. Cheers, Aaron _______________________________________________ sieve mailing list [email protected] https://www.ietf.org/mailman/listinfo/sieve