XForms Future Features
XForms Future Features
Features that could make it into 2.0
- MIP functions
- User-defined model item properties
- bind function
- Initial sending of MIP events
- New UI events (added by Erik)
- Context information for UI events (added by Erik)
- Value changes upon instance replacement
- Variables in XPath
- AVTs
Moved from Future_Goals
- Better expression of default trigger
- Better DOM interface to expose all actions and to query states of UI controls
- AJAX programmer APIs (same as above?)
- submissions that put and get binary resources
- Ability to suppress RRRR on submission completion and/or initialization
- Lazy authoring improvement: empty instance exists even if no refs
- repeat and relevance/enabled/disabled (http://lists.w3.org/Archives/Public/www-forms/2009Mar/0007.html)
- submission to a "new" window
- XML Events 2
- Model improvements (optional, nested, external/src, exceptions)
- UI event notification improvements
- Revisit multiple instance delete issue
- Setting event contextinfo as part of dispatch
- Better upload control (better control of metadata, instant upload submission to server)
- Better support for submission and model patterns for multipage web apps
- Simplified repeat patterns
- Refactor dependencies to detect automatic rebuild conditions and reduce circular dependencies
- Consolidate recalculate and revalidate
- Structural calculates (like declarative insert/delete)
- XForms for HTML
Moved from XForms_Future_Features
- Multiple step undo (e.g. undo to last state)
- Templates of shadow data
- Co-related quantities
- multiple schemas targeting same namespace (e.g. allow inline schema to augment external schema; similar to having the internal one import the external one).
- View and Edit and Submit binary data
- Specific actions instead of general insert
- Allow IRIs for external schema locations
- General useability of IRIs
- Upcoming RFC for Human Readable Resource Identifiers
- Add XML 1.1 support for i18n
- Add ITS Rule file
- Wiki Markup for XForms (Creation of interactive content)
- Drive UI (presentation) properties from data and calculates
- xforms-value-changed context info for node changed
- Annotations - standardized ways to add complex content to a textarea
- Fix select1 so that it can allow multiple items with the same value to be selected simultaneously as well as one that restricts to only one item that matches.
Componentization
- Nested models for convenient grouping and composition (Strawman - Charlie and Mark)
- Form apps as components
- Duplicate Form App modularization
- Inter-model data exchange
- XBL integration (Erik's note: I would use the more general term "Components" to describe the high-level feature. We may or may not use XBL to support components.)
Model
- Better expression of conditional default values
- Generalized Constraints in Document
- Includes A document() function
- Should include a here() function
- Structural Constraints
- International mail adresses
View
- Repeat pattern (Strawman - Steven)
- Wizard pattern
- Default trigger (Strawman - John)
- UI Controls that can manipulate XML subtrees, which includes
- Binding to optional elements Micah Dubinko request
- Arbitrary Attachment Capabilities, consisting of
- Multiple cases active for some kind of UI switch (like a switch-many)
- Should supercede: Indicating whether something is wrong with non-selected cases and non-relevant groups
- Sorting a view of data
- Consider data formatting in UI controls
- Supercedes "Let @value override single node binding on output"
Controller
- Dynamic add and delete of form controls, binds, bindings instances, schema
- Close Form - Close Document
- XForms Timer (capability available in 1.1 using delay on dispatch)
Submission
- Cancel submission
- Track submission progress
- Need binary data support for submission data and submission result
- Submission some kind of better filtering than relevance that affects only submission and not the UI
- HTTP Authentication
- Session mgmt/Large cookies/Save and Reload
- Better control of headers on instance src
Foundations
- Need ability to conditionally cancel events (integrate XML Events 2.0)
XForms 3.0 Modularization
This includes new modules and refinement of some existing modules from XForms 1.2. New modules include the XML Signatures Module and the SCXML module. Refinements include updates to the Model module to allow pluggable schema engines and updates to the Instance module to allow pluggable reference engines and possibly data formats.
- The XForms message module MarkB and Steven
- message, help, hint, alert
- The XForms instance data module Charlie, Uli and John
- Include insert/delete/setvalue and "get (string) value"
- Parse, serialize
- Pluggable reference engine
- Includes Add support for multiple expression languages
- Supercedes Alignment with XPath 2.0
- Includes Add support for multiple expression languages
- May include pluggable data format, e.g. JSON data
- Data Properties module Uli and John
- MIP values/inheritance, overall validity, user-defined
- Model module (understands bind module, deferred updates, etc.)
- Bind Module (constraint, type, calculate, relevance, readonly, p3ptype, user-defined)
- Validation Module (includes pluggable schema engines)
- May include Schema attr on instance
- May include Validation attr on instance to control strict/lax/skip
- XForms actions module (include user-defined actions, deferred update)
- The XForms submission module
- User Interface module (combines Container and Atomic form control modules)
- Container Form Controls module (group, switch, repeat, user-defined)
- Input Form Controls module (input, textarea, select1, ..., user-defined)
- Output Form Control module
- The XForms label module
- UI binding module
- XML Signature module
- SCXML module
- May include or rely on user-defined actions