Jakarta Project: Reusable Dialog Components (RDC) Tag library
Revision History
07/29/2005 - Post 1.0 Development
This version adds an alpha implementation of a SCXML (State Chart XML)
engine. An alpha version of a SCXML dialog management strategy for the group
container is also provided.
Additions:
-
SCXML Engine - The W3C Voice Browser Working Group
recently announced the publication of the first Working
Draft of State Chart XML. SCXML provides a generic
state-machine based execution environment based on CCXML
and Harel State Tables. The SCXML WD is
here.
The RDC tag library has included an alpha of a SCXML engine
implementation.
The SCXML engine implementation is under development.
The major items that are yet unimplemented are:
- Multiple (simultaneous) targets for a single
transition (Section 3.3.1)
- Outgoing transitions from a parallel (Section 3.4)
- JOIN (Section 4.3)
- SYNCH (Section 4.4)
-
SCXML Dialog Management Strategy - An alpha version of
a dialog management strategy for the group container that works
off of a SCXML configuration document is also provided.
A demonstrative example in rdc-examples.war is:
07/20/2005 - 1.0
The RDC tag library has graduated out of sandbox with a 1.0 release.
06/12/2005 - Beta 1.3
This version adds some new components and subdialog support.
Additions:
-
New components - New RDCs have been added to support
payment capture capabilities. These include RDCs to collect
credit card numbers, expiry dates, and bill amounts, plus
a composite to collect multiple pieces of credit card
related information.
Example in rdc-examples.war is:
- creditcardAmount-test.jsp
- creditcardNumber-test.jsp
- creditcardExpiry-test.jsp
- creditcardInfo-test.jsp
-
Calling an RDC as a subdialog - JSPs hosting a RDC
component can now be called as VoiceXML subdialogs. Currently
support available for composites in distribution.
Example in rdc-examples.war is:
- subdialog-test/parent.jsp
- subdialog-test/subdialog.jsp
New RDC Tags:
-
<rdc:creditcardAmount> - Retrieves a currency value
augmented by grammars for minimum amount due, full balance etc.
-
<rdc:creditcardExpiry> - RDC with grammars geared
towards collecting credit card expiry dates i.e. (month, year) tuples.
-
<rdc:creditcardNumber> - RDC with grammars geared
towards collecting credit card numbers.
-
<rdc:creditcardInfo> - A composite RDC, allowing collection
of (credit card type, number, expiry, security code) tuples; and
flexibly any combination thereof using a mode switch.
05/25/2005 - Beta 1.2
This version primarily added i18n support.
Additions:
-
Internationalization - RDCs have been i18n'zed. Grammars
and default configuration files are read out of property files.
Locales can be set per RDC-based web application, and overridden
by individual RDCs as needed.
Example in rdc-examples.war is:
Modified RDC Tags:
-
All "component" tags - New attribute locale added
to all component tags.
05/04/2005 - Beta 1.1
This is a new features version.
Additions:
-
RDC Filter - Lightweight mechanism for (a)
Improving aesthetics of VoiceXML output and (b) Performing
platform adaptations to account for markup variations.
-
Graceful exit strategies - It is possible
to define a maximum number of <noinput> and
<nomatch> events after which the RDC will
gracefully exit with the appropriate exit status.
Issues addressed:
-
Initial Grammar - The initial grammar is now
an external resource.
03/08/2005 - Beta 1.0
This is a new features and sample apps version.
Major Additions:
-
Defining Custom Event tuples - It is possible
to leverage the VoiceXML support for user defined event
(name, grammar, handler) tuples. These tuples are
added to the RDC config file.
-
Dialog Context Switching - A recipe for switching
dialog contexts using the RDC framework i.e. having the ability
to leave a task undone, initiate and complete another task and
then come back to the earlier one, has been demonstrated.
Example in rdc-examples.war is login.jsp of the mortgage application.
The following steps were taken:
- A custom "pause" event was defined on the digits components
(via their config files, as mentioned above)
- A pause.jsp handler was authored (simple JSP hosting
<rdc:pause>)
- The "clearlist" attribute of <rdc:struts-submit> was
used with appropriate values
-
Multi-channel amazon application - This sample application
uses the Amazon Web Services to provide users with a Small Device GUI
-or- Voice User Interface for browsing through and buying
music albums. See revision history for Pre Beta 1.1 and Pre Beta 1.2
-
More documentation in rdc-doc.war
New RDC Tags:
-
<rdc:pause> - Pauses until the user resumes the
application.
Modified RDC Tags:
-
<rdc:struts-submit> - Added the ability to
selectively clear some or all of the RDC session state.
02/25/2005 - Pre Beta 1.2
Added GUI channel to Music Store sample application.
Additions:
-
Added GUI channel to Music Store sample application.
With the existing RDC based voice channel for the Music
Store sample application from Pre Beta 1.1, this illustrates
how multi-channel applications can be authored,
leveraging the RDC tag library for the speech channel.
One of the significant benefits of authoring speech
applications using RDCs is the potential reuse of the
higher layers of the application framework across channels.
Application uses the Amazon Web Services to provide
users with a Graphical -or- Voice User Interface for
browsing through and buying music albums. Get your own AWS
subscription ID and try it out!
View README in rdc-examples.war
02/12/2005 - Pre Beta 1.1
Added a RDC based Music Store sample application and meta-data files
for the components.
Additions:
-
Added RDC based Music Store sample application.
Application uses the Amazon Web Services to provide
users with a Voice User Interface for browsing
through and buying music albums. Get your own AWS
subscription ID and try it out! View README in rdc-examples.war
-
Added meta-data files for all components in distribution.
These files have an rdc extension and are for tooling consumption.
01/24/2005 - Pre Beta 1.0
This is a new features version. There have been a multitude
of code enhancements.
Major Changes Since Initial Version:
-
Rule based directed dialog strategy for rule
based dialog management using the <rdc:group>
container. Illustrates the benefits of having the ability
to plug in dialog management strategies at the group
level.
Examples in rdc-examples.war are:
- rulebased-conditions.jsp
- rulebased-nested.jsp
-
RDC template - A mechanism for rapid prototyping of
components in the RDC framework.
Example in rdc-examples.war is:
-
Better formalism for authoring components
-
More documentation in rdc-doc.war
New RDC Tags:
09/10/2004 - Development
Initial version of the RDC tag library. The RDC tag
library is in development, changes are fast and furious.