Using Only UIM

Before deciding to develop a custom widget, the developer should first assess if the required presentation can be achieved using the layout and styling capabilities supported by UIM. If the presentation requirement can be achieved using only UIM, there will be no need to develop a custom widget and time and effort can be saved.

UIM allows CLUSTER and LIST elements to be nested within other CLUSTER elements. The number of columns in a cluster can be controlled, as can the display of the titles of clusters and lists and of the labels of their contained FIELD elements. This flexibility can exploited to achieve quite complex page layouts. See the Cúram Web Client Reference Manual for more details on these UIM elements.

Many UIM elements also support a STYLE attribute that can be used to associate a custom CSS class with the HTML content generated in respect of those elements. The custom CSS class can define styles that control many aspects of the presentation. Fonts, background images, spacing, borders, colors and other aspects of the presentation can be customized easily. See the Cúram Web Client Reference Manual for more details on the use of the STYLE attribute and on the inclusion of custom CSS resources.

The developer may identify a UIM-only solution to the presentation requirement, but may need to apply this to many pages. Doing this one page at a time may not be desirable, particularly if later changes would also require that all of the pages be updated again. Using a UIM VIEW in a VIM file and including this view into many UIM files may meet this requirement.

If the requirement is to change the presentation of a field value in a significant way, rather than to change the page layout and/or make minor styling changes to the content, then this approach of using only UIM may not be sufficient. If the customization needs to be repeated across many pages in a way that cannot be accommodated by included views (VIM files), or in a way that imposes significant maintenance overheads, then this approach may also be insufficient. In those cases, a more advanced approach may be necessary, such as the reconfiguration of the standard widgets or the development of a new widget.