- From: RJ Auburn <rj@voxeo.com>
- Date: Mon, 31 Jan 2005 12:11:48 -0800
- To: Petr Kuba <kuba@optimsys.cz>, <www-voice@w3.org>
Petr, Once again thanks for this feedback. We will review these comments along with your previous ones in the working group shortly. RJ --- RJ Auburn CTO, Voxeo Corporation tel:+1-407-418-1800 On 01/31/2005 11:05, "Petr Kuba" <kuba@optimsys.cz> wrote: > > Dear Voice Browser Working Group, > > as we incorporate changes specified by the new version of the CCXML > working draft into the Optimtalk CCXML interpreter, new comments on > the draft appear. Please find these comments below. The numbering of > comments continues from our previous email (25 January 2005). > > Best regards, > > Petr Kuba, Senior software architect > OptimSys Ltd. > kuba@optimsys.cz > http://www.optimsys.cz > > > > PROBLEM 20: Wrong paragraph order > Location: 8.2 > > Rationale: > In the following paragraphs > 1. "It is illegal to make an assignment to a variable..." > 2. "Variables declared without an explicit initial value..." > 3. "Note that when an ECMAScript object..." > the explanation of referencing undeclared variables (paragraphs 1 and 3) > is interrupted by a different topic. > > Proposed solution: > Swap the paragraphs 1 and 2. > > --- > PROBLEM 21: Description of scopes > Location: 8.2.1.1, table with description of the scopes > > Rationale: > We find the descriptions in the table unprecise and the notices about > in what scope the variables are or are not explicitly declared more > confusing then helpful. The reason is that one can create variables in > each scope without explicit declaration using the > application.varname = value; statement in a script. > > We propose to state explicitly when a particular scope is created and > destroyed and whether variables can be created there only by assigning > a value to a property of the object representing the scope or also by > using <var> element or var statement within a <script>. > > It is also necessary to define what happens if we assign a value to a > non-existent property of the session object. It should be considered > an error since the purpose of separate session and application scopes > is to isolate variables defined by the platform and an application. > > session - original: > Variables within this scope are provided by CCXML implementation and > are read-only. They are visible to documents within the CCXML > application. See Section 8.3 for further details. > > Proposed change: > This scope is opened by CCXML implementation before interpretation of > a new session starts and exists until the session exits. Variables > within this scope are provided by CCXML implementation and are > read-only. As a consequence, an attempt to assign a value to an > existing variable within this scope will be ignored. An attempt to > assign a value to a non-existent property of the session object > (session.varname = value;) causes an error.semantic event to be > thrown. > > application - original: > Variables within this scope are not explicitly declared and can be > modified by CCXML programs. They are visible to documents within the > CCXML application. See Section 8.4 for further details. > > Proposed change: > This scope is opened by CCXML implementation before interpretation of > a new session starts and exists until the session exits. Variables > within this scope cannot be explicitly declared using <var> element or > var statement within a <script>. They can be created only by assigning > a value to a property of the application object > (application.varname = value;). Unlike in the session scope, variables > in this scope can be modified by CCXML programs. They are visible to > documents within the CCXML application. > > ccxml - original: > Variables within this scope are declared with <var> and <script> > elements that are children of <ccxml>. They are initialized in > document order when the document is loaded. They exist while the > document is loaded. They are visible only within that document. > > Proposed change: > This scope is opened by CCXML implementation for each CCXML document > when it is loaded and exists while the document is loaded. Variables > within this scope are declared with <var> and <script> elements that > are children of <ccxml>. They are initialized in document order when > the document is loaded. They exist while the document is loaded. They > are visible only within that document. Variables in this scope can be > also created without an explicit declaration by assigning a value to a > property of the ccxml object (ccxml.varname = value;). > > transition - original: > Each <transition> element has a scope that exists while the > implementation is processing the executable content within that > <transition>, and which is visible to the elements of that > <transition>. Variables with transition scope are declared by <var> > and <script> child elements of <transition>. The child <var> and > <script> elements of <transition> are initialized in document order > when the executable content is executed. > > Proposed change: > Each <transition> element has a scope that exists while the > implementation is processing the executable content within that > <transition>, and which is visible to the elements of that > <transition>. Variables with transition scope are declared by <var> > and <script> child elements of <transition>. The child <var> and > <script> elements of <transition> are initialized in document order > when the executable content is executed. Variables in this scope can be > also created without an explicit declaration by assigning a value to a > property of the transition object (transition.varname = value;). > > --- > PROBLEM 22: ECMAScript session context > Location: 8.3 > > Rationale: > The third paragraph says: "session is a top level object inside the > ECMAScript session context." It is not completely clear what is > meant by ECMAScript session context. It is probably meant ECMAScript > execution context and its associated scope chain (as defined in > chapter 10 of ECMAScript spec) and the fact that the session object > is the top of the scope chain. We think this is quite clear from > preceding text and that the cited sentence is confusing. > > Proposed change: > Omit the cited sentence. > > --- > PROBLEM 23: ECMAScript session context > Location: 8.4 > > Rationale: > The second paragraph says: "application is a top level object inside > the ECMAScript session context." It seems to be a cut'n'paste typo. > Otherwise, the same rationale applies as in the previous problem. > > Proposed change: > Omit the cited sentence. > > --- > PROBLEM 24: Destroying Connection Objects automatically. > Location: Section 10.2.1 > > Rationale: > Connection Object is destroyed after it has reached the DISCONNECTED, > FAILED or ERROR states. Platforms must maintain a Connection Object > through the <transition> for the corresponding event. The document > lists these events but it misses connection.redirected and > connection.merged, which cause transition to the given states. > > Original: > Platforms are responsible for deciding when to remove unused Connection > Objects, however platforms MUST maintain a Connection Object at least > through the <transition> for the corresponding connection.disconnected, > connection.failed or error.connection event. > > Proposed change: > Platforms are responsible for deciding when to remove unused Connection > Objects, however platforms MUST maintain a Connection Object at least > through the <transition> for the corresponding connection.disconnected, > connection.failed, connection.redirected, connection.merged or > error.connection event. > > --- > PROBLEM 25: Wrong event value in the "Transitions from CONNECTED" table > Location: 10.2.1 > > Rationale: > In the first row of the "Transitions from CONNECTED" table (for the > Action value "connection.disconnected") the value of the Event column > should be "connection.disconnected". It seems to be a kind of > cut'n'paste typo. > > Original: > connection.progressing > > Proposed change: > connection.disconnected > > --- > PROBLEM 26: Missing description of transitions for error.merge event > Location: 10.2.1 > > Rationale: > The event error.merge is not listed anywhere in the tables of > transitions. Please specify transitions for this event. If > Connection transitions to the ERROR states due to this event then > PROBLEM 24 applies to it. > > --- > PROBLEM 27: <merge> and 'error.merge' attribute/field names > Location: 10.5.10.3, 10.6.19 > > Rationale: > CCXML tags should have the same attribute names if they represent the > same information. Since attributes 'id1' and 'id2' are used everywhere > (e.g. <join> and <unjoin> tags) we think that the same names should be > used in the <merge> tag and 'error.merge' event. > > Original attribute/field names: > connectionid1, connectionid2 > > Proposed change: > id1, id2 > > >
Received on Monday, 31 January 2005 20:12:44 UTC