Differential extensibility versus override extensibility in the web UI framework

There are various differences between differential extensibility and override extensibility. Some of these differences can be seen in the Scope of Changes, Recommended Usage, and Extensible Layers.

Area Differential Extensibility Override Extensibility
Scope of Changes Individual screen components. Entire screen.
Screen Actions
  • Add component
  • Change component
  • Hide a component present in an out-of-the-box screen
  • Remove a component or a component property added using the Extensibility Workbench
  • Override default field labels
  • Customize theme
Replace entire screen.
Recommended Usage When screen requires minor enhancements with little behavioral change.

When screen requires complex enhancements, such as removing controls or changed business use cases.

After an upgrade, if you are not interested in the enhancements in an out-of-the-box screen, this method is recommended.

Tool Extensibility Workbench Designer Workbench
Runtime Application Extensions are applied to the functionality of the application. Functionality that is extended is completely replaced. Both the functionality and the UI layout and/or appearance are replaced (if required).
Upgrade Issues Increases upgrade flexibility, because original screen does not change, making individual extensions to the screen easier to apply. An extensible screen adheres to the extensibility guidelines, such as unique IDs. These IDs should not be absent from the upgraded screens.

Might increase upgrade time, especially if there are upgrade-related source code changes in the application that relate to overridden screen.

The added code for XAPI mashups that are used for a new screen (if any) would be affected with the changes in the database tables or source code.

Extensible Layers
  • Presentation layer (UI)
  • XAPI mashup layer
  • Presentation layer (UI)
  • XAPI mashup layer
  • Non-XAPI mashup layer
  • Struts layer
Screen File Management
Extensions are stored in a different file from the files of the screen being extended. This different file must be a new JavaScript file that must be created by the user. This new JavaScript file must be included in the application using JSB definitions.
  • Base screens extend the sc.plat.ui.ExtensibleScreen class.

    These screen definitions have an identifier that is unique across the application.

  • Screen extensions extend the sc.plat.ui.Extension class.

    These extensions are registered with the Web UI Framework extension registry for the base screen's identifier.

Screen files are completely replaced.

New Java™ Server Page (JSP) files override base JSP files. These JSP files can be designed in the Designer Workbench or from another source.