Identifying the Right Approach

UIM pages can define the content of an application page in terms of fields, action controls, clusters, lists and other elements. UIM provides enough control to present the page content in ways that meet most presentation requirements. Alternatively, instead of using multiple fields in clusters and lists in a UIM page, a single field can be used in the UIM to anchor a custom widget that produces most of the HTML content of the page. Between these two bounding approachesdoing it all with UIM or doing it all with a widgetthere are several intermediate approaches. Where a requirement for customized presentation is identified, the developer needs to assess the necessary extent of that customization and how best to meet the requirement to minimize the complexity and effort required.

While the development of custom widgets provides greater control over the presentation of the content than UIM, this control comes at the cost of greater complexity. Trying to do everything from one widget by producing large amounts of HTML content can lead to significant long-term maintenance overheads. This is particularly so if the appearance of the content needs to be kept consistent with content produced from standard elements of a UIM page or with content from Cúram widgets. For example, if a custom widget attempts to produce HTML output that looks the same as that produced for a standard UIM CLUSTER, that may introduce a long-term requirement to repeatedly reverse engineer the potentially changing structure of that HTML. The HTML structure and CSS produced by the CDEJ is subject to change and it cannot be guaranteed that customizations that depend on this HTML structure or CSS styling will continue to work when the Cúram application is upgraded. Therefore, while a custom widget could present all of the page content, it is usually best to limit what the custom widget produces and to produce as much of the content as possible using UIM.

Attempt to meet the presentation requirement by selecting the first approach listed below capable of meeting the requirements. These approaches are listed in order of increasing complexity and are described more fully in the following sections.