There are likely to be a number of simple but specialized objects needed for various projects. For example, the WebPals MOO activity needs a of component that shows two cmponents separated by a split pane or possibly presented in a grid layout. While we may eventually want a general "put mulitple objects together in a single component" object with a nice UI, we probably do not want to create a "first class" object for this without knowing more about other possible uses. (An embeddable button that opens an object in a conference frame would be another example.)

An alternative is to provide an object whose interactive (and web?) behavior is defined by JavaScript.
  • The script could be either internally defined or drawn from a TextData object elsewhere in the data space. This would allow a centralized repository of scripts in which bug fixes or functionality enhancements could be propagated across all objects that point to the script.
  • File system and network access will need to be restricted.
  • The scriptable object's CV will need to include menus for setting the script source. It should, however, also be possible to define menus in the script, so there will need to be a way to suppress the standard menus. Options include:
    • Supporting a global switch in (e.g.) the client's admin menu that would turn these menus on and off. This has the advantage of being local to a single client.
    • Supporting an optional method in the script that would allow the default menus to be enabled/disabled.
  • Data storage could be in the form of a shared map for strings. The CV wrapper could attach a map listener and invoke script methods if defined.
  • Utility methods in scriptable object. These will likely need at least a client reference, and should therefore be init'd by the CV wrapper, or implimented in an init script that is prepending to the user script:
    • Retrieving the object for a path
    • Starting/stopping sharing on an object
  • (resetting a cv while debugging)


/public/projects/bridge/design/Scriptable Objects Login | Web Editor | Full Editor
Last modified 9/11/03 1:19 PM by isenhour (history)
Site contents