This document documents open questions about the
component model that still need to be addressed.
- Handling Plugins
- Rendering Text (*Solved*)
Handling Plugins
Right now a ViewFormat specifies ClientType, FormatType, ScriptingType, and client
Locale...Need to figure out how we handle Plugin capabilities, like Flash, etc.
Rendering Text
One of the things we need to consider is whether or not we should expand the BText
component to support CData...this might be useful if someone wanted to set complex markup
data within a template.
Solution: This is fixed now--BText components
(or any component that uses BText) can return markup as part of the text string. The
markup will be converted to CData and rendered appropriately. Cool.
Improved Solution: (9/27/01)
Originally we implemented this to automatically insert all text using a CDATASection.
While this was great for when you wanted to include markup in text, it wasn't really very
well thought out: in tha majority of cases you are NOT going to want to be inserting
markup. So what happens if your text is something like "if x < y ..."? If we
are converting all text to markup, our DOM is hosed by the inclusion of an extra '<'.
The solution was to make the default for Text by standard data,
which will automatically be encoded. We still need to allow, however, for the scenario
where the developer wants to actually embed markup in text. The way we support this is by
having both BText and BLink implement a setAllowMarkupInText() method, which the developer
can set to 'true' to indicate that markup is allowed.
For an example of both of these in action, please refer to CompTest7.
|